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;
    }

}

Comments

Popular posts from this blog

On clicked event of form button in D365 X++

Finding unit price of item from trade agreement through code AX X++

Create Sales Line Through Code AX X++ D365 Finance & Operations