CoC of Pack() & unPack() For Batch Classes And Adding Variables In Standard Macro
[ExtensionOf(classStr(ReqTransPoMarkFirm))]
final class MyReqTransPoMarkFirm_Extension
{
private NoYesId booleanGroupBy;
#DEFINE.CurrentVersion(17)
#LOCALMACRO.CurrentList
booleanGroupBy
#ENDMACRO
public container pack()
{
container packedClass = next pack();
return SysPackExtensions::appendExtension(packedClass, classStr(MyReqTransPoMarkFirm_Extension), this.myPack());
}
private boolean myUnpack(container packedClass)
{
Integer version = RunBase::getVersion(packedClass);
switch (version)
{
case #CurrentVersion:
[version, #currentList] = packedClass;
break;
default:
return false;
}
return true;
}
private container myPack()
{
return [#CurrentVersion, #CurrentList];
}
public boolean unpack(container _packedClass)
{
boolean result = next unpack(_packedClass);
if (result)
{
container myState = SysPackExtensions::findExtension(_packedClass, classStr(MyReqTransPoMarkFirm_Extension));
//Also unpack the extension
if (!this.myUnpack(myState))
{
result = false;
}
}
return result;
}
}
final class MyReqTransPoMarkFirm_Extension
{
private NoYesId booleanGroupBy;
#DEFINE.CurrentVersion(17)
#LOCALMACRO.CurrentList
booleanGroupBy
#ENDMACRO
public container pack()
{
container packedClass = next pack();
return SysPackExtensions::appendExtension(packedClass, classStr(MyReqTransPoMarkFirm_Extension), this.myPack());
}
private boolean myUnpack(container packedClass)
{
Integer version = RunBase::getVersion(packedClass);
switch (version)
{
case #CurrentVersion:
[version, #currentList] = packedClass;
break;
default:
return false;
}
return true;
}
private container myPack()
{
return [#CurrentVersion, #CurrentList];
}
public boolean unpack(container _packedClass)
{
boolean result = next unpack(_packedClass);
if (result)
{
container myState = SysPackExtensions::findExtension(_packedClass, classStr(MyReqTransPoMarkFirm_Extension));
//Also unpack the extension
if (!this.myUnpack(myState))
{
result = false;
}
}
return result;
}
}
Comments
Post a Comment