Skip to main content

system.mes.oee.validateQualityReason

Description

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

Permissions

This method requires the OEE.READ.VALIDATE permission.

Syntax

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

Parameters

An unpacked dictionary of OeeQualityReasonDTO fields.

ParameterTypeNullableDescriptionDefault Value
idStringTrueThe id of the Quality Reasonnull
locationIdStringTrueIdentifier of the associated location where this quality reason appliesnull
locationPathStringTruePath of the associated location where this quality reason appliesnull
parentIdStringTrueIdentifier of the parent quality reason, if applicablenull
codeIntegerFalseUnique fault code associated with this quality reason0
nameStringFalseName of the quality reasonnull
descriptionStringTrueDescription of the quality reasonnull
pathStringTruePath representation of the quality reason within a hierarchical structurenull
notesStringTrueNotes associated with the Quality Reasonnull
enabledbooleanTrueIndicates whether the Quality 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 quality reason object
newReason = system.mes.oee.newQualityReason()

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

# Validate the quality reason
validationErrors = system.mes.oee.validateQualityReason(**newReason)

if not validation_errors:
print "Validation passed. Quality 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.newQualityReason()
validReason['name'] = 'Mechanical'
validReason['code'] = 100
# ... other required fields ...

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