Skip to content

Services#

ValidatePlacementList#

A BOM is Valid if:

  • All the Reference Designators match MES BOM's Designators;
  • All Products or a subset of them exist in the MES BOM.

The configuration entry, /SMT/PreBomCheck/UseCaseSensitive, determines whether case sensitivity is enforced when comparing the Product Name and Reference Designator lists from the equipment with those defined in the BOM. By default, this setting is set to false.

ValidatePlacementList service signature

The input object ValidatePlacementListInput contains the following information:

Name Type Description
ResourceName String Resource where the validation should take place
MaterialName String The panel code to be validated
PlacementLists List of ComponentPlacements Components list grouped by ReferenceDesignators, containing the ReferenceDesignators and a list of ComponentNames

The output object ValidatePlacementListOutput contains the following information:

Name Type Description
BomValid Boolean Comparison result
ProductName String Material product name
ProductBomName String Resolved BOM name

Error Translations#

The localized messages used by the service are:

  • IoTValidatePlacementListDuplicateComponentName
    • Component list of reference has a duplicate component name
  • IoTValidatePlacementListDuplicateReferenceDesignator
    • Placement list has a duplicate reference designator
  • IoTValidatePlacementListSubstituteBOMEntryMismatch
    • The reference designators of the substitute BOM entry don't match the parent BOM entry's reference designators.

Pre Conditions:#

  • Material must exist in system;
  • Resource must exist in system;
  • PlacementLists cannot be empty;
  • BOMContext SmartTable must be correctly configured for the current Step and BOM material product;
  • Designators are unique and the Substitutes have the same designator or empty.

At MES, similar BOM items should be grouped by Designator field. Check this example:

BOM Example

If you have Substitute Products configured they must not have Designator filled or have the same Designator as parent Product:

BOM Example Substitutes

BOM Context smart table should be correctly defined, for example:

BOM Context Example

SearchMaterials#

The SearchMaterials service retrieves a list of Materials based on the provided filters and relations.
This service is responsible for dynamically constructing and executing search queries that filter out irrelevant or invalid Materials - such as Templates or Terminated ones - while supporting pagination and query customization.

The service underpins the Search Materials functionality in SMT, providing flexibility for various search contexts such as by Product, Area, Resource, or Hold status.

  • Base Filters Applied Automatically:

    • Excludes Template Materials;
    • Excludes Terminated Materials.
  • Pagination:

    • Supports configurable PageNumber and PageSize for large datasets.
  • Dynamic Query Behavior:

    • Additional filters and relations can be appended dynamically from the UI or process layer.
    • The query results are enriched by resolving Material relations (Resources, Containers, Lines, etc.) into a single structured dataset.
SearchMaterials service signature

The input object SearchMaterialsInput contains the following information:

Name Type Description
PageNumber Integer Current page number in the result set (default = 1)
PageSize Integer Number of records to return per page (default = 25)
FilterCollection FilterCollection Collection of filters to apply when searching for Materials
RelationCollection RelationCollection Collection of relations to apply when retrieving related entities

The output object SearchMaterialsOutput contains the following information:

Name Type Description
PageNumber Integer Current page number returned
PageSize Integer Number of records returned per page
NgpDataSetResult INgpDataSet The dataset containing the resulting Materials and their related entities

Pre Conditions#

  • The FilterCollection or RelationCollection must be properly constructed and valid;
  • The Material entity type and related entity definitions must exist in the MES;
  • The Material objects should be accessible for read operations;
  • Pagination parameters (PageNumber, PageSize) should be within valid limits. BOM Context Example

IoTMaterialOperation#

IoTMaterialOperation service signature

The input object IoTMaterialOperationInput contains the following information:

Name Type Description
Operation String MES operation to be performed on the current Material.
Resource Resource Resource where the validation should take place
Material Material Material to which perform the Tracking operation
Materials MaterialCollection Collection of Materials to which perform the Tracking operation

The output object IoTMaterialOperationOutput contains the following information:

Name Type Description
MaterialName String Material name

Error Translations#

The localized messages used by the service are:

  • IoTMaterialNotDispQueuedAtResource
    • Material '{Material Name}' is not Dispatched/Queued at Resource '{Resource Name}' on Operation '{Operation}'
  • IoTNoMaterialsDispQueuedAtResource
    • No Materials Dispatched/Queued at Resource '{Resource Name}' on Operation '{Operation}'
  • IoTMaterialNotInProcess
    • Material '{Material Name}' is not InProcess on Operation '{Operation}'
  • IoTNoMaterialsInProcess
    • No Materials InProcess on Operation '{Operation}'
  • IoTMaterialNotInProcess
    • Material '{Material Name}' is not InProcess on Operation '{Operation}'
  • InvalidMaterialOperation
    • Material Operation is invalid