Hi Mick,
The item having location code in inventory table.
i am using eConnect to connect my .net application to the Dynamic GP
and below lines are code for creating sales order.
using (eConnectMethods eConnectMethods = new eConnectMethods())
{
taSopLineIvcInsert_ItemsTaSopLineIvcInsert[] LineItems = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert[lstItemsDet.Count];
SOPTransactionType salesOrder = new SOPTransactionType();
taSopHdrIvcInsert salesHdr = new taSopHdrIvcInsert();
int lineItemCount = 0;
foreach (var item in lstItemsDet)
{
taSopLineIvcInsert_ItemsTaSopLineIvcInsert salesLine = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert();
salesLine.CUSTNMBR = "PLAZAONE0001";
salesLine.SOPTYPE = 2;
salesLine.DOCID = "STDORD";
salesLine.QUANTITY = item.Quantity;
salesLine.ITEMNMBR = item.ItemNo;
salesLine.UNITPRCE = item.UnitPrice;
salesLine.XTNDPRCE = item.UnitPrice * item.Quantity;
salesLine.DOCDATE = objPODet.OrderDate;
salesLine.UOFM = "EACH";
salesLine.PRCLEVEL = "RETAIL";
salesLine.NONINVEN = 0;
salesLine.LOCNCODE = "WAREHOUSE";
LineItems[lineItemCount] = salesLine;
lineItemCount++;
}
salesHdr.CUSTNMBR = "PLAZAONE0001";
salesHdr.SOPTYPE = 2;
salesHdr.DOCID = "STDORD";
salesHdr.BACHNUMB = "BI";
salesHdr.DOCDATE = objPODet.OrderDate;
salesHdr.CUSTNAME = objPODet.CusterName;
salesHdr.ShipToName = objPODet.ShipTo_Name;
salesHdr.ADDRESS1 = objPODet.StreetNo;
salesHdr.CITY = objPODet.City;
salesHdr.STATE = objPODet.State;
salesHdr.ZIPCODE = objPODet.Zipcode;
salesHdr.COUNTRY = objPODet.Country;
salesHdr.SUBTOTAL = amount;
salesHdr.DOCAMNT = amount;
salesHdr.USINGHEADERLEVELTAXES = 0;
salesHdr.CSTPONBR = objPODet.OrderID;
salesOrder.taSopHdrIvcInsert = salesHdr;
salesOrder.taSopLineIvcInsert_Items = LineItems;
eConnectType eConnect = new eConnectType();
SOPTransactionType[] MySopTransactionType = new SOPTransactionType[1] { salesOrder };
eConnect.SOPTransactionType = MySopTransactionType;
// Serialize the master vendor type in memory.
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xmlSerializer = new XmlSerializer(eConnect.GetType());
// Serialize the eConnectType.
xmlSerializer.Serialize(memoryStream, eConnect);
// Reset the position of the memory stream to the start.
memoryStream.Position = 0;
// Create an XmlDocument from the serialized eConnectType in memory.
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(memoryStream);
memoryStream.Close();
// Call eConnect to process the XmlDocument.
eConnectMethods.CreateEntity(connectionString, xmlDocument.OuterXml);
}
Thanks and Regards
Vamsikrishna T