Dynamics AX Blog - Dynamics AX 2012 - Page 17

RSS-Feed of this version
Release production order through codeDynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is released. If you want to update several production orders at the same time, you must invoke the ProdMultiRelease.insert() method per production order and pass the respective record of ProdTable.
static void prodRelease(Args _args) { ProdTable prodTable; ProdMultiRelease prodMultiRelease; prodTable = ProdTable::find("P000177"); prodMultiRelease = ProdMultiRelease::construct(new Args()); RunBaseMultiParm::initParm(prodMultiRelease); prodMultiRelease.insert(prodTable, prodMultiRelease.defaultParmBuffer()); prodMultiRelease.run(); } |
Cost estimate a production order through codeDynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is cost estimated. If you want to update several production orders at the same time, you must invoke the ProdMultiCostEstimation.insert() method per production order and pass the respective record of ProdTable.
static void prodCostEstimation(Args _args) { ProdTable prodTable; ProdMultiCostEstimation prodMultiCostEstimation; prodTable = ProdTable::find("P000160"); prodMultiCostEstimation = ProdMultiCostEstimation::construct(new Args()); RunBaseMultiParm::initParm(prodMultiCostEstimation); prodMultiCostEstimation.insert( prodTable, prodMultiCostEstimation.defaultParmBuffer()); prodMultiCostEstimation.run(); }
|
AX 2012: How to create a person in Global address book throgh codeUsing the following job you will be able to create a person in the global address book of Dynamics AX 2012. Please be aware, that a minimum of fields will be used and the so-called Record type has the value of "Person".
static void createPerson(Args _args)
{ AxDirPerson axDirPerson; AxDirPersonName axDirPersonName; FirstName firstName = "Firstname"; LastName lastName = "LastName"; axDirPerson = AxDirPerson::construct(); axDirPerson.validateInput(true); axDirPerson.continueOnError(true); // Validate fields without stopping error axDirPerson.parmName(strFmt("%1 %2", firstName, lastName)); axDirPerson.save(); axDirPersonName = new AxDirPersonName(); axDirPersonName.validateInput(true); axDirPersonName.continueOnError(true); // Validate fields without stopping error axDirPersonName.parmFirstName(firstName); axDirPersonName.parmLastName(lastName); axDirPersonName.parmPerson(axDirPerson.dirPerson().RecId); axDirPersonName.parmValidFrom(DateTimeUtil::minValue()); axDirPersonName.parmValidTo(DateTimeUtil::maxValue()); axDirPersonName.save(); } |
AX 2012: How to create a record in Global address book throgh codeUsing the following job you will be able to create a organization in the global address book of Dynamics AX 2012. Please be aware, that a minimum of fields will be used and the so-called Record type has the value of "Any".
Please note, that this type of record is only conditionally suitable for companies. This record type for exmaple controls the displayed fields in the vendor from. Furthermore, please be aware that - as far as i know - this Record type cannot be changed in Dynamics AX. static void createDirPartyTable(Args _args)
{ AxDirPartyTable axDirPartyTable; axDirPartyTable = AxDirPartyTable::construct(); axDirPartyTable.validateInput(true); axDirPartyTable.continueOnError(true); // Validate fields without stopping error axDirPartyTable.parmName( 'Name of Organization'); axDirPartyTable.parmNameAlias( 'Namealias'); axDirPartyTable.parmLanguageId( 'de-at'); axDirPartyTable.parmPartyNumber( '200000'); axDirPartyTable.save(); } |
AX 2012: How to create a company in Global address book throgh codeUsing the following job you will be able to create a organization in the global address book of Dynamics AX 2012. Please be aware, that a minimum of fields will be used and the so-called Record type has the value of "Organization".
static void createOrganization(Args _args)
{ AxDirOrganization axDirOrganization; axDirOrganization = AxDirOrganization::construct(); axDirOrganization.validateInput(true); axDirOrganization.continueOnError(true); // Validate fields without stopping error axDirOrganization.parmName( 'Name of Organization'); axDirOrganization.parmNameAlias( 'Namealias'); axDirOrganization.parmLanguageId( 'de-at'); axDirOrganization.parmPartyNumber( '100000'); axDirOrganization.save(); } |
Example of how to use RecordInsertListA short code example how to can create records in a table very performant way using RecordInsertList. Who does not know RecordInsertList, can learn more about here. static void HowToUseRecordInsertList(Args _args) { DMOPerfTest DMOPerfTest; RecordInsertList RecordInsertList; Counter c; FromTime fromTime = timeNow(); RecordInsertList = new RecordInsertList(tableNum(DMOPerfTest)); for (c=1;c<=10000;c++) { DMOPerfTest.clear(); DMOPerfTest.AccountNum = int2str(c); if(DMOPerfTest.validateWrite()) { RecordInsertList.add(DMOPerfTest); } } RecordInsertList.insertDatabase(); info(strFmt("Total time consumed: %1", timeConsumed(fromTime, timeNow()))); } |
|
|
|
|
|
|
Dynamics AX provides a framework, which can be used to update production orders to a specific status. In the example, a production order is started.
If you want to update several production orders at the same time, you must invoke the ProdMultiStartUp.insert() method per production order and pass the respective record of ProdTable.
{
ProdTable prodTable;
ProdMultiStartUp prodMultiStartUp;
prodTable = ProdTable::find("P000160");
prodMultiStartUp = ProdMultiStartUp::construct(new Args());
RunBaseMultiParm::initParm(prodMultiStartUp);
prodMultiStartUp.insert(prodTable, prodMultiStartUp.defaultParmBuffer());
prodMultiStartUp.run();
}