Technical Articles
My favourite SAP Cloud Integration feature: Looping Process Call
Welcome back to this blog post series where I interview SAP Cloud Integration practitioners, developers, architects and enthusiasts about what their favourite feature of the platform is. For the third installment, I’m very happy to be talking to Priyanka Chakraborti. Priyanka is a very active member of the community and also a Featured Contributor for SAP Integration Suite here on the SAP Community site.
Could you introduce yourself briefly, please?
My name is Priyanka. I live in Bangalore, India. I am a Business Process Consultant at SAP Labs India. My area of expertise is SAP integration, and I am also a member of the SAP Champions program. I am glad to be part of this blog post series.
Thank you! On to the central question of this blog post series: What’s your favourite SAP Cloud Integration feature?
CPI provides a plethora of building blocks to facilitate creation of complex integration flows. It is hard for me to choose a specific one. However, if I have to choose, then it will be the Looping Process Call.
Why that particular feature?
It is one of those simple yet extremely useful features that makes handling repeating tasks a breeze. As the name suggests, it is akin to a finite loop construct of any programming language. It is used to accomplish a variety of objectives that call for performing iterative tasks.
For example, it can be used to iterate through a list of failed messages present in a datastore for retry. Similarly, it can also be used for sending a small subset of data at a time, which in turn improves performance by reducing the memory and processing time for each iteration.
How do you see this feature evolving going forward?
Presently, the Looping Process Call allows expression types as XML and Non-XML (Apache Camel Simple Expression Language). However JSON is becoming more popular, and I would like to see JSONPath conditions as one of the expression types.
Thanks for taking part in this blog post series, Priyanka!
Another way of achieving looping is by using the general splitter. Sometimes that might make it lot easier too.
Yes, though Splitter is not a replacement of LPC, based on the requirement/scenario, the best fit approach can be chosen with consideration of performance and expected load.
Hi Priyanka,
For an Integration flow with a huge volume (number of calls), what will be a more memory-efficient and better-performing solution between Splitter and LPC?
Hi Hrishikesh,
As I mentioned above, its about best fit, not best practice. You need to analyse whats the purpose of placing general splitter or Looping Process Call. Both have different functionalities. If it is just about huge number of calls to target, you may look into Batch APIs.
Regards,
Priyanka