|
Table Name
|
Table Description
|
|
SalesTable
|
The SalesTable table contains all sales order headers regardless of whether they have been posted.
|
|
SalesLine
|
The SalesLine table contains all sales order lines regardless of whether they have been posted.
|
|
InventDim
|
The InventDim table contains values for inventory dimensions.
|
|
static void SalesOrdersXppImport(Args _args)
{
#define.Customer(“US-001”)
#define.DeliveryDate(“1/1/2014”)
#define.ItemId(“M0001”)
#define.Qty(10)
#define.Unit(“ea”)
SalesTable salesTable;
SalesLine salesLine;
InventDim inventDim;
try
{
ttsbegin;
//Order header
salesTable.clear();
salesTable.initValue(SalesType::Sales);
salesTable.SalesId = NumberSeq::newGetNum(SalesParameters::numRefSalesId()).num();
salesTable.DeliveryDate = str2Date(#DeliveryDate, 213);
salesTable.CustAccount = #Customer;
salesTable.initFromCustTable();
if (salesTable.validateWrite())
{
salesTable.insert();
//Order line
inventDim.clear();
inventDim.InventSiteId = “1”;
inventDim.InventLocationId = “12”;
salesLine.clear();
salesLine.initValue(salesTable.SalesType);
salesLine.initFromSalesTable(salesTable);
salesLine.ItemId = #ItemId;
salesLine.initFromInventTable(InventTable::find(#ItemId));
salesLine.InventDimId = InventDim::findOrCreate(inventDim).inventDimId;
salesLine.SalesQty = #Qty;
salesLine.RemainSalesPhysical = salesLine.SalesQty;
salesLine.SalesUnit = #Unit;
salesLine.QtyOrdered = salesLine.calcQtyOrdered();
salesLine.RemainInventPhysical = salesLine.QtyOrdered;
salesLine.setPriceDisc(InventDim::find(salesLine.InventDimId));
if (salesLine.validateWrite())
{
salesLine.insert();
}
else
throw error(“Order line”);
}
else
throw error(“Order header”);
ttscommit;
}
catch
{
error(“Error!”);
return;
}
info(“Done!”);
}
|










