Skip to main content

system.mes.inventory.findLots

Description

Retrieves Inventory Lots records based on the specified pagination, sort, and column constraint parameters.

Syntax

system.mes.inventory.findLots(**queryRequest)

Parameters

Using Python keyword arguments, a Query Request can be passed to the findLots function without specifying each parameter individually. Please refer to the Query Request documentation for a list of parameters.

ParameterTypeNullableDescription
queryRequestQuery RequestFalseA Query Request with the desired pagination, sorting, and filtering parameters.

Returns

Returns a Query Result object with the following properties:

NameTypeDescription
contentList<Inventory Lots>The list of all records found that meet the specified criteria
totalPagesIntegerIf pagination is used, this is the number of total pages of records in the database for the specified page size.
totalElementsLongIf pagination is used, this is the number of records in the database that meet the specified criteria.
pageSizeIntegerIf pagination is used, this is the specified page size.
pageIndexIntegerIf pagination is used, this is the specified page index.
hasContentBooleanTrue if any records were found that meet the specified criteria.
isFirstBooleanIf pagination is used, this is true if the first page was returned.
isLastBooleanIf pagination is used, this is true if the last page was returned.
hasNextBooleanIf pagination is used, this is true if there is a page of content available after this one.
hasPreviousBooleanIf pagination is used, this is true if there is a page of content available before this one.

Inventory Lot

NameTypeDescription
idString (ULID)Unique identifier for the inventory lot.
notesStringNotes associated with the inventory lot.
enabledBooleanIndicates whether the inventory lot is enabled (default: true).
spare1StringExtra field 1 for additional context.
spare2StringExtra field 2 for additional context.
spare3StringExtra field 3 for additional context.
nameStringThe name of the inventory lot.
materialIdString (ULID)The id of the material in the inventory lot.
materialPathStringThe path of the material in the inventory lot.
materialNameStringThe name of the material in the inventory lot.
materialQuantityFormatStringThe quantity format of the material in the inventory lot.
statusLotStatusThe status of the inventory lot (default: OPEN).
totalQuantityDoubleThe total quantity of material added to the inventory lot (default: 0.0).
unitOfMeasureIdString (ULID)The id of the unit of measure of the material in the inventory lot.
unitOfMeasureNameStringThe name of the unit of measure of the material in the inventory lot.
unitOfMeasureSymbolStringThe symbol of the unit of measure of the material in the inventory lot.
expirationDateInstantThe expected expiration date of the inventory lot.
closedDateInstantThe date that this inventory lot was closed.
createdDateInstantThe date that this inventory lot was created.

Code Examples

Here is an example of how to use a Query Request to retrieve the first ten Inventory Lots created in 2025 sorted by their name.

# Generate the object structure for a new query request
queryRequest = system.mes.query.newQueryRequest()

# Set the basic attributes of the query request
queryRequest['pageSize'] = 10
queryRequest['pageIndex'] = 0

queryRequest['sortFields'] = ['name']
queryRequest['sortDirection'] = 'Ascending'

# Generate the object structure for a filter for the query request
filterRequest = system.mes.query.newFilterRequest()
filterRequest['field'] = 'createdDate'
filterRequest['condition'] = 'between'
filterRequest['minDateValue'] = '2025-01-01T00:00:00Z' # OR system.date.getDate(2025, 0, 1)
filterRequest['maxDateValue'] = '2026-01-01T00:00:00Z' # OR system.date.getDate(2026, 0, 1)

filters = [filterRequest]

queryRequest['filters'] = filters

# Retrieve the inventory lots that match the filter
result = system.mes.inventory.findLots(**queryRequest)

# Output the inventory lots that match the filter.
print(result)