SAP Knowledge Base Article - Public

3226134 - Error While Performing a POST Call with the API Business Partner

Symptom

When posting data using the API Business Partner - Replicate from Client to SAP S/4HANA Cloud, you receive the below error:

Data loss on copying of MDG_BP_BPSUITERPLCT_REQ_BK_DET- COLLECTION_AUTHORISATION_IND to BUS_EI_STRUC_BANKDETAIL-COLL_AUTH: Source True 

(Or) 

Data loss on copying of MDG_BP_BPSUITERPLCT_REQ_BK_DET- COLLECTION_AUTHORISATION_IND to BUS_EI_STRUC_BANKDETAIL-COLL_AUTH: Source False

Environment

SAP S/4HANA Cloud

Reproducing the Issue

To perform the POST call:

  1. Login to the third-party tool
  2. Perform a POST operation for the API Business Partner - Replicate from Client to SAP S/4HANA Cloud 
  3. Example of the query:
  4. https://myxxxxxx-adm.s4hana.ondemand.com/sap/bc/srt/scs_ext/sap/businesspartnersuitebulkreplic?MessageId=${=java.util.UUID.randomUUID()}

where xxxxxx represents the tenant URL of the S/4HANA cloud system

 

Sample Request Payload as below:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
   <soapenv:Body>
      <glob:BusinessPartnerSUITEBulkReplicateRequest>
         <MessageHeader>
.
.
.
        </MessageHeader>
          <BusinessPartnerSUITEReplicateRequestMessage>
.
.
.
           <BusinessPartner actionCode="04"  bankDetailsListCompleteTransmissionIndicator="false">
.
.
.
                    <BankDetails actionCode="04">
.
.
                       <CollectionAuthorisationIndicator>True</CollectionAuthorisationIndicator>
                   </BankDetails>
.
.
.
           </BusinessPartner>
         </BusinessPartnerSUITEReplicateRequestMessage>
      </glob:BusinessPartnerSUITEBulkReplicateRequest>
   </soapenv:Body>
</soapenv:Envelope>

 

System throws the error:

Data loss on copying of MDG_BP_BPSUITERPLCT_REQ_BK_DET- COLLECTION_AUTHORISATION_IND to BUS_EI_STRUC_BANKDETAIL-COLL_AUTH: Source True
(if we fill <CollectionAuthorisationIndicator>True</CollectionAuthorisationIndicator>)

(Or) 

Data loss on copying of MDG_BP_BPSUITERPLCT_REQ_BK_DET- COLLECTION_AUTHORISATION_IND to BUS_EI_STRUC_BANKDETAIL-COLL_AUTH: Source False
(if we fill <CollectionAuthorisationIndicator>False</CollectionAuthorisationIndicator>)

 

Cause

In the Request payload, for the CollectionAuthorisationIndicator a Boolean value (False or True) is used. The CollectionAuthorisationIndicator is in the SOAP proxy an Indicator field with length 5. Internally this is mapped to the ABAP Boolean field with length 1 (true = 'X', false = ' '), but without conversion. Therefore, the error of data loss comes up as from True only T is mapped, which is not a correct value.

Resolution

Send the CollectionAuthorisationIndicator with an X or empty value instead of True or False.

<CollectionAuthorisationIndicator>X</CollectionAuthorisationIndicator>

(Or)

<CollectionAuthorisationIndicator> </CollectionAuthorisationIndicator>

For compatibility reasons it is not possible to change the accepted values from X to True since the outbound fills the value automatically with X. The API_Business_Partner documentation will be updated accordingly in one of the future releases.

Note:

All the other indicator fields have to be marked with a Boolean value (False or True). Only the field CollectionAuthorisationIndicator behaves differently due to the cause outlined above.

Keywords

CollectionAuthorisationIndicator, data loss, POST, Business Partner, API, Bank Details, BankDetails, BANKDETAIL , KBA , LO-MD-BP-WS , Web Service for Business Partner , Problem

Product

SAP S/4HANA Cloud Public Edition all versions ; SAP S/4HANA Cloud all versions