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

GetMaterialRecipe#

The GetMaterialRecipe Service retrieves a Recipe associated to a Material.

GetMaterialRecipe service signature

The input object GetMaterialRecipeInput contains the following information:

Name Type Description
ResourceName string Resource pertaining to the Recipe
MaterialName string Material pertaining to the Recipe

The output object GetMaterialRecipeOutput contains the following information:

Name Type Description
RecipeName String Recipe name
MaterialName String Material name
ResourceName String Resource Name
ResourceRecipeName String Resource Recipe Name
ProductName String Product Name

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

LoadComponents#

The LoadComponents Service is used for loading single components or a feeder table into a station.

LoadComponents service signature

The input object LoadComponentsInput contains the following information:

Name Type Description
ResourceName string Resource name
LoadComponents object Components to be loaded into Resource
ResourceLocation string Resource Location
ChangeQuantity bool Indicates if a Quantity Change should be applied if there is a mismatch between existing quantity in MES and quantity incoming from invoker
RetrieveRemainingFloorLife bool Indicates if returned list of components to invoker should be updated with remaining floor life time

The output object LoadComponentsOutput contains the following information:

Name Type Description
LoadComponentsResult object LoadComponentsResult

Error Translations#

The localized messages used by the service are:

  • SMTIoTLoadUnloadComponentsConsumableFeedStepWithoutService
    • Step {0} doesn't have any associated Service

Pre Conditions:#

  • N/A

UnloadComponents#

The UnloadComponents Service is used for unloading components from a station.

UnloadComponents service signature

The input object UnloadComponentsInput contains the following information:

Name Type Description
ResourceName string Resource name
UnloadComponents object Components to be unloaded from Resource

The output object UnloadComponentsOutput contains the following information:

Name Type Description
UnloadComponentsResult object UnloadComponentsResult

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

StartMaterialsForProductionOrder#

The StartMaterialsForProductionOrder service is designed to Start Materials under the Production Order.

StartMaterialsForProductionOrder service signature

The input object StartMaterialsForProductionOrderInput contains the following information:

Name Type Description
ProductionOrder IProductionOrder The ProductionOrder object for the Material(s) to be assigned to
MaterialCollection IMaterialCollection The MaterialCollection object to be created or reassigned
MaterialQuantity decimal The quantity for the Material to be created or reassigned
AllowExpansionFactorMismatch bool Indicates whether a mismatch with the expansion factor is allowed

The output object StartMaterialsForProductionOrderOutput contains the following information:

Name Type Description
ProductionOrder IProductionOrder The ProductionOrder object for the Material(s) to be assigned to
MaterialCollection IMaterialCollection The MaterialCollection object to be created, assigned, or reassigned

Error Translations#

The localized messages used by the service are:

  • SMTProductionOrderFulfilled
    • The Production Order is already fulfilled
  • SMTProductionOrderOverFulfilling
    • The quantity is over fulfilling the Production Order
  • SMTProductNoMaterialStartMode
    • The Product doesn't have the attribute MaterialStartMode defined.

Pre Conditions:#

  • N/A

GetDataForStartMaterialsForProductionOrderWizard#

The GetDataForStartMaterialsForProductionOrderWizard service is designed to get Data for Wizard Start Materials under the Production Order.

GetDataForStartMaterialsForProductionOrderWizard service signature

The input object GetDataForStartMaterialsForProductionOrderWizardInput contains the following information:

Name Type Description
ProductionOrder IProductionOrder The ProductionOrder object for the Material(s) to be assigned to

The output object GetDataForStartMaterialsForProductionOrderWizardOutput contains the following information:

Name Type Description
ProductionOrder IProductionOrder The ProductionOrder object to be used in the "Start Materials for PO"
ProductionOrderQuantities ProductionOrderQuantities Production Order Quantities to be displayed in the wizard
MaterialStartMode MaterialStartMode (Enum) MaterialStartMode
ExpansionFactor decimal ExpansionFactor
AllowExpansionFactorMismatch bool AllowExpansionFactorMismatch

Error Translations#

The localized messages used by the service are:

  • SMTGUIElementDefaultValueInvalidFormat
    • Value '{0}' in GUIElementDefaultValue table is not in the correct format for Context '{1}' and Element '{2}'.

