Skip to Content

Blog 5: Content Enricher Pattern in Integration Flows

Hello Integration Community !


In this blog, I shall explain the content-enricher pattern of SAP Cloud Platform Integration (f.k.a HCI) and how you can use it in your integration project.


What is the Content Enricher Pattern?


From the definition of Enterprise Integration Patterns, a content enricher accesses an external data source in order to augment a message with missing information.


Let’s take an example from the HR domain. In the SuccessFactors(SFSF) suite, we can obtain information on employee object entity.I get the job location code from the results. But, I want to send the complete job location and not just the job code and the job location is stored in a different entity. So, I enrich my data with the job location using a content enricher step.


Likewise, one system may provide us with a order ID, but the receiving system actually requires the associated customer ID associated with that order.

Content enricher is a very common integration pattern.


How to Use the Content Enricher?


In SAP Cloud Platform Integration, content enricher is available as a Service Task.

ServiceCall.JPG SwitchtoContentEnricher.JPG


We shall take the following integration flow as an example:


The first call to SFSF shall return the compound employee data. This is how the data looks:






We are interested in enriching the job information. So, let us take an expanded look into it. In the expanded view, take a closer look at the location field. We are interested in enriching that particular field with the exact address details.



So, to achieve our purpose we shall use the Content Enricher step with the following configuration.


The Lookup message depends on the address location entity.The entity to which you are querying. So, the final output or the enriched output shall look like the one below.



Note: Content Enricher also has another option – Combine. That is a very simple logic of combing the two elements. Employee information and Job information query results are combined together into one entity. For fun, for the same objects we saw above – the result looks like this:





In the current version, the Content Enricher step works well with SuccessFactors system. For SOAP-based scenarios, the entire payload goes to the sending look-up system. If you do not want the entire data to go, you would have to employ the data store step and the content modifier step.


Best Regards,


You must be Logged on to comment or reply to a post.
  • Hi Sujit,

    Thanks for the blog.

    Do kindly provide some insights into how we can optimize the “Lookups” or “Request-Reply” or “Content Enrichment” calls during the processing of huge outbound message payloads in HCI environments; we are able to handle this challenge easily in the SAP PI/PO environments by employing UDFs.

    We are proposing to implement HasMap functionalities in scripts that should be executed only once irrespective of the number of outbound records; the HashMaps now serve as data caches for subsequent access instead of the very expensive and repeated calls……

    What are your thoughts?

    • Hi Ying Heng Tan,


      Did you find solution to this? The link you’ve given here is broken. Please let me know how you achieved your requirement?





  • Hi Sujith,
    after doing same, i am not getting enriched data in location field, ithink some going my side in Fo_Location model configuration. So

    Can you add Fo_location model configuration in this blog, than can be helpful as i am not getting enriched data in location as i am confused which element i should use to get look up data while configuring Sf Fo_location channel.

    Uma Sairam

  • Hi Sujith,


    I am sending the content enricher’s output as input to message mapping. In this case, do I need to create separate xsd file or enter two source  elements in mapping?How can we get content enricher’s output file xsd format ?


    Arpna Kaul

  • Hello,

    Thx for this blog.

    Sorry but I don’t understand how we know what value to put on the lookup message…

    Is someone can explain me ? I’m new in HCI world 🙂