Skip to Content
Author's profile photo Stefan Resag

Split task to pick different iStocks

Hello,

in the following I would like to describe how you can use the ManageSiteLogisticsTaskIn A2X service to confirm a pick task (one-step) from different iStocks.

In my example I want to pick 3 EA of product SR_FG_02, 1 EA from iStock SR_098204 and 2 EA from iStock SR_0293482.

Of cause first you have to query the corresponding task. You can use the QuerySiteLogisticsTaskIn to do so. In the below example I query the task with ID 813. The payload shown below can be used e.g. in SOAP UI.

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:glob=”http://sap.com/xi/SAPGlobal20/Global”>
<soapenv:Header/>
<soapenv:Body>
<glob:SiteLogisticsTaskByElementsQuery_sync>
<SiteLogisticsTaskSelectionByElements>
<SelectionBySiteLogisticsTaskID>
<InclusionExclusionCode>I</InclusionExclusionCode>
<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>
<LowerBoundarySiteLogisticsTaskID>813</LowerBoundarySiteLogisticsTaskID>
</SelectionBySiteLogisticsTaskID>
</SiteLogisticsTaskSelectionByElements>
<ProcessingConditions>
<QueryHitsMaximumNumberValue>50</QueryHitsMaximumNumberValue>
<QueryHitsUnlimitedIndicator>false</QueryHitsUnlimitedIndicator>
<LastReturnedObjectID></LastReturnedObjectID>
</ProcessingConditions>
</glob:SiteLogisticsTaskByElementsQuery_sync>
</soapenv:Body>
</soapenv:Envelope>

