Web Service BUSINESS PARTNER SOAP Fields and Explained
***Image/data in this Blog is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.***
Hello SAP S/4HANA Cloud Community,
I work on the LO-MD-BP component for SAP S/4HANA Cloud and I wanted to share some information with our community around this topic for which I have seen a couple of incidents querying so I wanted to add the information here for the benefit of our community.
The Fields Explained:
This Blog will explain the important fields from the WSDL for the Business Partner Master Data Integration (1RO) API.
Firstly, we must have already done the prerequisite steps in setting up the Communication scenario for this API in your S/4HC system by creating the Communication User, Communication System and the Communication Arrangement for SAP_COM_0008 (See https://api.sap.com/api/API_BUSINESS_PARTNER/overview ).
The WSDL file needs to be downloaded from the Communication Arrangement for SAP_COM_0008 once you have completed your set up as per the guide above.
Once you have you WSDL file open and want to know which fields need to be filled in this scenario the following information is good to know.
Fields – Request Header
- The ID and UUID must be unique for each request. (blue)
- The ID is Mandatory but the UUID is not.
- It is possible to use a third party UUID generator to create the unique UUIDs and IDs if your application/system does not have this feature
- If you are using SOAPUI then you will need to encase your payload in a SOAP Envelope (yellow)
- The SenderBusinessSystemID is the source system of the message (green)
- The RecipientBusinessSystemID is the target system for the message (green)
Fields – Message Header
- In the below screenshot, we see the Message Header.
- This shows us that within the Business Partner Request is contained the Message.
- The Message must be contained within the Request for data to be sent.
- For our application’s model to work the UUID and ID of the Message must match that of the header. (green)
- If you are updating the BP using the same payload in your testing, you must increase the ordinal number (changeOrdinalNumberValue) in every subsequent processing (yellow)
- The InternalID is the BP number in the sender system if this is passed it will be stored in key mapping and used in the update scenario. (blue)
- For the update scenario, you should pass tag ReceiverInternalID to update exact business partner, in this case, the internalID tag is not mandatory.
Complete Transmission Indicators (CTI):
We Complete Transmission Indicators (CTIs) for each segment
If the transmission indicator is “True” then the system expects a full load of data set if the Transmission indicator is set to “False” then the system treats it as delta load.
Meaning that if you set the transmission indicator for a segment to true then it will update all of the fields for that segment, passing the included values for each field in the segment and overwriting as “blank” the fields which have not been included in the payload for that segment.
When the transmission indicator is passed as “False” for a segment then it will update only the fields contained in XML payload for that segment
Please note as well however that some segments require the Transmission Indicators to be set to true so if you were to set them to false you would encounter the error from this KBA 2794232 – Error CTI state &1 not supported with provided data for entity node &2 is raised when sending Business Partner Data via API
In cases such as these where the segment needs the Transmission Indicators to be set to true, you will need to send all of the data for that segment otherwise the missing data would be overwritten.
For the complete list of transmission indicators see this Help Portal Documentation – Business Partner – Replicate from Client to SAP S/4HANA Cloud
For information on the Handling of Partial Data Model (Delta) see this Help Portal Documentation
SAP S/4HANA Cloud Product Support
Stephen Ward very nice blog.
Excellent blog Stephen Ward .
When i am triggering the Soap API via Soap UI getting error" Enter a value of NAME1"
Not sure in which field i need to pass the value
Can you please help?
Hi Dharam Verma,
The NAME1 can be entered in the <FirstLineName></FirstLineName> tag for Organisation BPs or in the <GivenName></GivenName> tag Person BP's
You can find example payloads here Example Payloads
I have CTI error message when I was trying to insert PO record eventhough I've set the ItemListCompleteTransmissionIndicator to false
Hi Rizaldi Pamungkas,
Are you using the Business Partner Webservice (SAP_COM_0008) or which one?
I'm using standard web service, named ManagePurchaseOrderIn I downloaded the wsdl file from service explorer.BTW My SAP is SAP ByDesign
Hi Rizaldi Pamungkas, ,
The above blog is specific to the Business Partner SOAP Webservice, other Webservices may behave slightly differently.
For questions around ManagePurchaseOrderIn the tag SAP S/4HANA Cloud for Sourcing and Procurement would be the correct area to ask/find answers
Hi Stephen Ward ,
Thank you for the good overview of the CTIs.
Can you point me to a help site or give me advice on how to change the CTIs?
Thanks in advance and best regards,
I am trying the replication of business partner from SAP MDG system to SAP Cloud. The BP number in MDG is different from the one in the cloud. Replication is working fine but the key mapping is not getting generated in the MDG system but it is present in the Cloud system. Can you please help,if any tag is missing?