1.
[ExtensionOf(classStr(BomCalcJob))]
final class BomCalcJobBRU_Extension
#define.CurrentVersion(1)
#LOCALMACRO.CurrentList
useCalcDate
#ENDMACRO
2.
/// <summary>
/// Maintains state/version
/// </summary>
/// <returns>vesion and current list</returns>
private container currentPack()
{
return [#CurrentVersion, #CurrentList];
}
3.
/// <summary>
/// Maintains state/version
/// </summary>
/// <returns>vesion and current list</returns>
public container pack()
{
container packedClass = next pack();
return SysPackExtensions::appendExtension(packedClass, classStr(BomCalcJobBRU_Extension), this.currentPack());
}
4.
/// <summary>
/// Gets the state/version
/// </summary>
/// <param name = "_packedClass">container</param>
/// <returns>true, if it gets previous version</returns>
private boolean currentUnpack(container packedClass)
{
Integer version = RunBase::getVersion(packedClass);
switch (version)
{
case #CurrentVersion:
[version, #currentList] = packedClass;
break;
default:
return false;
}
return true;
}
5.
/// <summary>
/// Gets the state/version
/// </summary>
/// <param name = "_packedClass">container</param>
/// <returns>true, if it gets previous version</returns>
public boolean unpack(container _packedClass)
{
boolean result = next unpack(_packedClass);
if (result)
{
container currentState = SysPackExtensions::findExtension(_packedClass, classStr(BomCalcJobBRU_Extension));
//Also unpack the extension
if (!this.currentUnpack(currentState))
{
result = false;
}
}
return result;
}
No comments:
Post a Comment