If IDoc has unexpected segment, the manual confirm will fail with [IDocParser is in invalid state 5005] error

If IDoc has unexpected segment, the manual confirm will fail with [IDocParser is in invalid state 5005] error

book

Article ID: KB0074980

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks Plug-in for SAP Solutions 8.2.x, 8.3.0, 8.4.0

Description

When using TIBCO ActiveMatrix BusinessWorks Plug-in for ​SAP IDocParser activity with client acknowledge mode. The 'Confirm' activity would fail with below error:
<CausedBy> com.tibco.bw.core.runtime.BWCoreException: TIBCO-BW-CORE-500089: Failed to confirm the request message from the receive activity [IDocParser], in process [saptest.Parser], module [SAPTest:1.0.0.qualifier], application [SAPTest.application:1.0]. This error can occur if the process is implemented to confirm multiple times for the same request message, the caller of this process is no longer available, on recovery from a check-point the caller did not recover because it was not part of the check-pointed job or the specified receive activity name is incorrect.
<CausedBy> com.tibco.bx.core.faults.BxException: BX-905016: Failed to confirm message, reason: [IDocParser is in invalid state 5005]
 

Environment

All Supported Environment

Resolution

There are two cases where IDoc message would be auto confirmed from the activity even the acknowledge mode is client acknowledge:

1. The IDoc has unknown segment. 
2. The IDoc is totally a different idoc type. 

In these scenarios, the IDocParser would always auto confirm the message. If use a 'Confirm' activity on the error flow, the Confirm activity would raise the error mentioned above. This is expected behaviour. As the message has been confirmd by IDocParser, there is no block for the queue. 

Issue/Introduction

If IDoc has unexpected segment, the manual confirm will fail with [IDocParser is in invalid state 5005] error