Skip to main content
Version: V3 (Ignition 8.3)

system.mes.inventory.executeInventoryActions

Description​

Executes a list of inventory actions in a single transaction. That means that if any of the actions fail, none of them will be executed, and any changes made to the database will be rolled back.

Permissions​

This method requires the INVENTORY.WRITE permission.

Syntax​

system.mes.inventory.executeInventoryActions(**{'requests':[records]})

Parameters​

ParameterTypeNullableDescription
requestsList<Requests>FalseList of inventory actions to be executed. They would be in the format of a new request.

Returns​

Returns a list of JSON representation of inventory lot records for the inventory actions executed.

Code Examples​

# Generate the object structure for a new receive request object with no initial arguments
receiveRequest = system.mes.inventory.newReceiveRequest()

# Set basic attributes for the new receive request
receiveRequest['materialIdOrPath'] = 'Bottle/Milk'
receiveRequest['destinationLocationIdOrPath'] = 'DairyCo'
receiveRequest['quantity'] = 610
# (You can continue setting other properties as needed here)

# Generate the object structure for a new consume request object with no initial arguments
consumeRequest = system.mes.inventory.newConsumeRequest()

# Set basic attributes for the new consume request
consumeRequest['materialIdOrPath'] = 'Bottle/Milk'
consumeRequest['sourceLocationIdOrPath'] = 'DairyCo'
consumeRequest['quantity'] = 610
# (You can continue setting other properties as needed here)

# Build the request as a dictionary
inventoryActionsRequest = {
'requests' : [receiveRequest, consumeRequest]
}

# Execute the inventory actions
system.mes.inventory.executeInventoryActions(**inventoryActionsRequest)