There will be also always a change needed for STD objects in D365 from client side. Today I'm telling you about adding a dialog field on RunBase batch classes where it should fetch the custom field value from local macros with STD buffer values in RunBase Macro current version level.
Here we create extension methods of pack and unpack methods in Extension of RunBase class.
Please find the below example to achive our task.
Example: We are adding a dialog field (Status) on InventQuarantineOrder_Scrap class
Please create Extension class of InventQuarantineOrder_Scrap using CoC and add below methods accorinding to your logic.
ExtensionOf(classStr(InventQuarantineOrder_Scrap))]
public final class InventQuarantineOrder_Scrap_Extension
{
private RecordStatus status;
#define.CurrentVersion(1)
#localmacro.CurrentList
status
#endmacro
[DataMemberAttribute]
public RecordStatus parmRecordStatus(RecordStatus _status)
{
status = _status;
return status;
}
public container pack()
{
container packedClass = next pack();
return SysPackExtensions::appendExtension(packedClass, classStr(InventQuarantineOrder_Scrap_Extension), this.packMyExtension());
}
public boolean unpack(container _packedClass)
{
boolean result = next unpack(_packedClass);
if (result)
{
container packedClassExtension = SysPackExtensions::findExtension(_packedClass, classStr(InventQuarantineOrder_Scrap_Extension));
//Also unpack the extension
if (!this.unpackMyExtension(packedClassExtension))
{
result = false;
}
}
return result;
}
private container packMyExtension()
{
return [#CurrentVersion, #CurrentList];
}
private boolean unpackMyExtension(container _packedClass)
{
Integer version;
if (typeOf(conPeek(_packedClass, 1)) == Types::Integer)
{
version = conPeek(_packedClass, 1);
}
else
{
version = RunBase::getVersion(_packedClass);
}
switch (version)
{
case #CurrentVersion:
[version, #currentList] = _packedClass;
break;
default:
return false;
}
return true;
}
}
Note: This logic is only related to get the values fromLocal Macro which we needed in the custom dialog field along with STd dialog fields. H@ppy D@xing!!
No comments:
Post a Comment