Filter for a Material Lot by Custom Property 3.0
Overview
The Track & Trace module provides the ability to search for specific objects by creating a filter object and then passing that to a function call to return a lists of objects that meet the filter criteria. In this article, we will setup a filter object to return a count of Material lot objects that has a specific custom property value. This would be an example of a Material lot that has a manufacturers part number as a custom property.
Applies To and Version Info
This feature applies to Track and Trace module and is available in all versions.
Scripting
The general syntax of the script function.
|
def checkIfLotExistsByCustProp(custPropName, custPropVal):
#This function is passed a custom property name and value and returns a count of matching lots
#This can be used to determine if a material lot had already been entered
# example: custPropName = 'CoilNumber'
# custPropVal = '01150007715408'
# print checkIfLotExistsBYCustProp(custPropName, custPropVal)
if custPropVal is not None and custPropVal != "" and custPropName is not None and custPropName != "":
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.parseCustomPropertyValueFilter(custPropName + " = " + custPropVal)
filter.setCustomPropertyValueFilter(list)
filter.setEnableStateName('ENABLED')
filter.setMESObjectTypeName('MaterialLot')
objs = system.mes.loadMESObjects(filter)
retVal = objs.size()
else:
retVal = -1
#print "coilNumber - %s, retVal %s", str(coilNumber),str(retVal)
return retVal
|