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:

Integration_flow_pattern.JPG

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

 

 

 

CompoundEmployee.JPG

 

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.

 

/wp-content/uploads/2015/01/jobinfo_625994.png

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

enrich_property.JPG

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.

FO_Location.JPG

 

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:

Combine.JPG

 

Conclusion

 

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,

Sujit

To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

  1. Bakau Onafuwa

    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?

    (0) 
  2. Uma Sairam

    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.

    Regards
    Uma Sairam

    (0) 
  3. Arpna Kaul

    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 ?

    Thanks,

    Arpna Kaul

    (1) 

Leave a Reply