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>
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
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
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:
Would you know the correct payload for include several split lines with different SI or logistic areas?
Many thanks and kind regards,
Óscar
Hi,
I've found the solution using this payload:
Thanks and regards,
Óscar