Symptom
You expect to update the Service Confirmation via webservice, however, the response comes as error: Update not possible; existing data for ITEM not fully specified.
Environment
SAP Business ByDesign
Reproducing the Issue
You run your payload e.g. (Note that all relevant values have been changed to a placeholder as 'XXXXXX')
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
<soapenv:Header/>
<soapenv:Body>
<glob:ServiceConfirmationBundleMaintainRequest_sync>
<BasicMessageHeader/>
<ServiceConfirmation ItemListCompleteTransmissionIndicator="false">
<ID>XXXXXX</ID>
<Item actionCode="02">
<UUID>XXXXXX</UUID>
<ID>XXXXXX</ID>
<Product actionCode="02">
<ProductInternalID>XXXXXX</ProductInternalID>
<QuantityMeasureUnitCode>XXXXXX</QuantityMeasureUnitCode>
</Product>
<ScheduleLine actionCode="02">
<Quantity unitCode="EA">XXXXXX</Quantity>
<UUID>XXXXXX</UUID>
</ScheduleLine>
</Item>
</ServiceConfirmation>
</glob:ServiceConfirmationBundleMaintainRequest_sync>
</soapenv:Body>
</soapenv:Envelope>
The response comes as error: Update not possible; existing data for ITEM not fully specified.
Cause
As per current logic when modification is being set for <ScheduleLine> then it is looking for alternate key as <Id> and that is not passed in payload.
Resolution
So please add <Id>ABC</Id> in ScheduleLine to avoid this error. (Where ABC represents the relevant ID for the scenario).
Follow example given below:
<ScheduleLine actionCode="02">
<Id>ABC</Id>
<Quantity unitCode="EA">XXXXXX</Quantity>
<UUID>XXXXXX</UUID>
</ScheduleLine>
Keywords
Service Confirmation; SOAP; Webservices; Update; Error; Payload; , KBA , SRD-CRM-SEO , Service Orders , How To