Skip to Content
0
Dec 27, 2018 at 10:58 AM

B1IF Message Failure: Inbound Queue Error

1272 Views Last edit Dec 30, 2018 at 11:19 AM 7 rev

Hello

We’ve a problem with a scenario with a queue as inbound, I hope someone can help us.

The purpose of the scenario is to create a goods receipt (object 59) from production and when the Issues Quantity is equal or larger then the Planned Quantity, the production order will be closed (Branch Selection).

Most of the time this scenario goes well, but sometimes it goes wrong due to an unclear reason. The scenario generated a ‘Head Blocker’ through a select on the IGN9 (this table is empty) on the SQL server and Sap Business One is ‘hanging’ for every user till we kill the process in SQL. In B1if we see the technical error message:

“com.sap.b1i.xcellerator.XcelleratorException: XCE001 Nested exception: java.lang.NullPointerException: while trying to invoke the method java.lang.Throwable.getCause() of a null object loaded from local variable 'c'”

In the MessageLog/Failure we see the full message. Typical is the java error, and the tags in the header:

<Header><msgocc>1</msgocc> <msg.occ INB="1" PRC="" PRQ="" OUTBIU="n.a." OUT=""/>…….

By a successful message the tags are:

<Header><msg.occ INB="1" PRC="1" PRQ="0" OUTBIU="n.a." OUT="0"/>……..

When we offer the same import file again to the first scenario, the second scenario handle the file successful from the queue. So, we think the file and the scenarios are well formed, but something in B1IF shows a strange behavior. What can this be, and what other things can we test?

****UNSUCCESFUL MESSAGE****

<Msg xmlns="urn:com.sap.b1i.vplatform:entity"

xmlns:b1il="urn:com.sap.b1i.sim:b1ilog"

xmlns:b1im="urn:com.sap.b1i.sim:b1imessage"

xmlns:bfa="urn:com.sap.b1i.bizprocessor:bizatoms"

xmlns:jdbc="urn:com.sap.b1i.adapter:jdbcadapter"

xmlns:sim="urn:com.sap.b1i.sim:entity"

xmlns:vpf="urn:com.sap.b1i.vplatform:entity"

MessageId="181224120107744027850A09120CA6F2"

BeginTimeStamp="20181224120107" recording="false"

logmsg="0012" SubMessageId="1" status="success"

branch="2" excType="hard" vBIU.errhdlg=""

exceptionmsg="com.sap.b1i.xcellerator.XcelleratorException:

XCE001 Nested exception: java.lang.NullPointerException:

while trying to invoke the method java.lang.Throwable.getCause()

of a null object loaded from local variable 'c'"

msglogexcl="false" handover2CentralSrv=""

MessageLog="true" msglogdbop="update">

<Header>

<msgocc>1</msgocc>

<msg.occ INB="1" PRC="" PRQ="" OUTBIU="n.a." OUT=""/>

<msglog step="Default message log" always="false" b1ifactive="true"/>

<vBIU Id="Z.07b-GRProd-Que-59" SId="Z.NRD-WHS" filter="" sndfilter="" phase=""/>

<Resumption>

<starter ipo="/vP.0010000000.in_IQ.Z.07b-GRProd-Que-59/com.sap.b1i.vplatform.runtime/INB_IQ_INTQ_ASYN_QS/INB_IQ_INTQ_ASYN_QS.ipo/proc"/>

<restart id="processing" q="Q.PRC_QS.0010000000" s="S.Z.07b-GRProd-Que-59" u="181224120107744027850A09120CA6F2.1"/>

</Resumption>

<ProcStream>S.Z.07b-GRProd-Que-59</ProcStream>

<IPO Id="INB_IQ_INTQ_ASYN_QS" tid="181224115954744027700A09120C640B"/>

<Sender Id="0010000000" ObjId="Z.07b-GRProd-Que-59"/>

<Successor Id="" Mode=""/>

<Identification Ident="Queue/Stream" IdPar="n.a."/>

<nsList xmlns=""/>

</Header>

<Body>

<Payload Role="T" Type="Queue" add="Z.07b-GRProd-Que-59"/>

<Payload Role="S">

<queue xmlns="">

<queryresults>

<ResultSet xmlns="urn:com.sap.b1i.adapter:jdbcadapter" rowCount="1">

<Row>

<DocEntry>92783</DocEntry>

<DocNum>92783</DocNum>

<ItemCode>AD06250</ItemCode>

<Status>R</Status>

<PlannedQty>6.000000</PlannedQty>

<CmpltQty>0.000000</CmpltQty>

<OpenQty>6.000000</OpenQty>

</Row>

</ResultSet>

</queryresults>

<xmlfile>WerkOrderStatus_92783_20181224120101983_40227</xmlfile>

<document>

<Documents>

<row>

<DocDate>20181224</DocDate>

</row>

</Documents>

<Document_Lines>

<row>

<BaseEntry>92783</BaseEntry>

<LineNum>0</LineNum>

<BaseType>202</BaseType>

<Quantity>6</Quantity>

</row>

</Document_Lines>

</document>

</queue>

</Payload>

<Payload id="ErrorInfos" iterationCount="0" reactivations="-1" tState="INCOMMIT">

<ipo uri="/vP.0010000000.prc_QS.Z.07b-GRProd-Que-59/com.sap.b1i.vplatform.runtime/PRC_QS/PRC_QS.ipo/proc" tid="181224115954744028510A09120CD682" tStamp="20181224120657" duration="-1" initiator="[FILI]B1iP_Xcellerator"/>

<bfd uri="/com.sap.b1i.vplatform.runtime/PRC_QS/PRC_QS.bfd"/>

<ActionList id="ASYNC-PRC" ipo="PRC_QS" in="2" type="hard" status="INCOMMIT1" mode="complete">

