cancel
Showing results for 
Search instead for 
Did you mean: 

Wait function generate to much messages

Former Member
0 Kudos

Hi,

Scenario :

A message comes from Sytem A which is to modify an Infortype from HR System. When the employee infotype is already locked by something else, PI keep the message and wait until 5 minutes en resend the message to the HR system.

Problem:

During the paiement process (3 or 4 days a month) all employees infotypes are automatically locked for business purpose.

The BPM works pretty well but after a while PI keeps 800 000 Messages. It is not because there is a lot of input messages. When PI do a Loop and retry the message it generates another message. Then after 4 days we got full of waiting messages which crash down PI.

Question :

How can I relove this issue ? Is this a methodo to tell PI do no crete an other message but keep the original one ?

Thanks for your answers

Joseph BERTHE

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

As Udo says, this can't be improved w/o a (complete) redesign of the process (sync->not sync) ! Is there any way to test for the paiment process (lock ? etc) and then exit the BPM without looping over and over ? Maybe BPM can be skipped and will run during the next available time slot or whatever ?

Chris

udo_martens
Active Contributor
0 Kudos

Hi Joseph,

>Is this a methodo to tell PI do no crete an other message but keep the original one ?

As long as your sceanrio is synchronous: no, unfortunately not. An application sending a synchronous message has to wait for the answer and must have a time out after a certain time. The message cannot be queued or reprocessed because the sending applicaiton has to react to the error. Synchronous messages are using more resources for a longer time (a work process at SM50). As well BPM with time outs is not very stabil in case of mass data, you ll have too much running processes at the same time.

So from a design point of view you should send the messages asynchronous, they should be queued in the receivinig system and reprocessed there. IDoc Inbound would be standard for this.

Regards,

Udo