Symptom
You want to use API access to confirm a warehouse task. Specifically, for a particular line of product XYZ, you want to confirm the quantity by splitting and confirming with two different identified stock A and B. However, an error occurs 'Actual identified stock B and expected identified stock A do not match' while accessing the API.
Environment
SAP Business ByDesign
Reproducing the Issue
# Request Payload #
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
<soap:Header/>
<soap:Body>
<glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
<BasicMessageHeader></BasicMessageHeader>
<SiteLogisticsTask>
<SiteLogisticTaskID>?</SiteLogisticTaskID>
<SiteLogisticTaskUUID>?</SiteLogisticTaskUUID>
<ActualExecutionOn>?</ActualExecutionOn>
<ReferenceObject>
<OperationActivity>
<OperationActivityUUID>?</OperationActivityUUID>
<MaterialInput>
<MaterialInputUUID>?</MaterialInputUUID>
<SourceLogisticsAreaID>?</SourceLogisticsAreaID>
</MaterialInput>
<MaterialOutput>
<SplitIndicator>true</SplitIndicator>
<ProductID>XYZ</ProductID>
<ActualQuantity unitCode="?">?</ActualQuantity>
<MaterialOutputUUID>?</MaterialOutputUUID>
<IdentifiedStockID>A</IdentifiedStockID>
</MaterialOutput>
<MaterialOutput>
<SplitIndicator>false</SplitIndicator>
<ProductID>XYZ</ProductID>
<ActualQuantity unitCode="?">?</ActualQuantity>
<IdentifiedStockID>B</IdentifiedStockID>
</MaterialOutput>
</OperationActivity>
</ReferenceObject>
</SiteLogisticsTask>
</glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
</soap:Body>
</soap:Envelope>
# Parts of response payload #
<faultDetail>
<severity>W</severity>
<text>Actual identified stock B and expected identified stock A do not match</text>
<id>?</id>
</faultDetail>
Cause
There is a missing tag as below between the two MaterialOutput nodes to clear the expected identified stock value after each split from your payload.
</MaterialOutput>
<ClearIdentifiedStockIDIndicator>true</ClearIdentifiedStockIDIndicator>
<MaterialOutput>
Resolution
Below payload can well explain how to add the tag by comparing the initial request payload provided in the Reproducing the Issue Session.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
<soap:Header/>
<soap:Body>
<glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
<BasicMessageHeader></BasicMessageHeader>
<SiteLogisticsTask>
<SiteLogisticTaskID>?</SiteLogisticTaskID>
<SiteLogisticTaskUUID>?</SiteLogisticTaskUUID>
<ActualExecutionOn>?</ActualExecutionOn>
<ReferenceObject>
<OperationActivity>
<OperationActivityUUID>?</OperationActivityUUID>
<MaterialInput>
<MaterialInputUUID>?</MaterialInputUUID>
<SourceLogisticsAreaID>?</SourceLogisticsAreaID>
</MaterialInput>
<MaterialOutput>
<SplitIndicator>true</SplitIndicator>
<ProductID>XYZ</ProductID>
<ActualQuantity unitCode="?">?</ActualQuantity>
<MaterialOutputUUID>?</MaterialOutputUUID>
<IdentifiedStockID>A</IdentifiedStockID>
</MaterialOutput>
<MaterialOutput>
<ClearIdentifiedStockIDIndicator>true</ClearIdentifiedStockIDIndicator>
</MaterialOutput>
<MaterialOutput>
<SplitIndicator>false</SplitIndicator>
<ProductID>XYZ</ProductID>
<SourceLogisticsAreaID>?</SourceLogisticsAreaID>
<ActualQuantity unitCode="?">?</ActualQuantity>
<IdentifiedStockID>B</IdentifiedStockID>
</MaterialOutput>
</OperationActivity>
</ReferenceObject>
</SiteLogisticsTask>
</glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
</soap:Body>
</soap:Envelope>
NOTE:
- This applies to all warehouse tasks. But this payload is only used as the example. The structure and the content of the request payload that accessing the different APIs need to be considered based on the specific business.
- If it is split multiple times, you need to add this tag between the two <MaterialOutput> nodes after each split.
Keywords
Actual Identified Stock and Expected Identified Stock Do Not Match, Warehouse Task, API, Webservice, MaterialOutput, Split , KBA , AP-SLP-TSK , Site Logistics Task , How To