SAP Knowledge Base Article - Public

3626384 - Actual Identified Stock and Expected Identified Stock Do Not Match

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: 

    1. 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.
    2. 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

    Product

    SAP Business ByDesign all versions