Struct.fieldName Method [AX 2012]
Returns the name of the item in the struct at the specified position.
The following example creates a struct from a container and then uses the Struct.fields method to iterate through the contents of the container. The fieldName method is used to test the name of each item in the struct, and a specific action is run depending on the value of this name.
boolean unpack(container packed)
{
Struct unpackedProperties;
container structCon;
Counter i;
[#currentList,structCon] = packed;
unpackedProperties = Struct::create(structCon);
for (i=1;i<=unpackedProperties.fields();i++)
{
switch (unpackedProperties.fieldName(i))
{
case #closedOk:
break;
case #PropertyCaption:
if (! dialogForm
|| dialogForm
&& ! dialogForm.form().design().caption())
this.caption(unpackedProperties.valueIndex(i));
break;
case #dialogFormname:
// Do nothing
break;
case #PropertyAlwaysOnTop:
this.alwaysOnTop(unpackedProperties.valueIndex(i));
break;
case #PropertyWindowType:
this.windowType(unpackedProperties.valueIndex(i));
break;
case #defaultButton:
this.defaultButton(unpackedProperties.valueIndex(i));
break;
default:
throw error(strfmt(
"@SYS67326",unpackedProperties.fieldName(i),
classId2Name(classidget(this))));
}
}
return true;
}
Community Additions
ADD
Show: