Wednesday, 12 June 2019

Number seq in D365

**add a method in parameter table by using Extension 

[ExtensionOf(tableStr(ProjParameters))]
final class ProjParameters_Extension
{
    client server static NumberSequenceReference numRefMKTONum()
    {
        return NumberSeqReference::findReference(extendedTypeNum(INTC_MTKONumber));
    }
}


**over ride load module method of numberSeqModule class by using COC

[ExtensionOf(classStr(NumberSeqModuleProject))]
final class NumberSeqModuleProject_Extension
{
    protected void loadModule()
    {
        NumberSeqDatatype datatype = NumberSeqDatatype::construct();
        next loadModule();
        datatype.parmDatatypeId(extendedTypeNum(INTC_MTKONumber));
        datatype.parmReferenceHelp(literalStr('MTKO Number'));
        datatype.parmWizardIsContinuous(false);
        datatype.parmWizardIsManual(NoYes::No);
        datatype.parmWizardIsChangeDownAllowed(NoYes::No);
        datatype.parmWizardIsChangeUpAllowed(NoYes::No);
        datatype.parmSortField(1);
        datatype.addParameterType(NumberSeqParameterType::DataArea, true, false);
        this.create(datatype);
    }


}

**create a runnable class and load num seq by using below code

class INTC_loadNumberSeq
{
    public static void main(Args _args)
    {
        NumberSeqModuleProject    project   =   new NumberSeqModuleProject();

        project.load();
        Info('loaded');

        //numberSeq           numSeq;
        //INTC_MTKONumber     seqId;

        //numSeq  =   numberSeq::newGetNum(ProjParameters::numRefMKTONum());

        ///info(numSeq.num());
         
    }


}

**Once sequence loaded Generate num seq from Organisation and administration module 

No comments:

Post a Comment