on 07-15-2020 4:08 PM
Hello !
Business Requirement: Update only empty fields of an Individual Customer in C4C
Steps in CPI:
Payload Example of Step 1:
<IndividualCustomerCollection>
<IndividualCustomer>
<GenderCode>1</GenderCode>
<HouseNumber></HouseNumber>
<Email></Email>
<FirstName>Individual</FirstName>
<StateCode></StateCode>
<CustomerID>123456</CustomerID>
<City></City>
<MiddleName></MiddleName>
<County></County>
<Mobile></Mobile>
<StreetPostalCode></StreetPostalCode>
<LanguageCode>EN</LanguageCode>
<MaritalStatusCode></MaritalStatusCode>
<Phone>+33 45656777</Phone>
<TitleCode></TitleCode>
<WebSite></WebSite>
<Street></Street>
<LastName>Last</LastName>
<CountryCode></CountryCode>
<BirthDate/>
</IndividualCustomer>
</IndividualCustomerCollection>
Message Mapping Example for a Field:
This is the Payload after the Message Mapping:
<?xml version="1.0" encoding="UTF-8"?>
<IndividualCustomerCollection>
<IndividualCustomer>
<ObjectID>00163E77980F1EDAB1D060334FDA8135</ObjectID>
<GenderCode>1</GenderCode>
<LanguageCode>EN</LanguageCode>
<Phone>+33 45656777</Phone>
</IndividualCustomer>
</IndividualCustomerCollection>
The Condition in the message mapping is seems to be working only for the false value.
Do you have any idea how to resolve this behaviour? Am I missing anything?
sriprasadshivaramabhat or 7a519509aed84a2c9e6f627841825b5a maybe?
Thanks a lot for your answer.
Regards.
Hi all,
I updated the iFlow and change all the logic in the message mapping. it is working now.
Thanks,
Nadir
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Nadir,
I would suggest you to first enable trace and check whether property is getting updated before message mapping step or not.
After that instead of putting equals in graphical message mapping add this logic in getproperty custom function only with additional logic to get check whether property value exist and not null then pass true else pass false.
Regards,
Sriprasad Shivaram Bhat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi sriprasadshivaramabhat
Thanks for your answer. Just before the Message Mapping, I added a Content Modifier to:
Many of the properties are empty, the goal is to replace these empty values by the values from the initial body. So the message mapping is to do so.
How can I do the second part?
Please find the GetProperty custom function below:
import com.sap.it.api.mapping.*;
import com.sap.it.api.mapping.MappingContext;
def String getProperty(String property_name, MappingContext context) {
def propValue= context.getProperty(property_name);
return propValue;
}
Thanks,
Nadir
User | Count |
---|---|
4 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.