Pre Conditions:#

  • N/A

GetDataForValidationWizardStep#

The GetDataForValidationWizardStep service is designed to Retrieve Panels and Boards genealogy for validation on Serialization Track-Out wizard.

GetDataForValidationWizardStep service signature

The input object GetDataForValidationWizardStepInput contains the following information:

Name Type Description
Material IMaterial Lot object as Material

The output object GetDataForValidationWizardStepOutput contains the following information:

Name Type Description
MaterialGenealogy Dictionary> The Material Genealogy dictionary

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

CreateAndAttachRawMaterials#

The CreateAndAttachRawMaterials service is designed to create and attach the input Raw Materials into the designated resource.

CreateAndAttachRawMaterials service signature

The input object CreateAndAttachRawMaterialsInput contains the following information:

Name Type Description
Resource IResource Resource Object
RawMaterials IMaterialCollection Raw Materials to be attached

The output object CreateAndAttachRawMaterialsOutput contains the following information:

Name Type Description
Resource IResource Resource Object
RawMaterials IMaterialCollection Raw Materials to be attached

Error Translations#

The localized messages used by the service are:

  • SMTNotEnoughFreeFeeder
    • Not enough free feeders to attach the raw materials
  • SMTNoFeeders
    • No Feeders
  • SMTRawMaterialsWereAttached

Pre Conditions:#

  • N/A

RemoveItemsFromPackingContainer#

The RemoveItemsFromPackingContainer service is used to remove Items from a Packing Container.

RemoveItemsFromPackingContainer service signature

The input object RemoveItemsFromPackingContainerInput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial Packing Container Material
MaterialsToRemove IMaterialCollection The Materials to remove from the Packing Container Material

The output object RemoveItemsFromPackingContainerOutput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Material object for the Packing Container Material from which the Items was removed

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

ClosePackingContainer#

The ClosePackingContainer service is used to close a Packing Container and to print its Labels.

ClosePackingContainer service signature

The input object ClosePackingContainerInput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial Packing Container Material
IsToPerformTrackOut bool Flag to indicate if is to perform the TrackOut

The output object ClosePackingContainerOutput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Material object for the closed Packing Container Material

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

OpenPackingContainer#

The OpenPackingContainer service is used to close a Packing Container and to print its Labels.

OpenPackingContainer service signature

The input object OpenPackingContainerInput contains the following information:

Name Type Description
PackingContainerProduct IProduct The PackingContainerProduct object for the Material to be assigned to
MaterialsToAdd IMaterialCollection The MaterialCollection to add to the Packing Container
Resource IResource The Resource to track in the Material

The output object OpenPackingContainerOutput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Material object for the Packed Material to be assigned to
MaterialsAdded IMaterialCollection The Material Collection added to the Packing Container Material

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

AddItemsToPackingContainer#

The AddItemsToPackingContainer service is used to close a Packing Container and to print its Labels.

AddItemsToPackingContainer service signature

The input object AddItemsToPackingContainerInput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Packing Container Material
MaterialsToAdd IMaterialCollection The MaterialCollection to add to the Packing Container

The output object AddItemsToPackingContainerOutput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Material object for the Packed Material to be assigned to
MaterialsAdded IMaterialCollection The Material Collection added to the Packing Container Material

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

AddItemsToPackingContainer#

The AddItemsToPackingContainer service is used to close a Packing Container and to print its Labels.

AddItemsToPackingContainer service signature

The input object AddItemsToPackingContainerInput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Packing Container Material
MaterialsToAdd IMaterialCollection The MaterialCollection to add to the Packing Container

The output object AddItemsToPackingContainerOutput contains the following information:

Name Type Description
PackingContainerMaterial IMaterial The Material object for the Packed Material to be assigned to
MaterialsAdded IMaterialCollection The Material Collection added to the Packing Container Material

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

ResolvePackingContainerProducts#

The ResolvePackingContainerProducts service is used to close a Packing Container and to print its Labels.

ResolvePackingContainerProducts service signature

The input object ResolvePackingContainerProductsInput contains the following information:

Name Type Description
Material IMaterial The Material to filter by

