Managing the Bill of Material Links
Manufacturing Processes have system properties which will be identical no matter in which context the Manufacturing Process is used.
In order to determine contextual information, the BOM Links step can be used. This step allows specifying the usage of the component object in the composite Manufacturing Process.
A Bill of Material Composite Manufacturing Process is a parent process which contains child objects, called Components. These components can be Manufacturing Processes or Standard Items.
The following information can be expressed for a Bill of Material Link between the Composite Manufacturing Process and each Component.
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Exists | Yes | Determines whether the component Manufacturing Process or Standard Item always exists or only in some circumstances. The existence can be provided by a fixed value, or by a BRC. |
| Start BRC | No | Allows executing a BRC that executes a constraint before starting to generate the component. The Start BRC will only be executed when the existence of the link issues “true”. The generation of the component will only be continued if the Start BRC issues “true”. Can be provided by a fixed value, or by a BRC. This feature is not currently available/supported |
| Business Information Grid | No | Allows attaching a Business Information Grid. Business Information Grids are structured tables, for which the columns have been defined by Business Properties, useful to generate technical data for production purposes. |
| Nested | Yes | Determines whether the component Manufacturing Process or Standard Item is nested. A nested component is considered as being “looped”, and will be generated multiple times. |
| Number of instances | No | Determines the number of occurrences that will be necessary for a nested component. Can be provided by a fixed value, or by a BRC. In the latter case, the BRC will be executed after the existence BRC. |
| Context Expression | No | The context allows you to link the component to a specific position in the Configuration Process or Sales Breakdown structure. If the context is a nested form, Configuration Process, or Sales Breakdown Line and no number of instances is provided (c.f. here above), the component will be looped as many times as its context. Moreover, every instance of the component will be linked to the corresponding instance of the object it is linked to. If the context is a nested form, Configuration Process, or Sales Breakdown Line but a number of instances is provided (c.f. here above), the component will be looped as many times as specified by the number of instances but will be limited by the number of instances of its context. Moreover, every instance of the component will be linked to the corresponding instance of the object it is linked to. If the context is a static (non-looped) form, Configuration Process or Sales Breakdown Line but a number of instances is provided (c.f. here above), the component will be looped as many times as specified by the number of instances. If the context is a static (non-looped) form, Configuration Process or Sales Breakdown Line and no repeat number has been provided, the component will be unique. During the generative processes, the component context can be retrieved using the following CPE: CPE.currentMP[current].confContext (for looped form or Configuration Process components) or CPE.currentMP[current].sblContext (for looped Sales Breakdown Line components) or CPE.currentMP.confContext (for static form or Configuration Process components) or CPE.currentMP.sblContext (for static Sales Breakdown Line components). By default, the context of a component is inherited from its parent. The context can be provided by a fixed value, or by BRC. This BRC will be executed after the existence in conjunction with the value issued by the “number of instances”. Information: By default, if no context has been provided by the user on the component or on one of its parents, CPQ considers that the context = CPE.rootMP. |
| Use Type | Yes | The use type indicates if the quantity of the component in the BOM structure is constant, or if it is dependent of the quantity of its parent composites: Fixed: the total quantity of the component in the BOM Structure never varies. Multiplier: the total quantity of the component in the BOM Structure = the total quantity of its composite item times the use factor. |
| Use Factor | No | The use factor indicates the quantity of the component to be used to make a composite item. This can be determined by fixed value or by BRC. Defaults to 1. |
| Use Unit | No | Indicates the unit of use for the use factor. All units defined in the file measurementUnits.xml can be used. Information: There is no unit conversion when generating a BOM. Units are available strictly for documentation purposes. |
| Consumption Factor | No | The consumption factor, also referred to as raw material usage factor, indicates the amount of raw material to be used for the component. This attribute compresses the Bill of Material in the sense that it avoids adding an extra level to the Bill of Material (adding a Standard Item representing the raw material as a child component to the BOM and referencing the use factor on that link). This value can be provided by fixed value or by BRC. |
| Consumption Unit | No | The unit to be used for the raw material consumption factor. All units defined in the file measurementUnits.xml can be used. Information: There is no unit conversion when generating a BOM. Units are available strictly for documentation purposes. |
| Scrap | No | The scrap factor indicates how much of the component fabrication will be lost. Typically, if a component use factor is 2 and the scrap factor is 50%, the MRP will calculate that 3 components will be necessary for 1 finished product. Generally expressed as a percentage, e.g. 20. To be provided as a fixed value, or by a BRC. |
| Lead Time | No | The lead time indicates the time necessary to obtain (fabricate or purchase) the component before it can be used to manufacture the parent composite. Generally expressed in days. To be provided as a fixed value, or by a BRC. |
| Value 1 | No | An additional source of numerical information which can be provided by fixed value or by BRC. |
| Value 2 | No | An additional source of numerical information which can be provided by fixed value or by BRC. |
| Text 1 | No | An additional source of textual information which can be provided by fixed value or by BRC. |
| Text 2 | No | An additional source of textual information which can be provided by fixed value or by BRC. |
| Operation | No | Indicates the operation at which the component is required. The operation can be provided by a fixed value, or by a BRC. |
| End BRC | No | Allows executing a BRC that executes a constraint when the component generation is finalized. Can be provided by a fixed value, or by a BRC. This feature is not currently available/supported |
Defining Routings & Operations
Whereas the step “BOM Structure” indicates which components are necessary to manufacture a certain product, the “Routing” step indicates how the components will be manufactured.
A Routing describes the different tasks to perform on a Manufacturing Process to obtain a product. Routings can be associated to different levels of the Bill of Material. In some circumstances, multiple Routings can be necessary (e.g. depending on the factory in which the process will be manufactured). The Designer allows managing multiple variants.
An Operation represents a task to perform as a part of a routing to manufacture a certain product (finished product or sub-assembly). Operations will be performed:
- In a particular work center, a physical location on the shop floor
- By a specific machine and/or operator
- Or can be outsourced to a subcontractor
In order to manage manufacturing resources like work centers, machines, operators and subcontractors, please refer to Manage Manufacturing Resources.
Adding a Routing
In order to add a routing, proceed as follows:
- [In the Explore Structure explorer]
- Select the icon of the Manufacturing Process for which a Routing needs to be defined.
- [In the menu toolbar]
- Execute the function New Routing
- [Via the “popup window”]
- Choose “Create new”
- Enter a name and a description for the Routing you would like to create.
- Hit “Add” or “Add & Open” in order to create the Routing
- The Routing is created and added to the Manufacturing Process tree.
- (Optionally) complete the system properties of the newly created Routing
- [In the menu toolbar]
- Execute the function Save
If you want to reuse an existing Routing and embed it in the current product structure:
- [In the Explore Structure explorer]
- Select the icon of the Manufacturing Process for which a Routing needs to be defined.
- [In the menu toolbar]
- Execute the function New Routing
- [Via the “popup window”]
- Choose “Reuse existing”
- Choose a workspace
- Enter part of the Routing name or description and choose it in the proposed list.
- Hit “Add” or “Add & Open” in order to create the Routing
- The Routing is added to the Manufacturing Process tree.
- [In the menu toolbar]
- Execute the function SaveNote: Any modifications done on a reused Routing will be available in every project they are used in.
- Execute the function Save
Whenever you create a Routing, the following details can be updated in the working area:
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Workspace | Yes | The virtual environment in which a Routing has been created. In many cases, only one workspace is to be used. The workspace is fully determined by the workspace chosen in the dashboard. |
| Name | Yes | The identifier of the Routing. The length of the name is limited to 64 bytes and is preferably readable. It is recommended to adopt a coding rule for names, e.g. have them start with a small letter and use a capital letter for every new word. Example: myRouting |
| Description | Yes | The description will functionally describe the Routing, and is limited to 4000 bytes. |
| Exist | Yes | Determines whether the Routing always exists or only in some circumstances. The existence can be provided by a fixed value, or by a BRC. |
| Start | No | Allows executing a BRC that executes a constraint before starting to generate the Routing. The Start BRC will only be executed when the existence of the Routing issues “true”. The generation of the Routing will only be continued if the Start BRC issues “true”. Can be provided by a fixed value, or by a BRC. This feature is not currently available/supported |
| Release Quantity | Yes | The release quantity defines the lot size released to manufacturing at the end of the entire routing. Can be provided by fixed value or by BRC. |
| End | No | Allows executing a BRC that executes a constraint when the Routing generation is finalized. Can be provided by a fixed value, or by a BRC. This feature is not currently available/supported |
Adding an Operation
In order to add an Operation, proceed as follows:
- [In the Explore Structure explorer]
- Select the icon of the Routing for which an Operation needs to be defined.
- [In the menu toolbar]
- Execute the function New Operation
- [Via the “popup window”]
- Choose “Create new”
- Enter a name and a description for the Operation you would like to create.
- Hit “Add” or “Add & Open” in order to create the Operation
- The Operation is created and added to the Routing.
- (Optionally) complete the system properties of the newly created Operation.
- [In the menu toolbar]
- Execute the function Save
If you want to reuse an existing Operation and embed it in the current Routing:
- [In the Explore Structure explorer]
- Select the icon of the Routing for which an Operation needs to be defined.
- [In the menu toolbar]
- Execute the function New Operation
- [Via the “popup window”]
- Choose “Reuse existing”
- Choose a workspace
- Enter part of the Operation name or description and choose it in the proposed list.
- Hit “Add” or “Add & Open” in order to create the Operation
- The Operation is added to the Routing.
- [In the menu toolbar]
- Execute the function SaveNote: Any modifications done on a reused Operation will be available in every project they are used in.
- Execute the function Save
Whenever you create an Operation, the following details can be updated in the working area:
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Workspace | Yes | The virtual environment in which the Operation has been created. In many cases, only one workspace is to be used. The workspace is fully determined by the workspace chosen in the dashboard. |
| Name | Yes | The identifier of the Operation. The length of the name is limited to 64 bytes and is preferably readable. It is recommended to adopt a coding rule for names, e.g. have them start with a small letter and use a capital letter for every new word. Example: myOperation |
| Description | Yes | The description will functionally describe the Operation, and is limited to 4000 bytes. |
| Exist | Yes | Determines whether the Operation always exists or only in some circumstances. The existence can be provided by a fixed value, or by a BRC. |
| Start | No | Allows executing a BRC that executes a constraint before starting to generate the Operation. The Start BRC will only be executed when the existence of the Operation issues “true”. The generation of the Operation will only be continued if the Start BRC issues “true”. Can be provided by a fixed value, or by a BRC. This feature is not currently available/supported |
| Business Information Grid | No | Allows attaching a Business Information Grid. Business Information Grids are structured tables, for which the columns have been defined by Business Properties, useful to generate technical data for production purposes. |
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Description | No | Allows attaching a BRC that overrides the Routing description for the current context. Yield (in %) No The yield, expressed as a percentage, is the productivity rate for the Work Center or the Subcontractor. It can be provided by a fixed value or a BRC and defaults to 100 (i.e. 100%) |
| Number of Simultaneous Parts | No | The number of simultaneously manufactured parts can be provided by a fixed value or a BRC and defaults to 1. |
| Overlap Quantity | No | The overlap quantity is the number of manufactured parts, issued by the operation, required to start the next operation. This can be useful in the event of a manufacturing overlap, i.e. when several work centers might be partially used at the same time. |
| Time 1 | No | An additional source of user-defined time period (e.g. expressing a number of hours) which can be provided by a fixed value or by a BRC. |
| Time 2 | No | An additional source of user-defined time period (e.g. expressing a number of hours) which can be provided by a fixed value or by a BRC. |
| End | No | Allows executing a BRC that executes a constraint when the Operation generation is finalized. Can be provided by a fixed value, or by a BRC. This feature is not currently available/supported |
If Work Center information is required, the following attributes can be provided:
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Work Center | No | Allows drag & dropping a Work Center using the Explore Resources explorer tab. Can be provided by a fixed value or by a BRC. |
| Time Type | No | Select the type of time used for the Work Center, and if provided, for the Operators and Machines: Rate: expressed as the number of units per hour; Unit Time: expressed in hours and one-hundredth of an hour per unit |
| Setup Time | No | The Work Center setup time can be expressed using a fixed value or a BRC and defaults to 0. |
| Unit Time | No | The Work Center unit time can be expressed using a fixed value or a BRC and defaults to 0. |
If Machine information is required, the following attributes can be provided:
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Machine | No | Allows drag & dropping a Machine using the Explore Resources explorer tab. Can be provided by a fixed value or by a BRC. |
| Quantity | No | The number of Machines can be expressed using a fixed value or a BRC and defaults to 1. |
| Setup Time | No | The Machine setup time can be expressed using a fixed value or a BRC and defaults to 0. |
| Unit Time | No | The Machine unit time can be expressed using a fixed value or a BRC and defaults to 0. |
If Operator information is required, the following attributes can be provided:
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Operator | No | Allows drag & dropping an Operator using the Explore Resources explorer tab. Can be provided by a fixed value or by a BRC. |
| Quantity | No | The number of Operators can be expressed using a fixed value or a BRC and defaults to 1. |
| Setup Time | No | The Operator setup time can be expressed using a fixed value or a BRC and defaults to 0. |
| Unit Time | No | The Operator unit time can be expressed using a fixed value or a BRC and defaults to 0. |
If Subcontractor information is required, the following attributes can be provided:
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
| Subcontractor | No | Allows drag & dropping a Subcontractor using the Explore Resources explorer tab. Can be provided by a fixed value or by a BRC. |
| Cycle Time | No | The subcontractor cycle time, expressed in days, is the total time attributed to the subcontractor to realize the Operation. It can be provided by a fixed value or by a BRC and defaults to 0. |
| Fixed Cost | No | The fixed cost charged by a Subcontractor to perform an Operation is the total price of the subcontracted service. It can be determined by fixed value or a BRC and defaults to 0. |
