Create a number sequence in a standard module
- Create new EDT
- Add a new code block to the loadModule in the NumberSeqModuleXXX class
- Add a new static method to the parameters table of the module to get the number sequence reference
[ExtensionOf(classStr(NumberSeqModuleCustomer))]
final class NumberSeqModuleCustTest_Extension
{
protected void loadModule()
{
NumberSeqDatatype datatype = NumberSeqDatatype::construct();
next loadModule();
datatype.parmDatatypeId(extendedTypeNum(TestId));
datatype.parmReferenceHelp(literalStr('Test ID'));
datatype.parmReferenceHelp(literalStr('Test ID'));
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);
}
}
[ExtensionOf(tableStr(CustParameters))]
final class CustParametersTest_Extension
{
client server static NumberSequenceReference numRefTestId()
{
return NumberSeqReference::findReference(extendedTypeNum(TestId));
}
}
Create a number sequence in a new module
· Add a new element to the NumberSeqModule base enum.
· Create a NumberSeqModule* class for our module.
· To add a new element to the NumberSeqModule Base Enum we can use an extension.
· Now we need to create a new class extends with NumberSeqApplicationModule
class NumberSeqModuleTest extends NumberSeqApplicationModule
{
protected void loadModule()
{
NumberSeqDatatype datatype = NumberSeqDatatype::construct();
datatype.parmDatatypeId(extendedTypeNum(TestId));
datatype.parmReferenceHelp(literalStr('Test ID'));
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);
}
public NumberSeqModule numberSeqModule()
{
return NumberSeqModule::Test;
}
[SubscribesTo(classstr(NumberSeqGlobal),delegatestr(NumberSeqGlobal, buildModulesMapDelegate))]
static void buildModulesMapSubsciber(Map numberSeqModuleNamesMap)
{
NumberSeqGlobal::addModuleToMap(classnum(NumberSeqModuleTest), numberSeqModuleNamesMap);
}
}
Job: (To load all module number sequences)
static void Test_NumSeqLoad(Args _args)
{
NumberSeqApplicationModule::loadAll();
}
Job: (To load all module number sequences)
static void Test_NumSeqLoad(Args _args)
{
NumberSeqApplicationModule::loadAll();
}