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:
If you have Substitute Products configured they must not have Designator filled or have the same Designator as parent Product:
BOM Context smart table should be correctly defined, for 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
PageNumberandPageSizefor large datasets.
- Supports configurable
-
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.
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
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.
ReturnMaterialsFromRework#
The ReturnMaterialsFromRework service is used to return materials processed in Rework back into production.
The destination is determined by the value set in the ReturnType property:
- SameLine – returns the materials to their original production line.
- DifferentLine – returns the materials to a different compatible line.
- OfflineStation – returns the materials to an offline station.
The grouping of materials is determined by the value set in the ValidationType property:
- SameProduct – groups materials by the same product.
- SameProductGroup – groups materials by the same product group.
- SameProductionOrder – groups materials by the same production order.
- NoGrouping – no grouping is applied.
When returning materials to a different line, the target line must be compatible with the material's production context.
ReturnMaterialsFromRework service signature
The input object ReturnMaterialsFromReworkInput contains the following information:
| Name | Type | Description |
|---|---|---|
| Materials | IMaterialCollection | The IMaterialCollection containing the materials to be returned from rework |
| Resource | IResource | The target IResource used when ReturnType is DifferentLine or OfflineStation. Ignored when ReturnType is SameLine |
| ValidationType | SMTReworkValidationType | The SMTReworkValidationType used to validate and group materials when selecting a parent material |
| ReturnType | SMTReworkReturnType | The return type to be applied to the materials |
| ReturnLineLane | IResourceLane | Optional target lane used when returning materials to a specific line |
The output object ReturnMaterialsFromReworkOutput contains the following information:
| Name | Type | Description |
|---|---|---|
| Materials | IMaterialCollection | The processed materials |
| Resource | IResource | The resource used to return the materials |
Return to the same line#
Materials are returned to the same line and production context from which they originated.
The service first attempts to reuse the parent material stored in the material off-flow information. If that parent material is no longer valid, another suitable parent material is selected from the destination line. When no suitable parent material exists, a new parent material is automatically created, dispatched, and tracked-in to the return flow path.
SameLine Parent Material Validations
To reuse an existing parent material, all the following conditions must be met:
- The parent material must be Active.
- The parent material must be in InProcess state.
- The parent material must be at the expected return step.
- The parent material must belong to the expected line flow version.
- The parent material must have the same Product as the materials being returned.
- The parent material must have the same ProductionOrder as the materials being returned.
- The parent material must be tracked-in on the destination line.
If the original parent material is not valid, the service searches for another parent material that satisfies all the following conditions:
- The material form matches the value configured in
/SMT/StartMaterialsForProductionOrder/SMTStartMaterialsForProductionOrderForm. - The material is tracked-in on the destination line.
- The material has the same Product as the materials in rework.
- The material has the same ProductionOrder as the materials in rework.
If no suitable parent material is found, a new parent material is created automatically.
Return to a different line#
Materials are returned to the line specified in the Resource parameter.
When returning materials to a different line:
- The destination line replaces the original return line stored in the material off-flow information.
- The destination lane can be specified using ReturnLineLane.
- Existing off-flow records are recreated to reflect the new destination line.
- A suitable parent material is reused whenever possible.
- A new parent material is automatically created when no suitable parent material exists.
- Materials are advanced to the next step and inserted into the destination line at the appropriate production point, determined by resolving the StepLineFlowContext smart table.
- Any residual off-flow records created during the advance step are removed from materials that end up in Queued state.
Return to an offline station#
Materials are returned to the offline station specified in the Resource parameter.
Note
This return type is currently not implemented.
Error Translations#
The localized messages used by the service are:
- SMTMaterialsMustBeInRework
- SMTMaterialsMustBeInState
- SMTMaterialsMustHaveNoOpenDefects
- SMTMaterialsMustBeInSameContainer
- SMTEntityAttributeMustBeEnabled
- SMTEntityAttributeMustBeSetTo
- SMTInvalidLineResource
- SMTLineResourceNotCompatibleWithProduct
- SMTDifferentLineNotAvailable
Pre Conditions#
- The materials must be in rework.
- The materials must have been processed.
- The materials must not have open defects, unless the configuration entry
/SMT/MaterialRework/AllowReturnWithOpenDefectsis enabled. - All materials must originate from the same last processed resource.
- All materials must satisfy the selected ValidationType grouping criteria.
- If the materials are in a container, they must all belong to the same container.
- The last processed resource must have the SMTIsReworkStation attribute enabled.
- The material form used when searching for or creating lot material(s) must be configured in
/SMT/StartMaterialsForProductionOrder/SMTStartMaterialsForProductionOrderForm.
GetMaterialsInReworkProcessData#
The GetMaterialsInReworkProcessData service retrieves the materials currently in rework for a given resource. It queries the system for materials participating in the rework workflow for the specified resource and enriches the result with relevant information such as product, production order, container, and rework limits.
GetMaterialsInReworkProcessData service signature
The input object GetMaterialsInReworkProcessDataInput contains the following information:
| Name | Type | Description |
|---|---|---|
| PageNumber | int? | The page number to retrieve (defaults to 0 if not provided) |
| PageSize | int? | The number of records per page (defaults to 0 if not provided) |
| Resource | IResource | The IResource used to retrieve materials currently in rework |
The output object GetMaterialsInReworkProcessDataOutput contains the following information:
| Name | Type | Description |
|---|---|---|
| PageNumber | int? | The current page number returned |
| PageSize | int? | The number of records per page |
| MaterialsInReworkProcessData | List<MaterialsInReworkProcessData> | The list of materials in rework enriched with related information |
| TotalRows | int | Total number of materials matching the query (before pagination) |
Each MaterialsInReworkProcessData contains:
| Name | Type | Description |
|---|---|---|
| Material | IMaterial | The IMaterial instance |
| Product | IProduct | The associated IProduct |
| ProductionOrder | IProductionOrder | The related IProductionOrder |
| Container | IContainer | The associated IContainer (if available) |
| ReworkCount | int | The current rework count of the material |
| GlobalReworkLimit | int | The global rework limit defined in the product |
Error Translations#
The localized messages used by the service are:
- SMTResourceAttributeNotEnabled – Thrown when the resource is not configured as a rework station.
Pre Conditions:#
- The input Resource must be valid.
- The input Resource must have the SMTIsReworkStation attribute enabled.

