system.mes.inventory.receive
Receives inventory into the MES based on the provided parameters.
Syntax
system.mes.inventory.receive(**receiveRequest)
Parameters
| Parameter | Type | Nullable | Description |
|---|---|---|---|
type | String | True | The type of request defined by the LotRecordType Enum. It is internally set and must not be modified, as changes may break functionality. |
quantity | Double | False | The quantity to receive from the location. |
unitOfMeasureSymbol | String | True | The symbol of the unit of measure for the quantity. |
lotIdOrName | String | True | The ID or name of the inventory lot from which the material is being received. |
materialIdOrPath | String | False | The ID or path of the material being received. |
destinationLocationIdOrPath | String | False | The ID or path of the location the received inventory goes to. |
sourceLotIdOrName | String | True | The id or name of the receiving lot. |
sourceMaterialIdOrPath | String | True | The id or path of the material for the source lot. |
sourceLocationIdOrPath | String | True | The ID or path of the location from which the inventory will be received. |
createIfNotExists | Boolean | False | Indicates whether the system should create the lot if it does not exist. Default value is false. |
operationId | String (ULID) | True | The ID of the operation receiving this inventory. |
inventoryOperationId | String (ULID) | True | The ID of the inventory operation related to this receive action. |
productionOrderIdOrName | String | True | The ID or name of the production order associated with the receipt. |
materialReasonCodeId | String (ULID) | True | The ID of the material reason code to add additional context. |
startDate | Instant | False | The start date and time of the receipt. Default value is Current Instant. |
endDate | Instant | True | The end date and time of the receipt. |
ongoing | Boolean | False | Indicates whether this request is ongoing. Default value is false. |
inventoryName | String | True | The name of the inventory. |
notes | String | True | Notes related to the receive request. |
spare1 | String | True | Additional field for user-defined context. |
spare2 | String | True | Additional field for user-defined context. |
spare3 | String | True | Additional field for user-defined context. |
Returns
Returns a JSON representation of an inventory lot record for a Receive Request.
| Name | Type | Description |
|---|---|---|
lotRecordType | String | The type of change for the record. |
inventoryLotId | String (ULID) | The ULID of the primary inventory lot for the inventory lot record. |
inventoryLotName | String | The name of the primary inventory lot for the inventory lot record. |
secondaryInventoryLotId | String (ULID) | The ULID of the secondary inventory lot for the inventory lot record. |
secondaryInventoryLotName | String | The name of the secondary inventory lot for the inventory lot record. |
operationRecordId | String (ULID) | The ULID of the operation record for the inventory lot record. |
inventoryOperationId | String (ULID) | The ULID of the inventory operation for the inventory lot record. |
inventoryOperationName | String | The name of the inventory operation for the inventory lot record. |
productionOrderId | String (ULID) | The ULID of the production order for the inventory lot record. |
productionOrderName | String | The name of the production order for the inventory lot record. |
materialReasonCodeId | String (ULID) | The ULID of the material reason code for the inventory lot record. |
materialReasonCodeName | String | The name of the material reason code for the inventory lot record. |
sourceLocationId | String (ULID) | The source location of the inventory or lot being operated. |
sourceLocationName | String | The name of the source location of the inventory or lot being operated. |
sourceLocationPath | String | The path of the source location of the inventory or lot being operated. |
destinationLocationId | String (ULID) | The destination location of the inventory or lot being operated. |
destinationLocationName | String | The name of the destination location of the inventory or lot being operated. |
destinationLocationPath | String | The path of the destination location of the inventory or lot being operated. |
lotStatus | String | The status of the inventory lot. |
quantity | Double | The quantity of units being changed depending on the lotRecordType. |
unitOfMeasureId | String | The ID of the unit of measure for the quantity. |
unitOfMeasureName | String | The name of the unit of measure for the quantity. |
unitOfMeasureSymbol | String | The symbol of the unit of measure for the quantity. |
startDate | Instant | The beginning timestamp of the inventory lot change. |
endDate | Instant | The end timestamp of the inventory lot change. |
status | String | The status of the inventory lot record (e.g. Running, Completed, Faulted). |
duration | Long | The duration in seconds. |
shiftRecordId | String | The shift the inventory lot record occurred in. |
id | String (ULID) | The ULID of the inventory lot record (optional, used for updating an existing inventory lot record). |
notes | String | Notes related to the inventory lot. |
enabled | Boolean | Indicates if the inventory lot is active and enabled. |
spare1 | String | Additional field for user-defined context. |
spare2 | String | Additional field for user-defined context. |
spare3 | String | Additional field for user-defined context. |
Code Examples
# Generate the object structure for a new receive request object with no initial arguments
newRequest = system.mes.inventory.newReceiveRequest()
# Set basic attributes for the new receive request
newRequest['materialIdOrPath'] = 'Bottle/Milk'
newRequest['destinationLocationIdOrPath'] = 'DairyCo'
newRequest['quantity'] = 610
newRequest['createIfNotExists'] = True
# (You can continue setting other properties as needed here)
# Receive the inventory
receiptLotRecord = system.mes.inventory.receive(**newRequest)
# Output the JSON representation of the lot record of the receipt
print(receiptLotRecord)