This post is machine-translated. The original post in german language can be found here.

Start production order through code

Screenshot

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.

 

static void prodStartUp(Args _args)
{
    ProdTable prodTable;
    ProdMultiStartUp prodMultiStartUp;

    prodTable = ProdTable::find("P000160");

    prodMultiStartUp = ProdMultiStartUp::construct(new Args());
    RunBaseMultiParm::initParm(prodMultiStartUp);
    prodMultiStartUp.insert(prodTable, prodMultiStartUp.defaultParmBuffer());

    prodMultiStartUp.run();
}
 

If you want to override the Default parameters, you may use the following peace of code as an example:

static void prodStartUpModifyParams(Args _args)
{
    ProdTable prodTable;
    ProdMultiStartUp prodMultiStartUp;
    ProdParmStartUp prodParmStartUp;
    ProdParmStartUp prodParmStartUpUpd;

    ttsbegin;
    prodTable = ProdTable::find("P000160");

    prodMultiStartUp = ProdMultiStartUp::construct(new Args());
    RunBaseMultiParm::initParm(prodMultiStartUp);

    prodParmStartUp= prodMultiStartUp.defaultParmBuffer();

    prodMultiStartUp.insert(prodTable, prodParmStartUp);

    // Overwrite parameters using hardcoded settings
    prodParmStartUpUpd = ProdParmStartUp::find(prodParmStartUp.ParmId, prodParmStartUp.ProdId, true);
    prodParmStartUpUpd.RouteAutoConsump = RouteAutoConsump::Never;
    prodParmStartUpUpd.bomAutoConsump   = BOMAutoConsump::Never;
    prodParmStartUpUpd.update();

    prodMultiStartUp.run();
    ttscommit;
}
 
These post applies to following version:
Dynamics AX 2012

Add comment
 
 

 

 
 
 
Posts of the actual month
März 2024
MoTuWeThFrSaSu
 123
45678910
11121314151617
18192021222324
25262728293031
 
© 2006-2024 Heinz Schweda | Imprint | Contact | German version | Mobile version
In order to provide you with better service, this site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.