Skip to main content

system.kanoa.lot.linkLotOperationsItems

Requires kanoaOPS license

Description

Links a list of items and/or item classes to a list of lot operations for a given item source. Existing links are re-enabled; missing links are created.

Syntax

linkLotOperationsItems(itemIdList, itemClassIdList, lotOperationIdList, itemSourceId, userId)

Parameters:

– itemIdList (list[int]): Item IDs to link.
– itemClassIdList (list[int]): Item class IDs to link.
– lotOperationIdList (list[int]): Lot operation IDs to link to.
– itemSourceId (int): Source system identifier for items/classes.
– userId (int): User performing the linking operation.

Returns:

– recordsModified (int): Number of links created or re-enabled.
– message (string or None): None if success; error details on failure.

Behavior

The function iterates through all combinations of the provided IDs:

– For each itemId × lotOperationId pair, checks for an existing link with the given itemSourceId; updates it to enabled if found, otherwise inserts a new link.
– Repeats the same process for each itemClassId × lotOperationId pair with the given itemSourceId.
– Accumulates and returns the total number of affected rows along with an optional error message.

Parameters

ParameterTypeRequiredNotes
itemIdListlist[int]NoList of item IDs to link (can be empty if using only itemClassIdList)
itemClassIdListlist[int]NoList of item class IDs to link (can be empty if using only itemIdList)
lotOperationIdListlist[int]YesLot operation IDs to link items/classes to
itemSourceIdintYesSource identifier used in link lookups and inserts
userIdintYesUser performing the link operation

Code Examples

# Link specific items to multiple operations for a given source
itemIdList = [1101, 1102, 1103]
itemClassIdList = []
lotOperationIdList = [5, 6]
itemSourceId = 2
recordsModified, msg = system.kanoa.lot.linkLotOperationsItems(
itemIdList=itemIdList,
itemClassIdList=itemClassIdList,
lotOperationIdList=lotOperationIdList,
itemSourceId=itemSourceId,
userId=123
)
print(recordsModified, msg)

# Link an item class and individual items to a single operation
itemIdList = [1200]
itemClassIdList = [25]
lotOperationIdList = [9]
itemSourceId = 2
recordsModified, msg = system.kanoa.lot.linkLotOperationsItems(
itemIdList=itemIdList,
itemClassIdList=itemClassIdList,
lotOperationIdList=lotOperationIdList,
itemSourceId=itemSourceId,
userId=123
)
print(recordsModified, msg)