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
Using Extension
[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.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();
}
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();
}
No comments:
Post a Comment