I am trying to finish a very simple integration regarding POs on GP 2015. We keep trying to send in POP PO XML that will contain ALL non-inventoried items. The PO is a message only from another system. Inventory is not involved at all
We try to send a line in with Qty = 1 and Price = 1 Subtotal = 1
The PO XML looks absolutely correct
Each time we try to send the PO in, we are met with an eConnect error:
Error Number = 370 Stored Procedure= taPoHdr Error Description = Subtotal (SUBTOTAL) does not match the line item totals
Node Identifier Parameters: taPoHdr
POTYPE = 1
PONUMBER = E000019
VENDORID = MOTIO
Related Error Code Parameters for Node : taPoHdr
SUBTOTAL = 1.00
This seems completely odd to me given the simplicity of the calculations. Can someone please help me understand why this is happening?
A serialized XML is also included:
<eConnect xmlns:dt="urn:schemas-microsoft-com:datatypes"><POPTransactionType><eConnectProcessInfo><ConnectionString>data source=sql123;initial catalog=ESC;integrated security=SSPI;persist security info=False;packet size=4096;Connect Timeout=10</ConnectionString></eConnectProcessInfo> <taPoHdr>
<PONUMBER>E000019</PONUMBER>
<POSTATUS>1</POSTATUS>
<STATGRP>1</STATGRP>
<POTYPE>1</POTYPE>
<USER2ENT>-</USER2ENT>
<CONFIRM1/>
<DOCDATE>2018-07-27T00:00:00</DOCDATE>
<PRMDATE>2018-07-27T00:00:00</PRMDATE>
<PRMSHPDTE>2018-07-27T00:00:00</PRMSHPDTE>
<REQDATE>2018-07-27T00:00:00</REQDATE>
<REQTNDT>2018-07-20T00:00:00</REQTNDT>
<TXRGNNUM/>
<SUBTOTAL>1.00</SUBTOTAL>
<TRDISAMT>0</TRDISAMT>
<FRTAMNT>0.00</FRTAMNT>
<MSCCHAMT>0.00</MSCCHAMT>
<TAXAMNT>0.00</TAXAMNT>
<VENDORID>MOTIO</VENDORID>
<VENDNAME>MOTION INDUSTRIES</VENDNAME>
<MINORDER>0.00</MINORDER>
<CMPANYID>1</CMPANYID>
<CMPNYNAM>ELLIOTT SAWMILLING CO. INC</CMPNYNAM>
<CONTACT>-</CONTACT>
<ADDRESS1>P.O. BOX 638</ADDRESS1>
<CITY>ESTILL</CITY>
<STATE>SC</STATE>
<COUNTRY>USA</COUNTRY>
<PHONE1>803.625.1947</PHONE1>
<PHONE2/>
<PHONE3/>
<BUYERID/>
<HOLD>0</HOLD>
<ALLOWSOCMTS>0</ALLOWSOCMTS>
<taPoLine_Items>
<taPoLine>
<LPONUMBER>E000019</LPONUMBER>
<LORD>1</LORD>
<LPOLNESTA>1</LPOLNESTA>
<LPOTYPE>1</LPOTYPE>
<LITEMNMBR>ACC0004</LITEMNMBR>
<LITEMDESC>47000-100-S1400</LITEMDESC>
<LVENDORID>MOTIO</LVENDORID>
<LVNDITNUM>BK 30-10N</LVNDITNUM>
<LVNDITDSC>ACCUM, KIT, BLADDER, 5GAL, 3000PSI</LVNDITDSC>
<LNONINVEN>1</LNONINVEN>
<LLOCNCODE>STOREROOM</LLOCNCODE>
<LUOFM>TEST</LUOFM>
<LQTYORDER>1</LQTYORDER>
<LQTYCANCE>0</LQTYCANCE>
<LUNITCOST>1.00</LUNITCOST>
<LREQDATE>2018-07-20T00:00:00</LREQDATE>
<LPRMDATE>2018-07-20T00:00:00</LPRMDATE>
<LPRMSHPDTE>2018-07-20T00:00:00</LPRMSHPDTE>
<LREQSTDBY>SUPERUSER</LREQSTDBY>
<LCOMMNTID/>
<LFREEONBOARD>1</LFREEONBOARD>
<LBSIVCTTL>0</LBSIVCTTL>
<LBCKTXAMT>0</LBCKTXAMT>
<LBackoutTradeDiscTax>0</LBackoutTradeDiscTax>
</taPoLine>
</taPoLine_Items>
</taPoHdr>
</POPTransactionType></eConnect>
*This post is locked for comments
Hello,
Thats problem in XML Schema you won't see "Specifed". On header and line level you need to make sure all required paramter specified. Below is code for header-
objtaPoHdr.SUBTOTALSpecified = true;
Line.
objtaPoLine_ItemsTaPoLine[i].UNITCOSTSpecified = true;
Thanks much
I don't see how to pass Subtotal = TRUE in POHdr in XML Schema... only how to pass the actual Subtotal
you need to pass specified for SubTotal = True on header and objtaPoLine_ItemsTaPoLine[i].UNITCOSTSpecified = true; for line?.
Yes it is there. I have done some digging on the XML that we were using and found a lot of little problems, however after correcting we are still getting the error. Please see updated serialized XML and not that the NONINVEN tag is there. Please ALSO note that If I set SUBTOTAL = 0 in POHdr, this goes in successfully with 0 Purchase Qty and 0 Unit Price
<POPTransactionType>
<taPoLine_Items>
<taPoLine>
<PONUMBER>E777777</PONUMBER>
<POLNESTA>1</POLNESTA>
<POTYPE>1</POTYPE>
<ITEMNMBR>ACC0004</ITEMNMBR>
<ITEMDESC>47000-100-S1400</ITEMDESC>
<VENDORID>MOTIO</VENDORID>
<VNDITNUM>BK 30-10N</VNDITNUM>
<VNDITDSC>ACCUM, KIT, BLADDER, 5GAL, 3000PSI</VNDITDSC>
<NONINVEN>1</NONINVEN>
<LOCNCODE>100</LOCNCODE>
<UOFM>EACH</UOFM>
<QTYORDER>1.0000</QTYORDER>
<QTYCANCE>0</QTYCANCE>
<UNITCOST>1.00</UNITCOST>
<REQDATE>2018-07-20T00:00:00</REQDATE>
<PRMDATE>2018-07-20T00:00:00</PRMDATE>
<PRMSHPDTE>2018-07-20T00:00:00</PRMSHPDTE>
<REQSTDBY>SUPERUSER</REQSTDBY>
<COMMNTID/>
<FREEONBOARD>1</FREEONBOARD>
<BSIVCTTL>0</BSIVCTTL>
<BCKTXAMT>0</BCKTXAMT>
<BackoutTradeDiscTax>0</BackoutTradeDiscTax>
</taPoLine>
</taPoLine_Items>
<taPoHdr>
<PONUMBER>E777777</PONUMBER>
<POSTATUS>1</POSTATUS>
<STATGRP>1</STATGRP>
<POTYPE>1</POTYPE>
<USER2ENT>-</USER2ENT>
<CONFIRM1/>
<DOCDATE>2018-07-27T00:00:00</DOCDATE>
<PRMDATE>2018-07-27T00:00:00</PRMDATE>
<PRMSHPDTE>2018-07-27T00:00:00</PRMSHPDTE>
<REQDATE>2018-07-27T00:00:00</REQDATE>
<REQTNDT>2018-07-20T00:00:00</REQTNDT>
<TXRGNNUM/>
<SUBTOTAL>1.00</SUBTOTAL>
<TRDISAMT>0</TRDISAMT>
<FRTAMNT>0.00</FRTAMNT>
<MSCCHAMT>0.00</MSCCHAMT>
<TAXAMNT>0.00</TAXAMNT>
<VENDORID>MOTIO</VENDORID>
<VENDNAME>MOTION INDUSTRIES</VENDNAME>
<MINORDER>0.00</MINORDER>
<CMPANYID>1</CMPANYID>
<CMPNYNAM>TEST CMPNY</CMPNYNAM>
<CONTACT>-</CONTACT>
<ADDRESS1>P.O. BOX 638</ADDRESS1>
<CITY>ESTILL</CITY>
<STATE>SC</STATE>
<COUNTRY>USA</COUNTRY>
<PHONE1>803.625.1947</PHONE1>
<PHONE2/>
<PHONE3/>
<BUYERID/>
<HOLD>0</HOLD>
<ALLOWSOCMTS>0</ALLOWSOCMTS>
</taPoHdr>
</POPTransactionType>
Hello,
You need to pass =1 for Non-Inventory Item.
NONINVEN |
i4 |
2 |
N |
0 |
0=Inventory item; 1=Non-inventory item |
Let me know how it goes.
Thanks much
Sandip
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,253 Super User 2024 Season 2
Martin Dráb 230,188 Most Valuable Professional
nmaenpaa 101,156