Skip to Content
Author's profile photo Shivanand Hangaragi

Text Collection Integration in Cloud for Customer

In this blog we will touch upon how Text Collections are replicated between C4C and external systems(ERP,CRM,S/4 etc.).

In Cloud for Customer Text collections or Notes can be maintained in multiple objects for e.g. Sales Quote, Orders, Materials etc.

However, there are slight differences between the way notes are saved in C4C and on-premise systems.

In C4C, the notes are language independent, meaning user can save only one note per text collection field for any given document, however in On-Premise systems, you could have N number of notes per field based upon different languages. This would also mean that irrespective of which language users are logged in C4C, the notes are same.

And for integration scenarios, TextCollectionTextTypeCode is the one which determines where or which field the notes would be saved.

Considering all of these details, lets get into the details on how texts are actually replication between C4C and other systems.

 

1. Inbound Scenario(On-Premise to C4C)

  • In this scenario, as on-premise systems are capable of having notes in multiple languages, the inbound message would have multiple text notes.
  • There could be multiple text contents with same Textcollectiontypecode but different language code.
    • <TextCollection textListCompleteTransmissionIndicator=”true”>
      <Text>
      <TypeCode>0001</TypeCode>
      <ContentText languageCode=”EN”>Test Note</ContentText>
      </Text>
      <Text>
      <TypeCode>0001</TypeCode>
      <ContentText languageCode=”DE”>Test Hinweis</ContentText>
      </Text>
      <Text>
      <TypeCode>0001</TypeCode>
      <ContentText languageCode=”FR”>Note de test</ContentText>
      </Text>
      </TextCollection>
  • As C4C is capable of having single language independent note, so only one of the incoming notes is saved.
  • To determine which one, we make use of Business Configuration activities, namely “Communication Language for Data Replication” and “Code List Mapping for Integration with External Applications and Solutions“.
  • Maintain code list mappings for the typecode, 0001 as in our example for the datatype TextCollectionTextTypeCode.
  • Code list mappings for all Text type codes are maintained with local context 10296.
  • Now Communication Language maintained should match any of the incoming language codes.
  • Now when we have code list mappings and communication language maintained, C4C will decide which note to be saved.
  • Please do note, this particular note is still saved in C4C without any language associated.
  • These configurations are required only for integration purpose, the actual notes are still language independent in C4C.

 

2. Outbound Scenario(C4C to On-Premise)

  • Since C4C maintains single note per field, there would be only one text content in the payload.
  • And this text content would have Text Type based upon the code list mappings.
  • More importantly, here the language code would be picked from Fine Tuning activity “Communication Language for Data Replication”.
  • This way, only a particular note is created/updated in On-Premise systems, other language notes would be untouched.

 

Additional Points to consider:

  • Inbound replications do not consider issues with respect to Text notes as hard errors and message would be processed.
  • If there are any issues/missing code list mappings or language codes, the message would still be processed, and text notes will be skipped from the document.
  • However in case of outbound replication, if there are any missing code list mapping or any issue with code list mappings for text type code, the outbound replication will be stopped with corresponding error.
  • This is so designed to prevent incorrect data flowing from C4C to ERP/CRM etc.
  • If your issue is still not resolved, then please raise an incident for SAP Support. Also, please send the following information in the incident:
    • Problem description
    • Steps to reproduce
    • Cloud for Customer Message ID
    • IDoc number from ERP/CRM.

 

 

 

 

 

 

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Rabah Rebai
      Rabah Rebai

       

      Nice Blog, Thanks Shiva.

      Author's profile photo Rahul Mishra
      Rahul Mishra

      I have added your blog to two incident. very nice & crisp info.

      Author's profile photo Rahul Mishra
      Rahul Mishra

      + 1 shared with another customer. Very Nice Blog Shiva.

      Author's profile photo Marcelo García
      Marcelo García

      Thanks Shivanand Hangaragi

      We are using the C4C to ERP scenario. We are already sending external notes mapped with an ERP text but we don't want to send the internal notes to the ERP so we don't use any mapping for them. But when a sales order is created and you inform the internal notes, it shows an error that says:

       

      Could not determine external code for TextCollectionTextTypeCode 10011 (internal note) of assign group 03.

      Is there any way of not sending this internal notes to the ERP?

       

      Regards

      Author's profile photo Shivanand Hangaragi
      Shivanand Hangaragi
      Blog Post Author
      Dear Marcelo,
      
      As mentioned in the blog(Outbound Scenario), the messages fail whenever there are missing code list mappings. So for replication to work you need to maintain required code list mappings.
      
      If you do not want to send specific notes from C4C to ERP, then you may have to suppress them in the middleware, from C4C side the outbound message would contain the text notes.
      
      Hope this helps.
      
      Regards,
      Shivanand
      
                    
      Author's profile photo Teresa Sanchez
      Teresa Sanchez

      Excellent blog!

      One question, how can we maintain different languages in the notes? As ERP/S4 can expect specific different languages, how can we maintain this from C4C?

      As in Business Configuration activities, namely “Communication Language for Data Replication” we can only maintain one language by default.

      Thank you,

      Best regards,

      Teresa Sanchez

      Author's profile photo Shivanand Hangaragi
      Shivanand Hangaragi
      Blog Post Author

      Dear Teresa,

      As explained in the blog, C4C is capable of maintaining only single language independent Text/Notes.

      The purpose of the fine-tuning “Communication Language for Data Replication” is just to determine which text/note to be picked/saved among multiple texts sent by ERP/S4.

      So by standard you cannot maintain multiple texts in different languages in C4C, unlike ERP/S4.

      Hope this helps.

      Regards,

      Shivanand

      Author's profile photo Teresa Sanchez
      Teresa Sanchez

      Hi Shivanand,

      Thank you for your information.

      Could you advice how can we achieve this please? Maintain several languages to send from C4C to S4

      Thank you,

      Best regards,

      Teresa

      Author's profile photo Shivanand Hangaragi
      Shivanand Hangaragi
      Blog Post Author

      Hi Teresa,

      As explained in the blog, unfortunately it's not possible to maintain Texts in multiple languages in C4C. C4C saves only one single text note, that too language independent.

      Regards,

      Shivanand

      Author's profile photo Teresa Sanchez
      Teresa Sanchez

      Hi Shivanand,

      Could you suggest any way to do it in SCPI or S4?

      Thank you,

      Best regards,

      Author's profile photo Shivanand Hangaragi
      Shivanand Hangaragi
      Blog Post Author

      Hi Teresa,

      If you really need to maintain multiple texts, then you can create extension fields, one for each language and perform custom mappings in CPI for these extension fields to map a specific language text.

      You would also need to perform reverse mappings in CPI for outbound replication as well.

      Note: These extension fields would just hold the text note, there would be no language associated with them.

      This is not a perfect solution, as you cannot predict exact number of languages used in each document, but this could serve your purpose to save texts for all languages.

      Regards,

      Shivanand