The output object ResolvePackingContainerProductsOutput contains the following information:

Name Type Description
ProductCollection IProductCollection The ProductCollection object to be created, assigned, or reassigned

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • Smart Table SMTMaterialPackingContext is configured.

DockFeederTableToResource#

The DockFeederTableToResource service is used to close a Packing Container and to print its Labels.

DockFeederTableToResource service signature

The input object DockFeederTableToResourceInput contains the following information:

Name Type Description
FeederTableId string The ID of the feeder table
Resource IResource The Resource
DockLocation IResourceLocation The Dock Location

The output object DockFeederTableToResourceOutput contains the following information:

Name Type Description
Resource IResource The Resource.
FeederTable IContainer The Feeder.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

AssembleMaterialFromConsumptionSummary#

The AssembleMaterialFromConsumptionSummary service is used to close a Packing Container and to print its Labels.

AssembleMaterialFromConsumptionSummary service signature

The input object AssembleMaterialFromConsumptionSummaryInput contains the following information:

Name Type Description
Operation ConsumptionOperation Gets or sets the operation.
TraceabilityConsumptions TraceabilityConsumptions Gets or sets the traceability consumptions.
TerminateScrapsOnZeroQuantity bool The TerminateScrapsOnZeroQuantity.
AssembleByPanel bool Define if the assemble operation by Panel.

The output object AssembleMaterialFromConsumptionSummaryOutput contains the following information:

Name Type Description
Material IMaterial The Material.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

ProcessAssembleMaterialFromConsumptionSummary#

The ProcessAssembleMaterialFromConsumptionSummary service is used to Process Assemble or Combine (depends on Input operation) Material with Materials and Quantity from Consumption Summary.

ProcessAssembleMaterialFromConsumptionSummary service signature

The input object ProcessAssembleMaterialFromConsumptionSummaryInput contains the following information:

Name Type Description
Operation ConsumptionOperation Gets or sets the operation.
TraceabilityConsumptions TraceabilityConsumptions Gets or sets the traceability consumptions.
TerminateScrapsOnZeroQuantity bool The TerminateScrapsOnZeroQuantity.
AssembleByPanel bool Define if the assemble operation by Panel.

The output object ProcessAssembleMaterialFromConsumptionSummaryOutput contains the following information:

Name Type Description
Material IMaterial The Material.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

AttachMaterialToConsumableFeed#

