Skip to main content

system.mes.productionOrder.validateBillOfMaterialsItem

Description

Validates the specified parameters for a Production Order Bill of Materials record and returns any validation errors. This only checks if the bill of materials object can be saved based on the attributes given, without actually creating or modifying the bill of materials. Use this function to verify your parameters before executing a save bill of materials operation.

Syntax

system.mes.productionOrder.validateBillOfMaterialsItem(**bill_of_materials_data)

Parameters

ParameterTypeNullableDescription
productIdString (ULID)FalseThe ULID for the material produce to be produced.
productionOrderIdString (ULID)FalseThe ULID for the production order associated with this bill of materials.
materialNameStringTrueThe name of the material that is a component of the produce.
materialIdString (ULID)FalseThe ULID of the material that is a component of the produce.
quantityPerProducedUnitDoubleFalseThe quantity of the material used per unit produced of the product.
quantityOrderDoubleFalseThe quantity of the material used per order.
unitOfMeasureIdString (ULID)FalseThe ULID of the unit of measure for this bill of materials.
unitOfMeasureNameStringTrueThe name of the unit of measure for this bill of materials.
positionIntegerFalseThe position of this bill of materials for the product. Default value is 0
materialGroupStringFalseThe material group of the material associated with this bill of materials.
materialTypeStringFalseThe material type of the material associated with this bill of materials. Default value is PRODUCT
idString (ULID)TrueThe ULID of the bill of materials (optional, used for updating an existing bill of materials).
notesStringTrueNotes related to the bill of materials.
enabledBooleanTrueIndicates if the bill of materials is active and enabled. Default value is true
spare1StringTrueAdditional field for user-defined context.
spare2StringTrueAdditional field for user-defined context.
spare3StringTrueAdditional field for user-defined context.

Returns

Returns a JSON object where keys are field names and values are lists of validation violation messages.

Code Examples

# Generate the object structure for a new bill of materials object
bill_of_materials_data = system.mes.productionOrder.newBillOfMaterialsItem()

# Set basic attributes for the new bill of materials
bill_of_materials_data['quantityOrder'] = 1000.0
bill_of_materials_data['materialGroup'] = 'CAN'
bill_of_materials_data['unitOfMeasureId'] = '01JCH3EPVP-1MNNDJTS-37Z75NGB'
bill_of_materials_data['materialId'] = '01JCH3ENGW-82KJDZDR-JHGYCXQN'
bill_of_materials_data['quantityPerProducedUnit'] = 10.0
# (You can continue setting other properties as needed here)

# Validate bill of materials parameters
validation_errors = system.mes.productionOrder.validateBillOfMaterialsItem(**bill_of_materials_data)

if len(validation_errors) > 0:
print('Validation errors found:', validation_errors)
else:
print('Bill of materials parameters are valid.')