cancel
Showing results for 
Search instead for 
Did you mean: 

CSV2B1GRPO error?

Former Member
0 Kudos

I am trying to import data from a CSV file that holds many rows of Goods Receipt Purchase Orders (GRPO) through B1i to create GRPOu2019s in B1.

I am getting u201CB1out or BOM/BO or BS segment missing in receiver payload (handover to B1 not possible)u201D error message in the B1i Monitoring Message Log.

Below is my code. Any ideas? I have hard coded the values for testing purposes. I suspect that the child nodes are named incorrectly therefore data isnu2019t getting passed?

<b1im_multimsg xmlns="">
			<xsl:for-each select="$msg/row[position()&gt;0]">
				<B1out xmlsns="" type="object_full">
					<Control>
						<method>Insert</method>
						<objectid>20</objectid>
						<keyname>DocEntry</keyname>
					</Control>
					<Payload>
						<PurchaseDeliveryNotes>
							<rows>
								<CardCode>V1003</CardCode>
								<U_ORCFU_TRNO>123456</U_ORCFU_TRNO>
								<U_ORCFU_TMDT>2022012</U_ORCFU_TMDT>
								<U_ORCFU_TMID>774900</U_ORCFU_TMID>
								<U_ORCFU_TRTM>1410</U_ORCFU_TRTM>
							</rows>
							<Document_Lines>
								<Document_Line>
									<rows>
										<ItemCode>&apos;A1005&apos;</ItemCode>
										<ItemDescription>&apos;Unleaded&apos;</ItemDescription>
										<PriceAfterVAT>2.66</PriceAfterVAT>
										<Quantity>20</Quantity>
										<Currency>&apos;US&apos;</Currency>
										<DiscountPercent>5</DiscountPercent>
									</rows>
								</Document_Line>
							</Document_Lines>
						</PurchaseDeliveryNotes>
					</Payload>
				</B1out>
			</xsl:for-each>
		</b1im_multimsg>

Accepted Solutions (1)

Accepted Solutions (1)

Eneveux
Product and Topic Expert
Product and Topic Expert
0 Kudos

This was answered in another post by Mike.

Answers (1)

Answers (1)

Former Member
0 Kudos

Well, I have made progress toward creating a GRPO through B1i. I still am experiencing an issue and it may be a bug in B1i or B1?

When the scenario starts outputting the data to B1, it errors out and rolls back indicating the ItemCode isn't present in the incoming data. However, when I check the data that is being passed by viewing the message in the Monitor Log, it clearly shows the ItemCode.

I have checked, copy & pasted all codes directly from in B1 to the xml to verify integrity and I get the same error message.

Below is my code, I believe all the required fields are present for adding a GRPO according to the DI API Help File. Is this a BUG in B1/B1i?

The error message:

 Exception : DI Error: (-5002) Item no. is missing [PDN1.ItemCode][line: 1]

Any suggestions are deeply appreciated.

Mike

<xsl:template name="transform">
<b1im_multimsg xmlns="">
<xsl:for-each select="$msg/row">
<b1im_msg>
<B1out type="object">
<PurchaseDeliveryNotes>
<row>
<CardCode>
<xsl:value-of select="col[1]"/>
</CardCode>
</row>
</PurchaseDeliveryNotes>
<Document_Lines>
<AcctCode>
<xsl:value-of select="&apos;_SYS00000000010&apos;"/>
</AcctCode>
<ItemCode>
<xsl:value-of select="col[2]"/>
</ItemCode>
<WhsCode>
<xsl:value-of select="&apos;01&apos;"/>
</WhsCode>
<Quantity>
<xsl:value-of select="col[3]"/>
</Quantity>
<BaseCode>
<xsl:value-of select="col[1]"/>
</BaseCode>
</Document_Lines>
</B1out>
</b1im_msg>
</xsl:for-each>
</b1im_multimsg>
</xsl:template>

Edited by: Mike Hardwick on Feb 9, 2012 9:06 PM

Edited by: Mike Hardwick on Feb 9, 2012 9:08 PM

Former Member
0 Kudos

Hi Mike,

Can you past the inbound message into that? It looks like you're probably getting an empty (or item that doesn't exist) value for col[2]

Cheers,

Jon

Former Member
0 Kudos

Hi Jon, thanks for your reply.

As I have mentioned before, I hard coded the data into the xml to test your idea with the same error message. See Below the message from the Monitoring error Log:

<?xml version="1.0" encoding="UTF-8"?>

