PickAllocated
Picking and packing an order in Ongoing WMS is a multi-step process:
- First, article items are allocated to the order
- Then, the allocated items are marked as picked
- Last, the picked items are marked packed
The third step (packing) is not mandatory. Note that the first step (allocation) cannot be performed via the API - it has to be done inside the system itself. For more information about how an order is processed in Ongoing WMS, please see this article.
This API call (PickAllocated) allows you to perform the second step - you can mark allocated items as having been picked.
Tags: PickAllocated, PickAllocatedOperation, ByUser, SetSerial, ArticleAndLocationCompleteHandling, RemovedArticleItemsHandling, RemoveArticleItemsSetArticleItemLock, RemoveArticleItemsSetArticleItemStatus, InventoryAdjustToZero, PickAllocated_ReAllocate, InventoryAdjustmentCause_AdjustLocation, PickAllocatedResponse, PickAllocatedResult, PickAllocatedError, ReAllocateResult
Request XML
POST /xxx/Automation.asmx HTTP/1.1
Host: api.ongoingsystems.se
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://ongoingsystems.se/Automation/PickAllocated"
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PickAllocated xmlns="http://ongoingsystems.se/Automation">
<UserName>string</UserName>
<Password>string</Password>
<Operation>
<OrderId>int</OrderId>
<ArticleDefId>int</ArticleDefId>
<NumberOfItemsToPick>decimal</NumberOfItemsToPick>
<PickedByUser>
<UserName>string</UserName>
</PickedByUser>
<PalletItemId>int</PalletItemId>
<OriginalArticleItemId>int</OriginalArticleItemId>
<Location>string</Location>
<OrderLineId>int</OrderLineId>
<AllowPickingLessThanNumberOfItemsToPick>boolean</AllowPickingLessThanNumberOfItemsToPick>
<Batch>string</Batch>
<ComputerName>string</ComputerName>
<SetSerials>
<SetSerial>
<Serial>string</Serial>
<NumberOfItems>decimal</NumberOfItems>
</SetSerial>
<SetSerial>
<Serial>string</Serial>
<NumberOfItems>decimal</NumberOfItems>
</SetSerial>
</SetSerials>
<ArticleIdentification>SystemId or ArticleNumber or ProductCode or ArticleName</ArticleIdentification>
<ArticleNumber>string</ArticleNumber>
<PalletItemLabelId>string</PalletItemLabelId>
<ArticleAndLocationCompleteHandling>
<ArticleAndLocationIsComplete>boolean</ArticleAndLocationIsComplete>
<RemoveUnPickedArticleItemsFromOrder>boolean</RemoveUnPickedArticleItemsFromOrder>
<RemovedUnPickedArticleItemsHandling>
<SetIsLocked>
<IsLocked>boolean</IsLocked>
</SetIsLocked>
<SetArticleItemStatus>
<ArticleItemStatusId>int</ArticleItemStatusId>
<ArticleItemStatusCode>string</ArticleItemStatusCode>
<ArticleItemStatusName>string</ArticleItemStatusName>
</SetArticleItemStatus>
<InventoryAdjustToZero>
<InventoryAdjustmentCause>
<Code>string</Code>
</InventoryAdjustmentCause>
<Comment>string</Comment>
</InventoryAdjustToZero>
<ReAllocate>
<AttemptToReAllocate>boolean</AttemptToReAllocate>
<KeepPalletItem>boolean</KeepPalletItem>
</ReAllocate>
</RemovedUnPickedArticleItemsHandling>
</ArticleAndLocationCompleteHandling>
</Operation>
</PickAllocated>
</soap:Body>
</soap:Envelope>
Request specification
PickAllocated |
UserName |
string(50) |
Req. |
Your username |
Password |
string(50) |
Req. |
Your password |
Operation |
PickAllocatedOperation |
Req. |
The operation object |
PickAllocatedOperation |
OrderId |
int |
Req. |
The order ID of the order to pick. |
ArticleDefId |
int |
|
The article ID of the article to pick. Required if ArticleIdentification = SystemId |
NumberOfItemsToPick |
decimal |
Req. |
The number of items to pick. |
PickedByUser |
ByUser |
Req. |
An element of type ByUser. Designates which user did the picking. |
PalletItemId |
int |
|
The pallet item ID of a pallet item that the article was placed in/on. |
OriginalArticleItemId |
int |
|
The original article item ID of an article item. Used to specify a specific article item to pick. A use case for this is when you want to assign specific serial numbers to an order. |
Location |
string(50) |
|
The location to pick from. |
OrderLineId |
int |
|
The order line ID of an order line. Used if you want to specify which order line to pick. If left empty, Ongoing WMS will match to an order line with the specified article. |
AllowPickingLessThanNumberOfItemsToPick |
boolean |
|
Set to false if you want to get an error message if you try to pick more than is allocated to an order. If set to true it will still only pick at most the allocated number of items but no error will be caused. The result will contain the actual number of picked items. True is the default value. |
Batch |
string(50) |
|
Filter by batch. If multiple batches of an article are allocated this will specify which batch to pick. Useful when there is need to track which batch is placed in which pallet item. |
ComputerName |
string(100) |
|
Name of a computer defined in the system. Used when deciding which printer to print on. |
SetSerials |
SetSerial[] |
|
A list of serials and the number of items for those serials that should be set on the article items that are being picked. |
ArticleIdentification |
enum |
|
Defines what you want to identify the article by: - SystemId (same as ArticleDefId) - ArticleNumber Most integrations will use SystemId (default) |
ArticleNumber |
string(100) |
|
Article number. Required if ArticleIdentification = ArticleNumber |
PalletItemLabelId |
string |
|
The pallet item label ID of a pallet item that the article was placed in/on. |
ArticleAndLocationCompleteHandling |
ArticleAndLocationCompleteHandling |
|
A ArticleAndLocationCompleteHandling object containing information about how to handle deviations in stock levels. The actions specified in this will apply to the remaining items, that could not be picked, for the same article and location. Only applicable if ArticleAndLocationComplete = True. |
ByUser |
UserName |
string(50) |
Req. |
The name of the user. Must be an actual user in Ongoing WMS. Will be set as the user that performed the packing. |
SetSerial |
Serial |
string |
|
The serial to set. |
NumberOfItems |
decimal |
|
Number of items to set the serial on. |
ArticleAndLocationCompleteHandling |
ArticleAndLocationIsComplete |
boolean |
|
Set to true to let Ongoing WMS know that the last item for the article and location have been picked. |
RemoveUnPickedArticleItemsFromOrder |
boolean |
|
If the items should be removed (deallocated) from the order. |
RemovedUnPickedArticleItemsHandling |
RemovedArticleItemsHandling |
|
A RemovedArticleItemsHandling object containing information about how to handle the items that have been removed (deallocated) from the order. |
RemovedArticleItemsHandling |
SetIsLocked |
RemoveArticleItemsSetArticleItemLock |
|
Used to lock the items. |
SetArticleItemStatus |
RemoveArticleItemsSetArticleItemStatus |
|
Used to set the items to some specific status. |
InventoryAdjustToZero |
InventoryAdjustToZero |
|
Specify this to inventory adjust the items to zero, effectively removing them from stock. |
ReAllocate |
PickAllocated_ReAllocate |
|
Used to attempt to reallocate items from another location. Only applicable if items have been removed (deallocated) from the order. |
RemoveArticleItemsSetArticleItemLock |
IsLocked |
boolean |
|
|
RemoveArticleItemsSetArticleItemStatus |
ArticleItemStatusId |
int |
|
|
ArticleItemStatusCode |
string |
|
|
ArticleItemStatusName |
string |
|
|
InventoryAdjustToZero |
InventoryAdjustmentCause |
InventoryAdjustmentCause_AdjustLocation |
|
Inventory adjustment cause. |
Comment |
string |
|
Inventory adjustment comment. |
PickAllocated_ReAllocate |
AttemptToReAllocate |
boolean |
|
If a re-allocation should be attempted or not. |
KeepPalletItem |
boolean |
|
Set to true if reallocated items should be placed in the same pallet item(s) as the removed items were in. |
InventoryAdjustmentCause_AdjustLocation |
Code |
string |
|
Adjustment cause code. |
Response XML
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PickAllocatedResponse xmlns="http://ongoingsystems.se/Automation">
<PickAllocatedResult>
<Errors>
<PickAllocatedError>
<Message>string</Message>
<ErrorType>UnknownError or LogonError or LocationNotFound or ArticleNotFound or ArticleNotOnOrder or GoodsOwnerIsDeleted or OrderIdNotFound or OrderLineIdMissMatch or NumberOfItemsToPickGreaterThanLeftToPickOnOrder or PalletItemIdNotFound or ErrorWhileSaving or PickedByUserError or ErrorWhileSettingSerial or PalletItemLabelIdNotFound</ErrorType>
</PickAllocatedError>
<PickAllocatedError>
<Message>string</Message>
<ErrorType>UnknownError or LogonError or LocationNotFound or ArticleNotFound or ArticleNotOnOrder or GoodsOwnerIsDeleted or OrderIdNotFound or OrderLineIdMissMatch or NumberOfItemsToPickGreaterThanLeftToPickOnOrder or PalletItemIdNotFound or ErrorWhileSaving or PickedByUserError or ErrorWhileSettingSerial or PalletItemLabelIdNotFound</ErrorType>
</PickAllocatedError>
</Errors>
<Success>boolean</Success>
<PickedNumberOfItems>decimal</PickedNumberOfItems>
<ReAllocateResult>
<ReAllocatedNumberOfItems>decimal</ReAllocatedNumberOfItems>
<ReAllocateResultType>NothingReAllocated or OrderPartlyAllocated or OrderFullyAllocated</ReAllocateResultType>
</ReAllocateResult>
</PickAllocatedResult>
</PickAllocatedResponse>
</soap:Body>
</soap:Envelope>
Response specification
PickAllocatedResponse |
PickAllocatedResult |
PickAllocatedResult |
|
PickAllocatedResult |
Errors |
PickAllocatedError[] |
|
Success |
boolean |
True if successful, false otherwise. |
PickedNumberOfItems |
decimal |
Confirmation of how many items that were picked. |
ReAllocateResult |
ReAllocateResult |
The re-allocation result. |
PickAllocatedError |
Message |
string |
Message explaining the error. |
ErrorType |
enum |
The type of error: - UnknownError
- LogonError
- LocationNotFound
- ArticleNotFound
- ArticleNotOnOrder
- GoodsOwnerIsDeleted
- OrderIdNotFound
- OrderLineIdMissMatch
- NumberOfItemsToPickGreaterThanLeftToPickOnOrder
- PalletItemIdNotFound
- ErrorWhileSaving
- PackedByUserError
|
ReAllocateResult |
ReAllocatedNumberOfItems |
decimal |
The number of items that could be re-allocated. |
ReAllocateResultType |
enum |
The re-allocation result type. One of: - NothingReAllocated
- OrderPartlyAllocated
- OrderFullyAllocated
|