X++ Code to creating PO/Purchase Order
Here we use AXPURCHTABLE AND AXPURCHLINE class for creating purchase order and purchase line
static void createPO(Args _args)
{
PurchTable purchTable;
PurchLine purchLine;
InventDim inventDim;
NumberSeq numberSeq; //add by fanddy
AxPurchTable axPurchTable;
AxPurchLine axPurchLine;
//END //create PO Header
purchTable.clear();
purchTable.initFromVendTable(VendTable::find(TECPOGroupHeader.VendAccount ));
purchTable.DefaultDimension = InventTable::find(POGroupLine.ItemId).DefaultDimension; axPurchTable = axPurchTable::newPurchTable(purchTable);
axPurchTable.parmPurchId(NumberSeq::newGetNum(PurchParameters::numRefPurchId()).num());
axPurchTable.parmPurchaseType(PurchaseType::Purch);
axPurchTable.parmDocumentStatus(DocumentStatus::PurchaseOrder);
axPurchTable.parmAccountingDate(systemDateGet());
axPurchTable.parmDeliveryDate(systemDateGet());
axPurchTable.parmPurchStatus(PurchStatus::Backorder);
axPurchTable.save(); info(strFmt('Create PO %1', Purchtable.PurchId)); //create PO Line
purchLine.clear();
purchLine.initValue();
purchLine.initFromPurchTable(purchTable);
purchLine.initFromInventTable(InventTable::find(POGroupLine2.ItemId));
axPurchLine = AxPurchLine::newPurchLine(purchLine);
axpurchLine.parmItemId('YOUR ITEMID');
axPurchLine.parmPurchQty(YOUR QTY);
axPurchLine.parmPurchPrice(YOUR PRICE);
axPurchLine.parmInventDimId('YOUR INVENTDIMID');
axPurchLine.save(); }
{
PurchTable purchTable;
PurchLine purchLine;
InventDim inventDim;
NumberSeq numberSeq; //add by fanddy
AxPurchTable axPurchTable;
AxPurchLine axPurchLine;
//END //create PO Header
purchTable.clear();
purchTable.initFromVendTable(VendTable::find(TECPOGroupHeader.VendAccount ));
purchTable.DefaultDimension = InventTable::find(POGroupLine.ItemId).DefaultDimension; axPurchTable = axPurchTable::newPurchTable(purchTable);
axPurchTable.parmPurchId(NumberSeq::newGetNum(PurchParameters::numRefPurchId()).num());
axPurchTable.parmPurchaseType(PurchaseType::Purch);
axPurchTable.parmDocumentStatus(DocumentStatus::PurchaseOrder);
axPurchTable.parmAccountingDate(systemDateGet());
axPurchTable.parmDeliveryDate(systemDateGet());
axPurchTable.parmPurchStatus(PurchStatus::Backorder);
axPurchTable.save(); info(strFmt('Create PO %1', Purchtable.PurchId)); //create PO Line
purchLine.clear();
purchLine.initValue();
purchLine.initFromPurchTable(purchTable);
purchLine.initFromInventTable(InventTable::find(POGroupLine2.ItemId));
axPurchLine = AxPurchLine::newPurchLine(purchLine);
axpurchLine.parmItemId('YOUR ITEMID');
axPurchLine.parmPurchQty(YOUR QTY);
axPurchLine.parmPurchPrice(YOUR PRICE);
axPurchLine.parmInventDimId('YOUR INVENTDIMID');
axPurchLine.save(); }
Run this job now.
No comments:
Post a Comment