The AttachMaterialToConsumableFeed service is used to Create a Resource (if it doesn't exist) with the name received (FeederId) and attach all received ReelIds (if they exist) to that resource.

AttachMaterialToConsumableFeed service signature

The input object AttachMaterialToConsumableFeedInput contains the following information:

Name Type Description
FeederId string -
PackagingUnits List -
Resource IResource -

The output object AttachMaterialToConsumableFeedOutput contains the following information: N/A

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

AddFeedersToFeederTables#

The AddFeedersToFeederTables service is used to add Feeders to FeederTable Containers.

AddFeedersToFeederTables service signature

The input object AddFeedersToFeederTablesInput contains the following information:

Name Type Description
FeedersToAdd List The feeders to add in the feeder table.

The output object AddFeedersToFeederTablesOutput contains the following information:

Name Type Description
FeederTables IContainerCollection The Feeder tables used.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

RemoveFeedersFromFeederTables#

The RemoveFeedersFromFeederTables service is used to remove Feeders to FeederTable Containers.

RemoveFeedersFromFeederTables service signature

The input object RemoveFeedersFromFeederTablesInput contains the following information:

Name Type Description
FeedersToRemove List The feeders to remove from the feeder table.

The output object RemoveFeedersFromFeederTablesOutput contains the following information:

Name Type Description
FeederTables IContainerCollection The Feeder tables from which feeders were removed.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

ManageDefectActions#

The ManageDefectActions service is used to create, update or remove defect actions.

ManageDefectActions service signature

The input object ManageDefectActionsInput contains the following information:

Name Type Description
AddedUpdatedDefectActions ISMTDefectActionCollection The Added or Updated DefectActions
RemovedDefectActions ISMTDefectActionCollection The Removed DefectActions
Product IProduct The Product

The output object ManageDefectActionsOutput contains the following information:

Name Type Description
DefectActions ISMTDefectActionCollection The Defect actions added or updated.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

GetProductDefectActions#

The GetProductDefectActions service is used to get a specific Product Defect Action.

GetProductDefectActions service signature

The input object GetProductDefectActionsInput contains the following information:

Name Type Description
Product IProduct The Product

The output object GetProductDefectActionsOutput contains the following information:

Name Type Description
DefectActions ISMTDefectActionCollection The Defect actions added or updated.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

GetVirtualInkspotHandlingData#

The GetVirtualInkspotHandlingData service returns the VirtualInkspotHandling Data for a given material.

GetVirtualInkspotHandlingData service signature

The input object GetVirtualInkspotHandlingDataInput contains the following information:

Name Type Description
MaterialName string The Material's Name
ResourceName string The Resource's Name
BarcodeSide string The BarcodeSide's value

The output object GetVirtualInkspotHandlingDataOutput contains the following information:

Name Type Description
VIHResult object The VIH Result.
BoardPath string The Board Path.

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

StartMsdMaterial#

The StartMsdMaterial service starts floor life counter of MSD material on MES.

StartMsdMaterial service signature

The input object StartMsdMaterialInput contains the following information:

Name Type Description
Material IMaterial The Material

The output object StartMsdMaterialOutput contains the following information:

Name Type Description
Material IMaterial The Material

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

CalculateRequiredBakingHours#

The CalculateRequiredBakingHours service is used to add calculate Required Baking Hours.

CalculateRequiredBakingHours service signature

The input object CalculateRequiredBakingHoursInput contains the following information:

Name Type Description
Material IMaterial The IMaterial for which the required baking hours will be calculated
Resource IResource The IResource on which the material will be baked
CustomRequiredBakingHours decimal Custom Required Baking Hours

The output object CalculateRequiredBakingHoursOutput contains the following information:

Name Type Description
Material IMaterial The IMaterial for which the required baking hours was calculated
Resource IResource The IResource on which the material will be baked
CalculationResult RequiredBakingHoursCalculationResult The calculation result
ExtraOutputParameters Dictionary Extra parameters, allows for customization projects to add custom parameters for DEE actions

Error Translations#

The localized messages used by the service are:

  • Generic Table SMTMaterialBakingTable has a row defined for the input material.

Pre Conditions:#

  • N/A

StartMaterialsBaking#

The StartMaterialsBaking service is used to start the baking of the input materials.

StartMaterialsBaking service signature

The input object StartMaterialsBakingInput contains the following information:

Name Type Description
Materials List The Materials for which the baking process will begin
Resource IResource The IResource on which the material will be baked

The output object StartMaterialsBakingOutput contains the following information:

Name Type Description
Materials IMaterialCollection The IMaterialCollection for which the baking process started
Resource IResource The IResource on which the material will be baked

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • Generic Table SMTMaterialBakingTable has a row defined for the input material.

StopMaterialsBaking#

The StopMaterialsBaking service is used to stop the baking of the input materials.

StopMaterialsBaking service signature

The input object StopMaterialsBakingInput contains the following information:

Name Type Description
Materials List The Materials for which the baking process will stop
Resource IResource The IResource on which the material was baked

The output object StopMaterialsBakingOutput contains the following information:

Name Type Description
Materials IMaterialCollection The IMaterialCollection for which the baking process stopped
Resource IResource The IResource on which the materials were baked

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • N/A

CalculateRemainingBakingHours#

The CalculateRemainingBakingHours service is used calculate Remaining Baking Hours for a given list of materials.

CalculateRemainingBakingHours service signature

The input object CalculateRemainingBakingHoursInput contains the following information:

Name Type Description
Materials IMaterialCollection The IMaterialCollection for which the remaining baking hours will be calculated

The output object CalculateRemainingBakingHoursOutput contains the following information:

Name Type Description
Result Dictionary The Remaining Baking Hours for each IMaterial
ExtraOutputParameters Dictionary Extra parameters, allows for customization projects to add custom parameters

Error Translations#

The localized messages used by the service are:

  • N/A

Pre Conditions:#

  • Generic Table SMTMaterialBakingTable has a row defined for the input material.
  • Material is in baking.