Material Properties

When performing transactions on materials (e.g. Pick, Put) Power Pick Global (PPG) can handle materials differently based on their Material Property.

Materials Properties offers PPG a way to use controls and to record attributes for materials as they are stored in PPG or retrieved from PPG.

Some examples (depending on the license options):

  • FIFO (First-in, first-out)
  • Permanent Location setting
  • Dates (Expiry Date, Production Date, Release Date)
  • Lot & Qualification Tracking
  • Serial Number Tracking
  • Bar code validations
  • Count cycles
  • Storage Zones (for Puts)

The property specifies which attributes (Lot, Qualification, Expiry Date, Serial Number, etc.) should be recorded when doing a Pick or Put on certain materials.

  • unused — The attribute is not required, and must not be in the import file
  • essential to create a storage request — The attribute must be included in the import file or specified at the beginning of the manual request.
  • optional if not provided introduced during confirmation — The attribute is required, but optional whether in the import file (or manual request) or at confirmation. If it's not provided up-front, then it must be entered at confirmation.
  • always introduced during confirmation — Must not be in the import file. Will be prompted for, and must be entered in the Task Processor.

You can create your own Material Properties and assign them to materials a couple of ways:

  • In the Material Management, set the Property from the drop-down of available properties that were created in Material Property Management.
  • Integration The import needs to include Materialbase.Materialname (i.e. Part Number), and MaterialProperty.Propertyname (Property). Refer to separate guides on integration of data into PPG.

By applying a property to a material, the material will take on all the settings of the property.

Each material needs to have a property assigned to it so that PPG knows how to handle it.

Setting Multiple Attributes

A material can have only 1 property. So if you need materials to have multiple settings, you need to make a new property to set those requirements -- in some cases with compound attributes or controls (e.g. LOT_SERIAL_EXPIRY).

Attributes

  • Id uuid

  • name string

    The name of the property.

  • description string

    The description of the property.

  • type integer

  • dangerClass integer

  • countingCycle integer

    The number of days before a material needs to be counted.

  • countingThreshold float

    How many items are needed before triggering a count.

  • locContentType integer

  • maxDriveSpeed float

  • fifoType integer

  • isStrictFifo integer

  • isUncontrolledInventory integer

  • isLocalInventory integer

  • expiryDays integer

  • putDateResolutionType integer

  • lotPutType integer

  • lotPickType integer

  • isLotMixed integer

  • serialNumberPutType integer

  • serialNumberPickType integer

  • isSerialNumberMixed integer

  • expiryDatePutType integer

  • expiryDatePickType integer

  • isExpiryDateMixed integer

  • productionDatePickType integer

  • isProductionDateMixed integer

  • releaseDatePutType integer

  • releaseDatePickType integer

  • isReleaseDateMixed integer

  • qualificationPutType integer

  • qualificationPickType integer

  • isQualificationMixed integer

Endpoints

List Material Properties

get /api/material_properties

Get the material properties from the PPG database and return a JSON response.

Arguments

  • name string

    Only return material properties that have the given name.

  • description

    Only return material properties that include the given description.

  • limit integer

    A limit on the number of objects to be returned. Limit can range between 1 and 1000, and the default is 250.

  • offset integer

    Will return items, but only those after the integer amount.

  • countOnly boolean

    When true, will only return a count of the amount of items in the query.

  • orderBy string, array

    Order the response by the selected field. Multiple values can be passed, separated by a comma.

Request with curl
curl "http://[Your IP] /api/material_properties" \ -X get \-H "Content-Type: application/json" \-H "Authorization: Bearer [Your JWT Access Token]"
Example Response
{"material properties": [{ "Id": " F38A05A7-D445-494F-B759-001F08329703 ", "name": " Property A ", "description": " Property Description ", "type": " 1 ", "dangerClass": " integer ", "countingCycle": " 15 ", "countingThreshold": " 100 ", "locContentType": " integer ", "maxDriveSpeed": " float ", "fifoType": " integer ", "isStrictFifo": " integer ", "isUncontrolledInventory": " integer ", "isLocalInventory": " integer ", "expiryDays": " integer ", "putDateResolutionType": " integer ", "lotPutType": " integer ", "lotPickType": " integer ", "isLotMixed": " integer ", "serialNumberPutType": " integer ", "serialNumberPickType": " integer ", "isSerialNumberMixed": " integer ", "expiryDatePutType": " integer ", "expiryDatePickType": " integer ", "isExpiryDateMixed": " integer ", "productionDatePickType": " integer ", "isProductionDateMixed": " integer ", "releaseDatePutType": " integer ", "releaseDatePickType": " integer ", "isReleaseDateMixed": " integer ", "qualificationPutType": " integer ", "qualificationPickType": " integer ", "isQualificationMixed": " integer ", }]}]}

Show Material Property

get /api/material_properties/[id]

Get a specific material property from the PPG database and return a JSON response.

Arguments

Request with curl
curl "http://[Your IP] /api/material_properties/[id]" \ -X get \-H "Content-Type: application/json" \-H "Authorization: Bearer [Your JWT Access Token]"
Example Response
{"material property": { "Id": F38A05A7-D445-494F-B759-001F08329703 , "name": " Property A " , "description": " Property Description " , "type": 1 , "dangerClass": integer , "countingCycle": 15 , "countingThreshold": 100 , "locContentType": integer , "maxDriveSpeed": float , "fifoType": integer , "isStrictFifo": integer , "isUncontrolledInventory": integer , "isLocalInventory": integer , "expiryDays": integer , "putDateResolutionType": integer , "lotPutType": integer , "lotPickType": integer , "isLotMixed": integer , "serialNumberPutType": integer , "serialNumberPickType": integer , "isSerialNumberMixed": integer , "expiryDatePutType": integer , "expiryDatePickType": integer , "isExpiryDateMixed": integer , "productionDatePickType": integer , "isProductionDateMixed": integer , "releaseDatePutType": integer , "releaseDatePickType": integer , "isReleaseDateMixed": integer , "qualificationPutType": integer , "qualificationPickType": integer , "isQualificationMixed": integer , } }