Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Deadline in a period of time less than a minute

Hi there,

we're implementing a BPM where there is a time-dependent loop. We used the deadline branch in a block step, that setp is ok, but there is a problem.

We need a maximum deadline about half a minute, but the deadline unit parameter won't accept seconds, just minutes or longer time units.

We had thought of using a fork step where the 2nd branch would be nothing but a transformation step and a control step. The transformation step would countain a mapping where I could implement a java code with a wait method of a determined delay (this is needed because the wait step also only suports time units up to minutes). When this wait was completed, the control step would throw a timeout exception and terminate the block (thus the loop).

But there are some gaps in this approach:

1. the process start trigger is located in the receiver step, which is inside the loop, in the first branch of the fork. How to start the 2nd branch of the fork (the wait branch)?

I had thought of creating a new message interface of a simple datatype to use as a trigger for the wait branch. After the receiver in the main loop of the 1st branch of the fork, I'd put a send step which would send a message of this type to the BPM itself. Then, I'd put a receiver step in the 2nd branch of the fork before the transformation step, just to start the branch. To guarantee that only one start message would be sent, the send block inside the main loop could be put into a switch step, and I could create a flag as simple type container which would be flagged false (hence not running the send step anymore) once the trigger send step ran for the first time. Would this work?

2. Is it really possible to use the mapping in this sense?

Is there a less drastic way of performing this wait step with seconds unit?

Thanks in advance.

Not what you were looking for? View more on this topic or Ask a question