Skip to main content

system.mes.oee.validateAvailabilityReason

Description

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

Permissions

This method requires the OEE.READ.VALIDATE permission.

Syntax

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

Parameters

An unpacked dictionary of OeeAvailabilityReasonDTO fields.

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

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

# Validate the availability reason
validationErrors = system.mes.oee.validateAvailabilityReason(**newReason)

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

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