<action id="activation" sec="0"/>

<action id="info" type="incommit"/>

<action id="MsgLog" section="failure" incommit="#C"/>

<action id="ProcErrBox"/>

<action id="setToFINAL"/>

<action id="WriteInfoMsg"/>

</ActionList>

<exception>

<message>

com.sap.b1i.xcellerator.XcelleratorException: XCE001 Nested exception: java.lang.NullPointerException: while trying to invoke the method java.lang.Throwable.getCause() of a null object loaded from local variable 'c'

</message>

<usermsg/>

<innermsg>

while trying to invoke the method java.lang.Throwable.getCause() of a null object loaded from local variable 'c'

</innermsg>

</exception>

<Hard-Reset originalState="INCOMMIT" finalState="COMPLETED"/>

<pars>

<RMainIPO>PRC_QS</RMainIPO>

<RProcPhase>2</RProcPhase>

<exctype>hard</exctype>

<incommit>INCOMMIT1</incommit>

<ipostatus>INCOMMIT</ipostatus>

<ipostepuri>

/vP.0010000000.prc_QS.Z.07b-GRProd-Que-59/com.sap.b1i.vplatform.runtime/PRC_QS/PRC_QS.ipo/proc

</ipostepuri>

<iposteptid>181224115954744028510A09120CD682</iposteptid>

<Successor/>

<sid>Z.NRD-WHS</sid>

<SidDocId>

/com.sap.b1i.vplatform.scenarios.design/vPac.Z.NRD-WHS/vPac.xml

</SidDocId>

<bid>Z.07b-GRProd-Que-59</bid>

<BiuDocId>

/com.sap.b1i.vplatform.scenarios.design/vBIU.Z.07b-GRProd-Que-59/vBIU.xml

</BiuDocId>

<EADocId>

/com.sap.b1i.vplatform.directory/ErrorActions/ErrorActions.xml

</EADocId>

<vPac.ownErrHandling.Asyn.PRC>Default error handling</vPac.ownErrHandling.Asyn.PRC>

<vPac.ownErrHandling.Asyn.OUT>Default error handling</vPac.ownErrHandling.Asyn.OUT>

<vPac.ownErrHandling.Sync>Default error handling</vPac.ownErrHandling.Sync>

<vPac.notErrorInbox>true</vPac.notErrorInbox>

<vBIU.ErrHdlg.Overlay/>

<default.EH.Processing>

Retrial after 1 minute and stop processing of following messages

</default.EH.Processing>

<snd.id>0010000000</snd.id>

<rcv.id/>

<out.id/>

<WaitAndRetrial.MsgCnt.Last/>

<WaitAndRetrial.Msg.Counter>1</WaitAndRetrial.Msg.Counter>

<WaitAndRetrial.EA.Max>1</WaitAndRetrial.EA.Max>

<WaitAndRetrial.EA.Sec>1</WaitAndRetrial.EA.Sec>

</pars>

<EA vBIU="Z.07b-GRProd-Que-59" vPac="Z.NRD-WHS" snd="0010000000" rcv="" out="" dir="/com.sap.b1i.vplatform.directory/ErrorActions/ErrorActions.xml"/>

<OutboundMltplMsg status="false" next="false" reason="not outbound phase"/>

<calls>

<call id="Void">

<vpf:Msg>...</vpf:Msg>

</call>

<call id="B1Call">

<Envelope xmlns="urn:com.sap.b1i.xcellerator:spltdoc">

<Header>

<Action throwException="false" autoCommit="false">add</Action>

</Header>

<Body>

<BOM>

<BO>

<AdmInfo>

<Object>59</Object>

<Version>2</Version>

</AdmInfo>

<Documents>

<row>

<DocDate>20181224</DocDate>

</row>

</Documents>

<Document_Lines>

<row>

<BaseEntry>92783</BaseEntry>

<LineNum>0</LineNum>

<BaseType>202</BaseType>

<Quantity>6</Quantity>

</row>

</Document_Lines>

</BO>

</BOM>

</Body>

</Envelope>

</call>

<call id="B1Call">

<Envelope xmlns="urn:com.sap.b1i.xcellerator:spltdoc">

<Header>

<Action throwException="false" autoCommit="false">update</Action>

</Header>

<Body>

<BOM>

<BO>

<AdmInfo>

<Object>202</Object>

<Version>2</Version>

</AdmInfo>

<QueryParams>

<DocEntry>92783</DocEntry>

</QueryParams>

<ProductionOrders>

<row>

<ProductionOrderStatus>L</ProductionOrderStatus>

</row>

</ProductionOrders>

</BO>

</BOM>

</Body>

</Envelope>

</call>

<call id="JDBCCall">

<jdbc:SqlStatement delimiter=";" compatibilityMode="false" blockExecution="true">

DELETE FROM MSGLOG where IDENT='181224120107744027850A09120CA6F2!!1'; UPDATE MSGLOG SET STAT='hidden' where IDENT IN ('181224120107744027850A09120CA6F2!!'); INSERT INTO MSGLOG (IDENT,STARTTIME,FINISHTIME,SSYSID,RSYSID,TRIGG,ROBJ,STAT,SKEY,RKEY,LOCALMSG,RESULT,VBIU,VPAC) VALUES ( '181224120107744027850A09120CA6F2!!1', '20181224120107', '20181224120656', '0010000000', '0010000000', 'Z.07b-GRProd-Que-59', '', 'success', '', '', '0', 'void outbound finished', 'Z.07b-GRProd-Que-59', 'Z.NRD-WHS')

</jdbc:SqlStatement>

</call>

</calls>

</Payload>

</Body>

</Msg>

****UNSUCCESFUL MESSAGE****

Jakko