Skip to main content

system.mes.operation.saveOperation

Description

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

Syntax

system.mes.operation.saveOperation(**operation_data)

Parameters

ParameterTypeDescription
locationIdString (ULID)The ULID of the location associated with the operation.
locationPathStringThe path of the location associated with the operation.
nameStringThe name of the operation.
statusStringThe status of the operation.
currentOperationRecordIdString (ULID)The ULID of the current operation record.
currentProductionOrderIdString (ULID)The ULID of the current production order associated with the operation.
runningConflictStrategyStringThe conflict strategy when a new operation is started while another is running.
triggerSourceStringThe ways that the various operations can trigger.
startTriggerExpressionStringThe Ignition expression to trigger the start of the operation.
startTriggerTypeStringThe trigger type when starting the operation.
stopTriggerExpressionStringThe Ignition expression to trigger the end of the operation.
stopTriggerTypeStringThe trigger type when stopping the operation.
productionOrderResolutionStrategyStringThe resolution strategy to get the production order.
productionOrderUpdateStrategyStringThe update strategy if the production order expression changes while the operation is active.
productionOrderExpressionStringThe Ignition expression of the production order associated with the operation.
updateProductionOrderStatusOnStartBooleanIndicates if the production order status should update when the operation starts.
startProductionOrderStatusStringThe status of the production order when the operation starts.
updateProductionOrderStatusOnStopBooleanIndicates if the production order status should update when the operation stops.
stopProductionOrderStatusStringThe status of the production order when the operation stops.
autoAddToScheduleBooleanIndicates if the operation should be automatically added to the schedule if it doesn't exist.
expectedDurationCalculationStrategyStringThe resolution strategy to get the expected duration of the operation.
expectedDurationSecondsIntegerThe expected duration of the operation in seconds.
expectedDurationExpressionStringThe Ignition expression of the expected duration of the operation.
flushIntervalMillisIntegerThe flush interval in milliseconds.
idString (ULID)The ULID of the operation (optional, used for updating an existing operation).
notesStringNotes related to the operation.
enabledBooleanIndicates if the operation 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 operation.

Code Examples

# Generate the object structure for a new operation object, set the name and save it
new_operation = system.mes.operation.newOperation()
new_operation['locationId'] = '01JD7M94CJ-HPEQEJ1F-QA8EQ6VE'
new_operation['name'] = 'Packaging'
saved_operation = system.mes.operation.saveOperation(**new_operation)

# Output the JSON representation of the saved operation
print(saved_operation)

# Generate the object structure for another new operation object to update the previous operation
operation_data = system.mes.operation.newOperation()

# Set basic attributes for the updated operation
operation_data['id'] = saved_operation.id
operation_data['locationId'] = '01JD7M94CJ-HPEQEJ1F-QA8EQ6VE'
operation_data['name'] = 'Packaging'
operation_data['flushIntervalMillis'] = 1000
# (You can continue setting other properties as needed here)

# Save the operation to update it in the system
updated_operation = system.mes.operation.saveOperation(**operation_data)

# Output the JSON representation of the updated operation
print(updated_operation)