Skip to main content
Version: V3 (Ignition 8.3)

system.mes.inventory.validateChangeStatusRequest

Description​

Validates the specified parameters for a change status request and returns any validation errors. This only checks if the status change request can be processed based on the attributes given, without actually changing the inventory status. Use this function to verify your parameters before executing the actual status change operation.

Permissions​

This method requires the INVENTORY.READ.VALIDATE permission.

Syntax​

system.mes.inventory.validateChangeStatusRequest(**changeStatusRequest)

Parameters​

ParameterTypeNullableDescription
typeStringTrueThe type of request defined by the LotRecordType Enum. It is internally set and must not be modified, as changes may break functionality.
lotIdString (ULID)FalseThe ID of the inventory lot whose status is being updated.
newStatusStringFalseThe new status to be assigned to the inventory lot.
destinationLotIdOrNameStringTrueThe ID or name of the inventory lot this status change hands the material over to, for example a hold, quarantine or rework lot. Recorded as the lot record's secondary lot so track and trace can draw an edge from the lot whose status changed to this lot. Leave it unset for a plain status change that involves no other lot. A name that matches no existing lot creates one. Recorded for traceability only, neither lot's quantities change and only the primary lot's status is updated.
destinationMaterialIdOrPathStringTrueThe ID or path of the material for the destination lot. Only needed when it differs from the material of the lot whose status is changing.
operationIdString (ULID)TrueThe ID of the operation changing the status of this inventory.
inventoryOperationIdString (ULID)TrueThe ID of the inventory operation related to this change status action.
notesStringTrueNotes related to the change status request.
spare1StringTrueAdditional field for user-defined context.
spare2StringTrueAdditional field for user-defined context.
spare3StringTrueAdditional field for user-defined context.
Lot genealogy

Name destinationLotIdOrName to record the lot the reclassified material is booked against, so track and trace can follow it from the lot whose status changed into that lot. The link is recorded on the inventory lot record as its secondary lot, and is what getLotTraceGraph follows when it draws the genealogy. Naming a lot that does not exist yet creates it. No quantity arithmetic changes, the link is recorded for traceability only.

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 change status request object with no initial arguments
changeStatusRequest = system.mes.inventory.newChangeStatusRequest()

# Set basic attributes for the new change status request
changeStatusRequest['newStatus'] = 'AVAILABLE'
changeStatusRequest['lotId'] = '01JJCQEJYG-E31FHVTF-JB6WEJTC'
# (You can continue setting other properties as needed here)

# Validate change status request parameters
validationErrors = system.mes.inventory.validateChangeStatusRequest(**changeStatusRequest)

if len(validationErrors) > 0:
print('Validation errors found:', validationErrors)
else:
print('Change status request parameters are valid.')