system.kanoa.lot.linkLotOperationsItems
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
Parameter | Type | Required | Notes |
---|---|---|---|
itemIdList | list[int] | No | List of item IDs to link (can be empty if using only itemClassIdList) |
itemClassIdList | list[int] | No | List of item class IDs to link (can be empty if using only itemIdList) |
lotOperationIdList | list[int] | Yes | Lot operation IDs to link items/classes to |
itemSourceId | int | Yes | Source identifier used in link lookups and inserts |
userId | int | Yes | User 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)