Configurator · Rules
Two kinds of rule in one list. CONSTRAINT rules say what may be chosen, as explicit pairs, because a rule has to be explicable to a salesperson standing in front of a customer. PROCESS rules say what the choice MEANS — which component, in what quantity, through which operation, with which inspection — and carry a condition written in the ordinary expression language.
Where to find it
- Module: Supply Chain
- Group: Master Data
- Section: Product Configurator
- Screen: Configurator · Rules
Address in the console: /scm/config-rules
List · 26 columns · 45 fields on its form · 4 of them required
What the list shows
These are the columns of the list, in the order they are drawn. Any of them can be sorted on, filtered on, hidden, or exported.
| Column | Kind | Field name |
|---|---|---|
| Model | Code | model_no |
| Code | Code | code |
| Rule | Text | name |
| Kind | Status | rule_type |
| BOM | Code | then_bom_name |
| Routing | Code | then_routing_name |
| Replaces | Code | replace_item_no |
| Sets on child | Code | target_code |
| Locked | Yes or no | is_locked |
| When option | Code | when_option_code |
| Then option | Code | then_option_code |
| When | Code | condition_expr |
| Computes | Code | output_name |
| Formula | Code | value_formula |
| Selects part | Code | then_item_no |
| Quantity | Code | qty_formula |
| Op | Number | operation_no |
| Operation | Text | operation_name |
| Work centre | Code | then_work_center_code |
| Outside | Yes or no | is_subcontracted |
| Inspection | Code | then_inspection_plan_no |
| What it says | Text | message |
| Severity | Status | severity |
| Active | Yes or no | is_active |
| In force from | Date | effective_from |
| Until | Date | effective_to |
The form
What is asked for when a record is created here. Required fields are marked; a choice drawn from a configuration list is one an administrator can extend without a release.
| Field | Type | Choices | Notes |
|---|---|---|---|
| Model required | Choice | Looked up from existing records | |
| Code required | Text | ||
| Name required | Text | ||
| Kind required | Choice | requires, excludes, implies, recommends, min_quantity, max_quantity, forces_eto, calculates, selects_component, selects_operation, selects_routing, selects_inspection, selects_submodel, sets_parameter, defaults_value, propagates_value, excludes_component, replaces_component, sets_component_qty, selects_bom, removes_operation, sets_operation_time, sets_work_center, validates | Constraint rules: "requires" complains, "implies" adds it for them. Process rules: "calculates" works out a number, the "selects_" rules decide what the product is made of and how, and "defaults_value" fills in an answer (Locked: the person cannot change it). Rule actions: "propagates_value" writes a value into a sub-assembly (TG100.DIAL_SIZE = TG310.DIAL_SIZE); "excludes_component", "replaces_component" and "sets_component_qty" change a part already in the structure; "selects_bom", and "selects_routing" with "Instead of the base routing", choose a variant; "removes_operation", "sets_operation_time" and "sets_work_center" change an operation by its number; "validates" refuses (error) or warns when its condition holds. Faster: Configurator · Workbook › Rules as text, one IF … THEN … sentence per line. |
| When this option is chosen | Choice | Looked up from existing records | Options of the chosen model. Type a material number to find the option that adds it. |
| Then this option | Choice | Looked up from existing records | Not restricted to the same question as the "when" side — a rule that crosses the tree is the whole point of a rule. |
| When (a condition) | Long text | Written like a formula, over the codes of the questions: steel_grade = 'A' and diameter = 12 and galvanizing = 'yes'. Leave it empty for a rule that always applies — which is how the standard components and standard operations of a model are expressed. A question holds the CODE of the option chosen (dial_size = 'DS-4IN'), or the number typed for one that takes a value; <question>_option always holds the code. Not prose: "When dial size is 4 inch" is refused. For process rules only — constraint rules use the two option boxes above. Configurator · Models › Check this model lists every name and code. | |
| Name of the value it computes | Text | For a "calculates" rule. Later rules address the result by this name. | |
| How to show that value | Text | ||
| Unit of that value | Text | ||
| Formula | Long text | e.g. length_mm + process_allowance + cutting_allowance | |
| Then select this part | Choice | Looked up from existing records | One part. For several under the same condition, save the rule and add them to its Components. |
| Alternative part | Choice | Looked up from existing records | What is used when the first choice cannot be had. Not a second component. |
| What kind of part | Choice | raw, component, subassembly, consumable, packaging, purchased | Decides which line of the cost sheet it lands on. |
| Quantity (a constant) | Number | ||
| Quantity (a formula) | Long text | e.g. raw_mass_kg. Wins over the constant where both are given. | |
| Unit of the quantity | Text | ||
| Scrap % | Number | ||
| Consumed at operation | Number | ||
| Operation number | Number | ||
| Operation | Text | ||
| On this work centre | Choice | Looked up from existing records | |
| After operation | Number | ||
| Setup (minutes) | Number | ||
| Run per one (minutes) | Number | ||
| Run time (a formula) | Long text | e.g. round(2 + raw_length_mm / 2000, 3) | |
| Performed outside | Yes or no | The routing is where subcontracting is decided. An operation marked here raises a purchase requisition rather than being scheduled on a machine. | |
| Subcontractor | Choice | Looked up from existing records | |
| What they charge (a constant) | Number | ||
| What they charge (a formula) | Long text | Galvanizing is priced by the zinc deposited and machining by the hour — a flat figure makes every size cost the same to have treated. | |
| How long they keep it (days) | Number | ||
| Then inspect to this plan | Choice | Looked up from existing records | |
| At which stage | Choice | incoming, in_process, final, first_article, pre_ship, periodic, audit, returned | |
| Then configure this sub-assembly | Choice | Looked up from existing records | |
| Then use this bill of material | Choice | Looked up from existing records | selects_bom: a variant bill that replaces the base one when the condition holds. |
| Instead of the base routing | Yes or no | selects_routing: on, the routing replaces the base routing; off, its operations are added. | |
| Part it replaces | Choice | Looked up from existing records | replaces_component: this part is taken out and "Then select this part" goes in its place. |
| Sub-assembly question | Text | propagates_value: the question code on the sub-assembly ("Then configure this sub-assembly") that the Formula’s value is written into, e.g. DIAL_SIZE. | |
| Locked | Yes or no | defaults_value / propagates_value: on, the person cannot change what the rule sets; off, it is only a default. | |
| What the person is told | Long text | A constraint rule that fires with no explanation is a configurator people stop using. A process rule uses this as the reason it writes beside every part and every operation it produced. | |
| Severity | Choice | error, warning, info | |
| Order | Number | ||
| Active | Yes or no | ||
| In force from | Date | The date this version of the row takes effect. Leave it as today unless you are dating a change ahead. | |
| Until | Date | Leave empty for open-ended. Setting it ends this version rather than deleting it. |
The rules that apply here
Everything on this screen obeys the platform rules rather than rules of its own. The ones worth knowing before you use it:
- Narrowing a list — search, conditions, sort, totals, export and saved views.
- What may be changed — the five grounds a record may not be edited on.
- Companies and business units — what the switcher above this list is doing to it.
- Creating a record — required fields, where choices come from, and how the number is allocated.
- Importing a spreadsheet — this screen accepts one, and it runs through the same rules as typing.