Skip to Content

Parallelize B1IF scenarios

Sep 11, 2017 at 09:19 AM


avatar image

Dear colleagues,

I work with B1IF version 1.22.10, SAP B1 9.2 PL07 version for HANA. We developed 4 scenario packages for different business purposes. Some of them are triggered by B1 event, some by timer and some by web-service call. Business logic works pretty well, but we have problems with queue waiting. It looks like B1IF execute scenarios line one-by-one without any parallelizing (see the picture below). Am I right, or it's possible to make the B1IF to handle scenarios in parallel? If you have any extra information about setting the B1IF parallel or some workarounds, please, let me know.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Ildar Islamgazin Sep 12, 2017 at 12:44 PM

Hi Sergey,

It actually depends on what speed do you want to archive.

I would suggest to check parameter in xcellerator.cfg:


There is also a parameter on Scenario itself - allow parallel run or not.

There is a SAP note about it - 2192737 - Best practices: Performance optimization of the Integration Framework

Hope it can help!

Good Luck

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Hi Ildar,

Actually, I guess the problem was with maximum memory pool, but thank you!

Heinz Pauly
Nov 10, 2017 at 10:38 AM

The internal queuing mechanism is dealing with messages in a stream that belongs to a particular queue. All messages in different queue/stream are automatically processed in parallel. As the name of the scenario step is part of the queue/stream name, the messages for all different scenario steps are running in parallel. If you want in addition to run the messages for one particular scenario step in parallel, you need to configure it in SCENARIOS->Step Design by ticking the checkbox 'Allow Parallel Processing'. This will make sure that the message for one scenario step will be put into different streams. In MAINTENANCE->Cfg Runtime you have to define the number of parallel streams (Number of Step Instances). The same effect you can force in case you are triggering another scenario step via a 'Put To Internal Queue' atom. Here you have the option to tick the checkbox 'Use Instances'.

Please consider: You can define e.g. 10 different streams, but if only 2 threads are there for processing, then of course only 2 of the 10 will run in parallel. Another important aspect to understand is: the memory is shared by all parallel processes. Means you need to allocate enough memory to the Integration Framework that it can handle even peaks. For that - as Sergey mentioned - please refer to note 2192737 (Enable parallel processing threads and allocate more memory to tomcat).

10 |10000 characters needed characters left characters exceeded