Skip to main content

system.mes.oee.validatePerformanceReason

Description

Validates an OEE Performance Reason object without saving it. This is useful for checking if a performance reason is valid before attempting to save it.

Permissions

This method requires the OEE.READ.VALIDATE permission.

Syntax

system.mes.oee.validatePerformanceReason(**reasonData)

Parameters

An unpacked dictionary of OeePerformanceReasonDTO fields.

ParameterTypeNullableDescriptionDefault Value
idStringTrueThe id of the Performance Reasonnull
locationIdStringTrueIdentifier of the associated location where this performance reason appliesnull
locationPathStringTruePath of the associated location where this performance reason appliesnull
parentIdStringTrueIdentifier of the parent performance reason, if applicablenull
codeIntegerFalseUnique fault code associated with this performance reason0
nameStringFalseName of the performance reasonnull
descriptionStringTrueDescription of the performance reasonnull
pathStringTruePath representation of the performance reason within a hierarchical structurenull
notesStringTrueNotes associated with the Performance Reasonnull
enabledbooleanTrueIndicates whether the Performance Reason is enabledtrue
spare1StringTrueExtra field 1null
spare2StringTrueExtra field 2null
spare3StringTrueExtra field 3null

Returns

A JSON object containing validation results. If the object is empty, validation passed. If it contains entries, the keys are the field names and the values are lists of validation error messages.

Code Examples

# Create a new performance reason object
newReason = system.mes.oee.newPerformanceReason()

# Set some attributes (leaving required fields blank to trigger validation errors)
newReason['enabled'] = True

# Validate the performance reason
validationErrors = system.mes.oee.validatePerformanceReason(**newReason)

if not validation_errors:
print "Validation passed. Performance reason is valid."
else:
print "Validation failed. Errors:"
for field, errors in validationErrors.items():
print " - {}: {}".format(field, ", ".join(errors))

# Example of a valid reason
validReason = system.mes.oee.newPerformanceReason()
validReason['name'] = 'Mechanical'
validReason['code'] = 100
# ... other required fields ...

errors = system.mes.oee.validatePerformanceReason(**validReason)
if not errors:
print "\nThe second performance reason is valid."