Your ManageCustomerIn webservice request to update the Financial Data of an Account fails to change the value in the element AccountDeterminationGroup despite the status code returned by the service indicating a successful processing.
Reproducing the Issue
- Execute the ManageCustomerIn webservice after changing data in the element AccountDeterminationGroup.
- In the system, go to the Account Management work center.
- Go to the Accounts view.
- Show All Accounts.
- Find Account XYZ (XYZ represents the account's name).
- Select the account and click Edit - Financial Data.
- In the tab Payment Data, for the concerned company, check in the column Account Determination Group if the change has been applied.
You can see that the change has not been reflected in the Account's Master Data.
The data is not getting updated because the value of element AccountDeterminationGroup cannot be changed directly. The agent is modelled to ignore update requests on that element, leading to an empty change request that is processed successfully.
As the element AccountDeterminationGroup is not a regular one but rather an alternative key element, the update of this element's value has to be resolved by a deletion and a subsequent creation. The backend model behind the PaymentData message segment is quite complex and consists of three different business objects. In order not to break the choreography, the deletion and creation of PaymentData have to be done in separate, subsequent web service calls.
In the webservice's XML, this AccountDeterminationGroup element's value has to be updated first by a deletion of the data and then a subsequent creation of the new data:
- The initial XML data is : <AccountDeterminationDebtorGroupCode>123</AccountDeterminationDebtorGroupCode> - (123 represents one Account Determination Group).
- Delete the data from the AccountDeterminationGroup element in the webservice XML and execute it to save the changes.
- Enter the new data to the XML: <AccountDeterminationDebtorGroupCode>456</AccountDeterminationDebtorGroupCode> - (456 represents another Account Determination Group).
In the system, you can see that the change has now been reflected in the Account's Master Data.
KBA , SRD-CC , Cross Components , How To