cancel
Showing results for 
Search instead for 
Did you mean: 

EOIO backlog in Adapter engine with NDLV status

Former Member
0 Kudos

Hello Everyone,

I am working on SAP PI 7.1 . We sent around 6000 idocs to sql and everything was good until we realised that all the messages got stuck in the Adapter engine.

After investigating we found some messages had a system error because the sql procedure they were executing errores out as it was expecting a particular field.

We cancelled the system error message but still found that messages in HOLD status are not going through. It looks like there are other messages in the queue with system error and it has become a tedious task to look for system error messages and cancel them.

We have been going to RWB --> Engine status --> additional data to look for system error messages. We see around 6000 backlog messages.

Also we cancelled them by going to Message monitoring in the RWB.

Is there a way i can skip the EOIO protocol ? How does PI handle if one message fails? Does it always block the rest of the messages in the respective queue ?

Please advice.

Thanks ,

Teresa

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Teresa,

Avoid Maintain order processing in Interface determination and delete blocked messages and clear all queues and restart fialure messages.

Regards,

Raj

Former Member
0 Kudos

Hi Raj,

Thanks for the helpful info. Though I deleted all the messages that were marked system error . The messages which are in HOLD status cannot be cancelled. It gives error messages as below.

Could not fail message. Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not fail message 4eb4db57-1469-0057-e100-8000351ef71f(INBOUND), as triggered by admin action. Reason: Predecessor not in final state.

Can you please advice how do I cancel these HOLD messages which are numbered around 4000 ?

Thanks,

Teresa

Former Member
0 Kudos

hi Teresa,

you have to find the first message HOLD or the new NDLV (*) of your serialization group.

(*) because after your action, maybe the next messages are also shut down.

Go back in Engine Status -> Tab u201CAdditional Datau201D -> Category u201CMessages Detailsu201D.

Get the "Serialization Context" name (e.g INBOUND_XI_SERIALxxxx), and the first message_ID of this queue.

Go back in RWB -> Message Monitoring.

In the selection-screen, select button u201CShow Additional Criteriau201D, and paste the "MessageId"

Then try to Resend it or take the decision to Cancel it.

After that, return to Engine Status and get the 2nd MessageID.

Go back in RWB -> Message Monitoring.

Then try to Resend it or take the decision to Cancel it.

etc...

Note: in RWB, with u201CShow Additional Criteriau201D, you have also the possibility to give the Serailization Context (e.g INBOUND_XI_SERIALxxxx), , and so to have all messages of this queue. I don't remind if the parameter field is "queue" (I think) or "sequence id".

regards.

Mickael

Answers (0)