Skip to Content
May 30, 2014 at 07:40 PM

Idoc processing best practices - use of RBDAPP01 and RBDMANI2


We are having performance problems in the processing of inbound idocs. The message type is SHPCON, and transaction volume is very high. I am a functional consultant, not an ABAP developer, but will try my best to explain our current setup.

1) We have a number of message variants for the inbound SHPCON message, almost all of which are set to trigger immediately upon receipt under the Processing by Function Module setting.

2) For messages that fail to process on the first try, we have a batch job running frequently using RBDMANI2.

We are having some instances of the RBDMANI2 almost every day which get stuck running for a very long period of time. We frequently have multiple SHPCON idocs coming in containing the same material number, and frequently have idocs fail because the material in the idoc has become locked. Once the stuck batch job is cancelled and the job starts running again normally, the materials unlock and the failed idocs begin processing. The variant for the RBDMANI2 batch job is currently set with a packet size of 1 and without parallel processing enabled.

I am trying to determine the best practice for processing inbound idocs such as this for maximum performance in a very high volume system. I know that RBDAPP01 processes idocs in status 64 and 66, and RBDMANI2 is used to reprocess idocs in all statuses. I have been told that setting the messages to trigger immediately in WE20 can result in poor performance. So I am wondering if the best practice is to:

1) Set messages in WE20 to Trigger by background program

2) Have a batch job running RBDAPP01 to process inbound idocs waiting in status 64

3) Have a periodic batch job running RBDMANI2 to try and clean up any failed messages that can be processed

I would be grateful if somebody more knowledgeable than myself on this can confirm the best practice for this process and comment on the correct packet size in the program variant and whether or not parallel processing is desirable. Because of the material locking issue, I felt that parallel processing was not desirable and may actually increase the material locking problem. I would welcome any comments.

This appeared to be the correct area for this discussion based upon other discussions. If this is not the correct area for this discussion, then I would be grateful if the moderator could re-assign this discussion to the correct area (if possible) or let me know the best place to post it. Thank you for your help.