In the following you can find the SOAP payload to confirm task 813:

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:glob=”http://sap.com/xi/SAPGlobal20/Global”>
<soapenv:Header/>
<soapenv:Body>
<glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
<BasicMessageHeader>
<ID>1</ID>
</BasicMessageHeader>
<SiteLogisticsTask>
<SiteLogisticTaskID>813</SiteLogisticTaskID>
<SiteLogisticTaskUUID>00163e0e-25a6-1ed7-83db-9cbc3898d602</SiteLogisticTaskUUID>
<ReferenceObject>
<ReferenceObjectUUID>00163e0e-25a6-1ed7-83db- 9cbc3898f602</ReferenceObjectUUID>
<OperationActivity>
<OperationActivityUUID>00163e0e-25a6-1ed7-83db-9cbc3897b602</OperationActivityUUID>
<MaterialInput>
<MaterialInputUUID>00163e0e-25a6-1ed7-83db-9cbc3897f602</MaterialInputUUID>
<SourceLogisticsAreaID>P1100-20</SourceLogisticsAreaID>
</MaterialInput>
<MaterialOutput>
<MaterialOutputUUID>00163e0e-25a6-1ed7-83db-9cbc38981602</MaterialOutputUUID>
<ProductID>SR_FG_02</ProductID>
<ActualQuantity unitCode=”EA”>1.0</ActualQuantity>
<IdentifiedStockID>SR_098204</IdentifiedStockID>
<SplitIndicator>true</SplitIndicator>
</MaterialOutput>
<MaterialOutput>
<MaterialOutputUUID/>
<ProductID>SR_FG_02</ProductID>
<IdentifiedStockID>SR_0293482</IdentifiedStockID>
<SourceLogisticsAreaIDPostSplit>P1100-20</SourceLogisticsAreaIDPostSplit>
</MaterialOutput>
<MaterialOutput>
<MaterialOutputUUID/>
<ActualQuantity unitCode=”EA”>2.0</ActualQuantity>
</MaterialOutput>
</OperationActivity>
</ReferenceObject>
</SiteLogisticsTask>
</glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
</soapenv:Body>
</soapenv:Envelope>

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Yumiko Abe
      Yumiko Abe

      Hello Stefan,

      I tried to confirm task document of outbound via this API but it doesn't work correctly.

      Could you have any sample data?

      I would like to create standard case,

      For exemple:

      Product ID :  PRO1000

      Quantity in the Task document : 5.0 EA

      Source Logistics Area : P1100-20

      Quantity of Outbound : 5.0 EA

       

      This is my Soap UI data, but in this case Task confirm status changed "In process" not "Finished".

      And Outbound Delivery document didn't create.

      I am very appreciate if you reply me.

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
      <soapenv:Header/>
      <soapenv:Body>
      <glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
      <BasicMessageHeader> </BasicMessageHeader>
      <!--Zero or more repetitions:-->
      <SiteLogisticsTask>
      <SiteLogisticTaskID>1154</SiteLogisticTaskID>
      <SiteLogisticTaskUUID>00163e0e-4638-1ee9-a08e-ae4c7620c1f6</SiteLogisticTaskUUID>
      <ReferenceObject>
      <ReferenceObjectUUID>00163e0e-4638-1ee9-a08e-ae4c7620e1f6</ReferenceObjectUUID>
      <OperationActivity>
      <OperationActivityUUID>00163e0e-4638-1ee9-a08e-ae4c761f41f6</OperationActivityUUID>
      <MaterialInput>
      <MaterialInputUUID>00163e0e-4638-1ee9-a08e-ae4c761f81f6</MaterialInputUUID>
      <SourceLogisticsAreaID>P1100-20</SourceLogisticsAreaID>
      <ProductID>PRO1000</ProductID>
      <ActualQuantity unitCode="EA">5.0</ActualQuantity>
      </MaterialInput>
      </OperationActivity>
      </ReferenceObject>
      </SiteLogisticsTask>
      </glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
      </soapenv:Body>
      </soapenv:Envelope>

       

      Thank you and best regards,

      Yumiko

      Author's profile photo Stefan Resag
      Stefan Resag
      Blog Post Author

      Hi Yumiko,

      what is happening in case you confirm the task via normal UI? Normally a task changes to status 'In process' in case not the full quantity is confirmed. What is the open quantity before and after you execute the API?

      Best regards,

      Stefan

      Author's profile photo Óscar Espinar Lázaro
      Óscar Espinar Lázaro

      Hi Stefan,

      Thanks for your post, it's really useful.

      Confirm tasks with one split and two identifies stocks works fine, but when I try to confirm with more than two, SAP is  grouping the lines.

      This is what I pretend:

      - Original line with IS DEV1: 1 EA
      - New Split line with IS DEV2: 2 EA
      - New Split lines with IS DEV3: 3 EA

      And this is the result:
      - Original line with IS DEV1: 1 EA
      - New Split line with IS DEV3: 5 EA

      This is the payload I'm using:

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
      <soapenv:Header/>
      <soapenv:Body>
      <glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
      <BasicMessageHeader></BasicMessageHeader>
      <SiteLogisticsTask>
      <SiteLogisticTaskID>5083</SiteLogisticTaskID>
      <SiteLogisticTaskUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D62DD8FF</SiteLogisticTaskUUID>
      <ReferenceObject>
      <ReferenceObjectUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D62DF8FF</ReferenceObjectUUID>
      <OperationActivity>
      <OperationActivityUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D629F8FF</OperationActivityUUID>
      
      <MaterialOutput>
      <MaterialOutputUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D62AB8FF</MaterialOutputUUID>
      <ProductID>91811/38</ProductID>
      <TargetLogisticsAreaID>RECIBO_CABLO</TargetLogisticsAreaID>
      <ActualQuantity unitCode="EA">1.00</ActualQuantity>
      <IdentifiedStockID>DEV1</IdentifiedStockID>
      <SplitIndicator>true</SplitIndicator>
      </MaterialOutput>
      
      
      <MaterialOutput>
      <MaterialOutputUUID/>
      <ProductID>91811/38</ProductID>
      <IdentifiedStockID>DEV2</IdentifiedStockID>
      <TargetLogisticsAreaID>RECIBO_CABLO</TargetLogisticsAreaID>
      </MaterialOutput>
      
      <MaterialOutput>
      <MaterialOutputUUID/>
      <ActualQuantity unitCode="EA">2.00</ActualQuantity>
      </MaterialOutput>
      
      <MaterialOutput>
      <MaterialOutputUUID/>
      <ProductID>91811/38</ProductID>
      <IdentifiedStockID>DEV3</IdentifiedStockID>
      <TargetLogisticsAreaID>TRANSPIQN</TargetLogisticsAreaID>
      </MaterialOutput>
      
      <MaterialOutput>
      <MaterialOutputUUID/>
      <ActualQuantity unitCode="EA">3.00</ActualQuantity>
      </MaterialOutput>
      
      </OperationActivity>
      </ReferenceObject>
      </SiteLogisticsTask>
      </glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
      </soapenv:Body>
      </soapenv:Envelope>

       

      Would you know the correct payload for include several split lines with different SI or logistic areas?

      Many thanks and kind regards,

      Óscar

      Author's profile photo Óscar Espinar Lázaro
      Óscar Espinar Lázaro

      Hi,

      I've found the solution using this payload:

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
      <soapenv:Header/>
      <soapenv:Body>
      <glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
      <BasicMessageHeader></BasicMessageHeader>
      <SiteLogisticsTask>
      <SiteLogisticTaskID>5083</SiteLogisticTaskID>
      <SiteLogisticTaskUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D62DD8FF</SiteLogisticTaskUUID>
      <ReferenceObject>
      <ReferenceObjectUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D62DF8FF</ReferenceObjectUUID>
      <OperationActivity>
      <OperationActivityUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D629F8FF</OperationActivityUUID>
      
      <MaterialOutput>
      <MaterialOutputUUID>00163EC2-9D4B-1EEC-ABD6-AAC6D62AB8FF</MaterialOutputUUID>
      <ProductID>91811/38</ProductID>
      <TargetLogisticsAreaID>RECIBO_CABLO</TargetLogisticsAreaID>
      <ActualQuantity unitCode="EA">1.00</ActualQuantity>
      <IdentifiedStockID>DEV1</IdentifiedStockID>
      <SplitIndicator>true</SplitIndicator>
      </MaterialOutput>
      
      <MaterialOutput>
      <MaterialOutputUUID/>
      <ProductID>91811/38</ProductID>
      <IdentifiedStockID>DEV2</IdentifiedStockID>
      <TargetLogisticsAreaID>RECIBO_CABLO</TargetLogisticsAreaID>
      <SplitIndicator>true</SplitIndicator>
      <ActualQuantity unitCode="EA">2.00</ActualQuantity>
      </MaterialOutput>
      
      <MaterialOutput>
      <MaterialOutputUUID/>
      <ProductID>91811/38</ProductID>
      <IdentifiedStockID>DEV3</IdentifiedStockID>
      <TargetLogisticsAreaID>TRANSPIQN</TargetLogisticsAreaID>
      <ActualQuantity unitCode="EA">3.00</ActualQuantity>
      </MaterialOutput>
      
      </OperationActivity>
      </ReferenceObject>
      </SiteLogisticsTask>
      </glob:SiteLogisticsTaskBundleMaintainRequest_sync_V1>
      </soapenv:Body>
      </soapenv:Envelope>

      Thanks and regards,

      Óscar