Skip to main content

system.mes.productionOrder.saveProductionOrder

Description

Creates or updates a Production Orders record in the system based on the provided parameters.

Syntax

system.mes.productionOrder.saveProductionOrder(**production_order_data)

Parameters

ParameterTypeDescription
nameStringThe name of the production order.
productIdString (ULID)The ULID of the material produce to be produced.
customerIdString (ULID)The ULID of the customer that is associated with this production order.
locationIdString (ULID)The ULID of the location associated with this production order.
statusStringThe status of the production order. (e.g., IDLE, SCHEDULED, RUNNING, PAUSED, STOPPED, CLOSED, CANCELLED).
schedulePriorityStringThe schedule priority of the production order (e.g., LOW, NORMAL, HIGH, URGENT).
quantityDoubleThe total quantity to be produced in this production order.
quantityProducedDoubleThe quantity that has been already produced in this production order.
quantityScheduledDoubleThe quantity that has been scheduled to be produced in this production order.
startDateInstantThe date this production order started.
endDateInstantThe date this production order ended.
dueDateInstantThe date this production order is due.
unitOfMeasureIdString (ULID)The ULID of the unit of measure for this production order.
scheduleShiftIdString (ULID)The ULID of the shift the production order started in.
scheduleShiftNameStringThe name of the shift the production order started in.
idString (ULID)The ULID of the production order (optional, used for updating an existing production order).
notesStringNotes related to the production order.
enabledBooleanIndicates if the production order is active and enabled.
spare1StringAdditional field for user-defined context.
spare2StringAdditional field for user-defined context.
spare3StringAdditional field for user-defined context.

Returns

Returns a JSON representation of the saved production order.

Code Examples

# Generate the object structure for a new production order object, set the initial arguments and save it
new_production_order = system.mes.productionOrder.newProductionOrder()
new_production_order['productId'] = '01JCH3ENGW-82KJDZDR-JHGYCXQN'
new_production_order['name'] = 'Order002'
new_production_order['unitOfMeasureId'] = '01JCH3EPVP-1MNNDJTS-37Z75NGB'
saved_production_order = system.mes.productionOrder.saveProductionOrder(**new_production_order)

# Output the JSON representation of the saved production order
print(saved_production_order)

# Generate the object structure for another new production order to update the previous production order
production_order_data = system.mes.productionOrder.newProductionOrder()

# Set basic attributes for the updated production order
production_order_data['id'] = saved_production_order.id
production_order_data['productId'] = '01JCH3ENGW-82KJDZDR-JHGYCXQN'
production_order_data['name'] = 'Order002'
production_order_data['unitOfMeasureId'] = '01JCH3EPVP-1MNNDJTS-37Z75NGB'
production_order_data['quantity'] = '100'
# (You can continue setting other properties as needed here)

# Save the production order to update it in the system
updated_production_order = system.mes.productionOrder.saveProductionOrder(**production_order_data)

# Output the JSON representation of the updated production order
print(updated_production_order)