-<Msg exceptionmsg=" Exception : DI Error: (-5002) Item no. is missing [PDN1.ItemCode][line: 1]" b1status="failure" b1msg=" 
Exception : DI Error: (-5002) Item no. is missing [PDN1.ItemCode][line: 1]" DelMessageId="1" BackMessageId="1_2" 
MessageLog="true" msglogexcl="false" status="success" SubMessageId="1_1" logmsg="0044" recording="true" 
BeginTimeStamp="20120209141016" MessageId="12020914101677476029C0A82FA54DBB" 
xmlns="urn:com.sap.b1i.vplatform:entity">-<Header><msglog b1ifactive="true" always="false" step="Default message log"/>-
<ErrorHandler errorinbox="true" outbound="Default error handling" sync="Default error handling" async="Default error handling" 
phase="4">-<delqueue status="false" 
qok="false"><queue>Q.OUT_B1.0010000100</queue><stream>S.ORC.DTN2B1PO</stream></delqueue>-<callvBIU 
status="true"><queue>Q.INB_IQ_INTQ_ASYN_QS.0010000000</queue><stream>Default error 
handling</stream></callvBIU></ErrorHandler><Receiver ObjId="multiple (1)" Id="0010000100"/><IPO 
Id="INB_FI_EXST_ASYN_NAM" tid="12020708593477476008C0A82FA5EBB4"/><IPO Id="PRC_FIn" 
tid="12020708593477476131C0A82FA51F9D"/><IPO Id="OUT_B1" tid="12020708593477476497C0A82FA517AB"/>-
<Resumption><starter 
ipo="/vP.0010000119.in_FEAN/com.sap.b1i.vplatform.runtime/INB_FI_EXST_ASYN_NAM/INB_FI_EXST_ASYN_NAM.ipo/proc"/>
<restart u="12020914101677476029C0A82FA54DBB.1" s="S.ORC.DTN2B1PO" q="Q.PRC_FIn.0010000119" 
id="processing"/><restart u="12020914101677476029C0A82FA54DBB.1_1" s="S.ORC.DTN2B1PO" 
q="Q.OUT_B1.0010000100" id="outbound"/></Resumption><ProcStream>S.</ProcStream><Sender ObjId="TestBOLCSV2" 
Id="0010000119"/><Inbound file="TestBOLCSV2" ext="csv" path="c:\dtn\In" pltype="" wrap="'" deli=","/><Successor Id="" 
Mode=""/><Identification IdPar="" Ident="File Name"/><nsList/><Retrieval type="Handover"/><Outbound type="SAP Business 
One" keys="DocEntry" objectid="20" method="Synchronous Insert with fallback to Update" channel="OUT_B1"/><vBIU phase="" 
Id="ORC.DTN2B1PO" filter="" SId="ORC.DTNPricing" ver="1.0.0"/>-<Variables> <var id="userid" value="no_authentication"/> 
<var id="username" value="no_authentication"/> </Variables><Properties/><VarProperties/>-<ReceiverList><Receiver 
Id="0010000100" filter="" handover="P" subscribed="true"/></ReceiverList><MsgList multimsg="true" complete="true" 
counter="1"/></Header>-<Body><Payload Type="File exist" Role="T"/>-<Payload Role="S" intype="csv"> -<row xmlns=""> 
<col>V1010</col> <col>A00002</col> <col>2</col> <col>A00005</col> <col>3</col> <col>A00006</col> <col>2</col> </row> 
</Payload>-<Payload id="atom0" Role="R"> -<b1im_multimsg xmlns=""> -<b1im_msg> -<B1out type="object"> -
<PurchaseDeliveryNotes> -<row> <CardCode>V1010</CardCode> </row> </PurchaseDeliveryNotes> -<Document_Lines> 
<ItemCode>A00002</ItemCode> <WhsCode>01</WhsCode> <Quantity>2</Quantity> <BaseCard>V1010</BaseCard> 
</Document_Lines> </B1out> </b1im_msg> </b1im_multimsg> </Payload>-<Payload Type="DIAPI" Role="R2" Call="object">-
<Envelope xmlns="">-<Header><Action throwException="false">add</Action><WritePolicy update_policy="regular" 
update_on_miss="fallback2I" insert_on_exists="fallback2U"/></Header>-<Body>-<BOM>-<BO>-
<AdmInfo><Object>20</Object><Version>2</Version></AdmInfo>-<QueryParams><DocEntry/></QueryParams>-
<PurchaseDeliveryNotes> -<row> <CardCode>V1010</CardCode> </row> </PurchaseDeliveryNotes>-<Document_Lines> 
<ItemCode>A00002</ItemCode> <WhsCode>01</WhsCode> <Quantity>2</Quantity> <BaseCard>V1010</BaseCard> 
</Document_Lines></BO></BOM></Body></Envelope></Payload></Body></Msg>