Symptom
When trying to add a new bank account to a customer via web service, the system throws some or all of the following error types:
- Bank details changed; check validity period of mandate
- Deletion of bank details not possible; active mandates exists
- Bank details alr. used in ... paymts, for instance in paymt
- IBAN missing in payer bank account for SEPA mandate
- SWIFT/BIC missing in payer bank for SEPA mandate
- Payer bank missing in SEPA mandate
- Start date of validity period missing in SEPA Mandate
- End date of validity period missing in SEPA Mandate
Environment
SAP Business ByDesign
Cause
The request might be semantically inconsistent, with mixing action codes + also with respect to ListCompleteTransmissionIndicators:
- The request might include the BankDetailsListCompleteTransmissionIndicator set to "True". In this case, when processing the request, the system will delete all existing bank details and add the ones that are included in the request. This causes error messages about bank details that are already in use, or about bank details that cannot be deleted.
- The request might include the DirectDebitMandateListCompleteTransmissionIndicator set tu "true". In this case, when processing the request, the system will try to delete the existing direct debit mandate and re-create it with the information provided (actionCode = 4).
Resolution
To add a new bank account, the following payload might be used:
<glob:CustomerBundleMaintainRequest_sync_V1>
<Customer actionCode="04">
<ObjectNodeSenderTechnicalID>001</ObjectNodeSenderTechnicalID>
<InternalID>AAA</InternalID>
<BankDetails actionCode="01">
<ObjectNodeSenderTechnicalID>BBB</ObjectNodeSenderTechnicalID>
<BankStandardID>CCC</BankStandardID>
<BankAccountHolderName>DDD</BankAccountHolderName>
<BankAccountStandardID>EEE</BankAccountStandardID>
</BankDetails>
</Customer>
</glob:CustomerBundleMaintainRequest_sync_V1>
(where AAA represents the Internal ID, BBB represents the Object Node Sender Technical ID, CCC represents the Bank Standard ID, DDD represents the Bank Account Holder Name, EEE represents the Bank Account Standard ID)
This will create the bank details (bank account) for the customer AAA
Keywords
webservice, soap, account, by, when using, not possible, impossible, , KBA , SRD-MD-BP-FIN , FIN Work Centers , Problem