About Importing Work Orders

You can import work orders from an ERP system using a work order import document (WOID). You can import two types of WOIDs:
  • WOID with route definition: Contains the route identifier information. These routes are already created in the Route Editor application in Plant Applications Web Client (and must exist by the time you import the WOID). After you import the WOID, the work order is associated with that specific route. You can use this type of a WOID for make-to-stock (MTS) products.
  • WOID without route definition: Contains the details of a route. These routes do not exist in Plant Applications Web Client; therefore, you will provide all the required route information in the WOID. You can use this type of a WOID for make-to-order (MTO) or engineer-to-order (ETO) products.
This topic provides a list of records related to a work order that are created and/or updated when you import a work order import document (WOID).
  • workOrderName: Unique identifier for the work order in Plant Applications. In the B2MML format, it is represented by the ID parameter under ProductionRequest. A work order is created when you import a WOID. If the work order exists, it is deleted and recreated when you import a WOID. However, this happens only if the work order is not started; if the work order is started, an error occurs when you attempt to import the WOID.
  • producedMaterialName: Identifies the material (or product) associated with the work order. In the B2MML format, it is represented by MaterialDefinitionID. You can import a work order only if the producedMaterialName matches the product code of an actual product in Plant Applications.
  • plannedQuantity: This item is optional and allows you to specify the order quantity and not the specific material lots, which can be added later as required. If the value is null when the work order is created, the planned quantity is equal to the sum of the supplied lots.
  • plannedLineName: Identifies the production line on which the work order will be executed. In the B2MML format, it is represented by the EquipmentID parameter under Location. A value is required and must match a production line in Plant Applications. Production lines must be Route-enabled.
  • priority: Identifies the priority of the work order.
  • plannedStartDate and plannedEndDate: Identify the planned start and end dates to execute the work order. Values are required for both the parameters and must be in the UTC format.
  • routeDefinitionName: Identifies the route associated with the work order. For a WOID with route definition, a value is required and must match the name of a route in Plant Applications. A value is required only for a WOID with route definition.
  • routeDefinitionRevision: Identifies the route revision that you want to use for the work order. If you do not specify a value, the latest revision is considered.
  • status: Value should be null, unless you want to cancel the work order, in which case the value should be 'cancelled'.
  • Parameters specific to an operation: For a WOID with route definition, you cannot specify operation-specific parameters (except for the name of the operation). For a WOID without a route definition, you can specify the following parameters of an operation:
    • name: Identifies the name of an operation. In the B2MML format, it is represented by the ID parameter under SegmentRequirement. A value is required. For a WOID with route definition, the value must match the name of an operation in the route; otherwise, the operation is skipped.
    • description: Identifies the description of an operation. A value is required.
    • sequenceNumber: Identifies the sequence number of an operation. For parallel operations, provide the same sequence number. A value is required.
    • plannedUnitName: Identifies the unit in which you must perform the operation. A value is required.
    • suggestedLaborTypes: Identifies the labor types for an operation. You must specify an array of values defined in the laborTypes endpoint in the labor-service API.
    • skipIfSuccessorStarted: Indicates whether the operation can be skipped if the next one is ready. You can enter true or false.
    • displayOrder: Allows operation sorting, in addition to sequenceNumber.
    • behaviors: An array of identifiers that can be added to operations that are used by execution to perform certain actions. The following behaviors are supported:
      • allowManualSkip: If you include allowManualSkip in the behaviors array, the operator can choose to skip the operation while executing the work order. If, however, you set the skipifSuccessorStarted parameter to true, the operation will be automatically skipped when the next operation is started.
      • allowManualStart: Can be used only on a non-clocking operation. Allows the operator to start the operation, but not to clock on. Starting the operation enables BOM consumption and recording variables, if configured. Cannot be used together with requiresClockOn behavior.
      • requiresClockOn: Makes an operation a "clocking" one and a user needs to clock on in order to complete the operation.
      • systemControlledOperationComplete: Used only on non-clocking operations; prevents operators from manually completing the operation. Cannot be used together with requiresClockOn behavior.
      • systemControlledOperationRecordQuantity: Used only on non-clocking operations; prevents operators from manually completing the operation. Cannot be used together with requiresClockOn behavior. Used with non-serialized products.
  • Route-level and operation-level BOM items: If a work order is not yet started, you can override route-level and operation-level BOM items in a work order with the BOM items in the WOID. The BOM items provided in the WOID take precedence over the BOM items in the work order.
    The following table describes how the route-level and operation-level BOM items are overridden in each scenario, with an example.
    Scenario BOM items in the route/operation before importing WOID BOM items in the WOID BOM items in the work order after importing the WOID
    If the route/operation does not have BOM items, but the WOID does, after importing the WOID, the work order contains the BOM items in the WOID. No BOM items
    If the route/operation and the WOID contain BOM items, after importing the WOID, the work order contains only the BOM items in the WOID.
    If the route/operation contains BOM items, but the BOM items in the WOID are set to null, after importing the WOID, the work order will not contain any BOM items for the route/operation. If, however, an operation is not specified in the WOID, the work order will contain the BOM items in the route for that operation.
    If the route/operation contains BOM items, but the WOID contains a blank array of BOM items, after importing the WOID, the work order will contain the BOM items in the route. A blank array of BOM items (that is, "billOfMaterials": [])

    If at least one of the operations contains BOM items in the WOID (and the remaining operations contain a blank array of BOM items), after importing the WOID, the work order will contain the BOM items from the WOID only for those operations.

    If the route/operation contains BOM items, but the WOID contains only invalid BOM items, after importing the WOID, the work order contains the BOM items in the route/operation. The BOM items in the WOID are skipped. Only invalid BOM items (for example, the quantity is less than zero, the product is not available in Plant Applications)
    If the route/operation contains BOM items, but the WOID does not contain operations, after importing the WOID, the work order contains the BOM items in the route/operation. No operations
    If the route and the WOID contain BOM items for an operation, after importing the WOID, the BOM items in the work order are overridden by those in the WOID for the operation. However, overriding BOM items for an operation does not impact the BOM items for another operation.
    Note:
    • Overriding BOM items is specific to the work order (does not impact the route).
    • Overriding route-level BOM items does not impact the operation-level BOM items.
    • BOM items cannot be null.
  • Parameters specific to BOM items: You can provide the following parameters specific to a BOM item (regardless of whether the WOID contains route definition):
    • materialName: Identifies the material name of a BOM item. In the B2MML format, it is represented by the MaterialDefinitionID parameter under MaterialConsumedRequirement.
    • quantity: Identifies the quantity of a BOM item.
    • quantityPrecision: Identifies the precision of the quantity of a BOM item. If you do not want to provide the precision, enter 0.
    • lowerTolerance and upperTolerance: Identify the upper and lower tolerances of the quantity of a BOM item, respectively.
    • lowerTolerancePrecision and upperTolerancePrecision: Identity the precision of the upper and lower tolerances of the quantity of a BOM item, respectively. If you do not want to provide the precision, enter 0.
    • scrapFactor: Identifies the percentage of the BOM item that is predicted to be scrapped. A value is required.
    • unitOfMeasureName: Identifies the unit of measure of the BOM item.
    • defaultStorageUnit: The default storage unit of a BOM item.
    • displayOrder: Allows BOM item sorting (how they are displayed in the grid).
    • behaviors:
      • requiresConsumptionTracking - Indicates whether the BOM item consumption must be tracked.
  • Values of BOM item properties: When route-level or operation-level BOM items in a work order are overridden with the ones in the WOID, the properties of the BOM items are validated with the ones in the BOMItem property group. This group is created during Plant Applications Web Client installation.
    Note:
    • Overriding values of BOM item properties is specific to the work order (does not impact the route).
    • Only if a BOM item in the WOID is valid, values of the BOM item properties are overridden.
    • If the BOM item properties in the WOID do not match the ones in the BOMItem property group, the property is skipped. An error appears, stating that the property is not found.
  • Values of route-level and operation-level properties: If a work order is not yet started, you can override the values of the route-level and operation-level properties in the work order with the ones in a WOID. The property values in the WOID take precedence over the values in the work order. These properties are validated with the ones in the Workorder.property.group.id property group.
    The following table describes how the route-level and operation-level properties and their values are overridden in each scenario, with an example.
    Scenario Properties and their values in the route/operation before importing WOID Properties in the WOID Properties and their values in the work order after importing the WOID
    If the value of a property in a route/operation is different from that in the WOID, after importing the WOID, the property in the work order contains the value specified in the WOID.
    If a property in a route/operation does not contain a value, after importing the WOID, the property in the work order contains the value specified in the WOID.
    If a property contains a null value or a blank array in the WOID, after importing the WOID, the property in the work order will contain the same. If, however, the property is mandatory, you must enter a value for the property.
    If a route/operation does not contain any properties, but the WOID does, after importing the WOID, the work order will not contain any properties either.
    If a route/operation in the WOID does not contain properties, after importing the WOID, the properties and their values in the work order are the same as in the route/operation.
    If a route/operation contains different properties from the ones in the WOID, after importing the WOID, the work order will contain the properties and values in the route/operation; the properties in the WOID will not be created in the work order.
    If the WOID contains only some of the properties in the route/operation, after importing the WOID, the work order contains the values of the properties in the WOID. For the properties not specified in the WOID, the values remain unchanged in the work order.