Bojensen Blogs

Automate Production Order Update Process Via X++ code in AX 2009 | stardynamicsax

Thus we can automate the Production Order Update process via X++ code in Ax2009.

1. Estimation:

static void PROD_Estimation(Args _args) { ProdTable prodTable; ProdMultiCostEstimation ProdMultiCostEstimation; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find("PROD000017551"); //init ProdStartup ProdMultiCostEstimation = ProdMultiCostEstimation::construct(new args()); //init default parameter RunBaseMultiParm::initParm(ProdMultiCostEstimation); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time ProdMultiCostEstimation.insert(prodTable, ProdMultiCostEstimation.defaultParmBuffer()); //Do update ProdMultiCostEstimation.run(); info(“Estimated”); }

2. Operation Scheduling:

static void PROD_OperationSchedule(Args _args) { ProdTable prodTable; ProdMultiSchedulingOperation ProdMultiSchedulingOperation; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find(“PROD000017551?); //init ProdStartup ProdMultiSchedulingOperation = ProdMultiSchedulingOperation::construct(new args()); //init default parameter RunBaseMultiParm::initParm(ProdMultiSchedulingOperation); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time ProdMultiSchedulingOperation.insert(prodTable, ProdMultiSchedulingOperation.defaultParmBuffer()); //Do update ProdMultiSchedulingOperation.run(); info(“Operation Scheduled”); }

3. Job Scheduling:

static void PROD_JobScheduling(Args _args) { ProdTable prodTable; ProdMultiStartUp prodMultiStartup; ProdMultiCostEstimation ProdMultiCostEstimation; prodMultiSchedulingJob prodMultiScheduling; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find(“PROD000017551?); //init ProdStartup prodMultiScheduling = ProdMultiScheduling::construct(ProdSchedMethod::JobScheduling); // prodMultiScheduling = prodMultiScheduling::construct(new args()); //init default parameter RunBaseMultiParm::initParm(prodMultiScheduling); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time prodMultiScheduling.insert(prodTable, prodMultiScheduling.defaultParmBuffer()); //Do update prodMultiScheduling.run(); info(“Scheduled”); }

4. Release:

static void PROD_Release(Args _args) { ProdTable prodTable; ProdMultiRelease ProdMultiRelease; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find(“PROD000017550?); //init ProdStartup ProdMultiRelease = ProdMultiRelease::construct(new args()); //init default parameter RunBaseMultiParm::initParm(ProdMultiRelease); // RunBaseMultiParm::initFromForm(prodMultiRelease,args); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time prodMultiRelease.insert(prodTable, prodMultiRelease.defaultParmBuffer()); //Do update prodMultiRelease.run(); info(“Released”); }

5. Start

static void PROD_StartUp(Args _args) { ProdTable prodTable; ProdMultiStartUp prodMultiStartup; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find(“PROD000017551?); //init ProdStartup prodMultiStartup = ProdMultiStartUp::construct(new args()); //init default parameter RunBaseMultiParm::initParm(prodMultiStartup); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time prodMultiStartup.insert(prodTable, prodMultiStartup.defaultParmBuffer()); //Do update prodMultiStartup.run(); info(“Started”); }

6.Report as Finished

static void PROD_ReportAsFinished(Args _args) { ProdTable prodTable; ProdMultiReportFinished ProdMultiReportFinished; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find(“PROD000017551?); //init ProdStartup ProdMultiReportFinished = ProdMultiReportFinished::construct(new args()); //init default parameter RunBaseMultiParm::initParm(ProdMultiReportFinished); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time ProdMultiReportFinished.insert(prodTable, ProdMultiReportFinished.defaultParmBuffer()); //Do update ProdMultiReportFinished.run(); info(“Report As Finished”); }

7. End

static void PROD_End(Args _args) { ProdTable prodTable; ProdMultiHistoricalCost ProdMultiHistoricalCost; ; //find ProdTable, not nessary in your case prodTable = ProdTable::find(“PROD000017551?); //init ProdStartup ProdMultiHistoricalCost = ProdMultiHistoricalCost::construct(new args()); //init default parameter RunBaseMultiParm::initParm(ProdMultiHistoricalCost); //parm ProdTable, you can do this muliple times in case you want to update //more than one production at a time ProdMultiHistoricalCost.insert(prodTable, ProdMultiHistoricalCost.defaultParmBuffer()); //Do update ProdMultiHistoricalCost.run(); info(“Ended”); }

 

Automate Production Order Update Process Via X++ code in AX 2009 | stardynamicsax

Comments are closed.