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

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/AllowReturnWithOpenDefects is 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.