This function is used to define the scenarios that can be executed when accessing the Configurator function, either in a stand-alone fashion or from quote or order entry.

Based on the data in the reference database, a scenario is used to create a new product along with its technical data. The data in the database is created based on the responses to the questions posed by the scenario with the help of selection windows, options / variants...

In addition, a scenario can also be used to set up a more complex selection (with or without options and variants) of products that already exist.

Prerequisite

SEEREFERTTO Refer to documentation Implementation

Screen management

The entry of a scenario is broken down into seven phases characterized by as many tabs.

Header

Tab Parameter Definitions

Tab Parameter/Initialization

This grid is used to set up all the questions that will be asked to the user during the execution of the scenario. The setup of these questions is made via the intermediary of the question type symbols, of product selection windows, of shapes and patterns or for catalogued procedures.

Each question (or group of questions) can have conditions applied. The response to a question can give rise to one or more variable calculations.

Number of questions in a scenario

QSTNUM is limited to 99 by a supervisor constraint. This is the sum of the questions asked in the scenario and sub-scenarios. The use of a shape and pattern depends on one question more than these questions. In the CFG0 screen, the maximum number of questions is limited to 150.

Notes on the activation of a trace using the TRAFLG variable

In order to aid the update or the de-bug, it is possible to activate a log file.

This log file notably shows :

 The messages (warning or blocking) issued during the running of a scenario. These messages make it possible to define a problem.

 The main steps carried out during the validation and generation phases.

In the scenario setup, it is possible to activate this log by incorporating a line assigning the value 1 to the TRAFLG symbol.

NB: If the TRAFLG symbol is either not declared or has a 0 value it specifies that there is no explicit log carried out.

In the case of a serious error (file access, incoherence...), the configurator automatically switches to log mode to make it possible to have the first analysis elements of the anomaly.

Notes on the display of a dynamic amount

It is possible to dynamically display an amount being entered in a scenario. A system variable DYNAMT exists for this where the value must be loaded by the scenario or via the different entry points. The title of this variable can be modified using the symbol management.

The currency shown in the display of this amount is the currency found in the S_CUR variable.

 

View the detail in the "scenario line entry" section.

Tab Kit Creation

All parent product creation must be based on a reference parent product.

It is therefore necessary to specify in this tab, the reference parent product and also the equivalence search method.

Then, it is necessary to complete the parent product definition grid, by re-defining the fields that are different to the reference product (the fields in the product-site, product-sales, BOM header... tables can also be redefined).

In the case where it is necessary to create a record (when the operation entry is of the type product-customer, product-cost, BOM header etc.) without relying on the reference record, the use of the Default Values makes it possible to avoid the redefinition of all the fields for the table in question.

Management of generic products: In the case an existing component is selected (no new component created), descriptions 1, 2 and 3 can be modified so that the selected component behaves as a generic product.  For this purpose, 3 system variables (GENDES1, GENDES2, GENDES3) of the same length that the product description can be loaded using the scenario setup. These variables are used to update the product descriptions ITMDES1, ITMDES2, ITMDES3.

View the detail in the "scenario line entry" section.

Notes on the assignment of a sequence number to a scenario: example of product codes created by the configurator.

Different options are available to create the new product code:

Coding based on ####

Example for a parent product:

Master product

ITMREF

"CAM_####"

In this case, the system allocates an automatic number by searching for the last product with the same root in the database.

In the example above, the root is "CAM_" and if the last product for this root code is "CAM_0027" then the system will allocate the code "CAM_0028" to the new product.

This option is made for occasional use because it can lead to long waiting time by users working on the same prefixes at configuration validation or generation.

Coding using the configurator document number

Example for a parent product:

Master product  

ITMREF

"CAM_"+S_CPTCFG

In this case, the product code includes the item number (or a part of it) generated by the grouped sequence number counter.

In this way, two users working on their own data will not be constrained by the waiting times that are sometimes long.

Coding using the sequence number counter defined in the product category

To activate this mode, it is necessary to define a sequence number counter for the product and specify an empty code for the product.

Example for a parent product:

Master product

ITMREF

""

In this case, the product code is calculated by the sequence number counter of the category.

Used occasionally, this method is not too important. On the other hand, it must be defined as "grouped" sequence type if the usage is more intensive to avoid long waiting times.


Coding using a "variable" symbol assigned to a sequence number counter

To activate this method, a configurator symbol of the variable type is assigned to an X3 sequence number counter.

the product code makes reference to this variable.

Master product

ITMREF

S_CPT1

In this case, the product code is calculated by the sequence number counter specified on the symbol.

This variable will be evaluated a single time at the moment of the configuration validation.

If several sequence number counter values are required, it is necessary to use several symbols using the same X3 sequence number counter.

Used occasionally, this method is not too important. On the other hand, it must be defined as "grouped" sequence type if the usage is more intensive to avoid long waiting times.

Tab Select Components

If the components must be selected from the "product selections" or "options / variables", it is necessary to specify the selection window code in the grid.

The previous questions as well as the setting of the variables necessary for the selections can be defined.

View the detail in the "scenario line entry" section.

Tab Create Components

The selection of the components is added to the components list of the reference BOM used (action available using the right button on the component line). Similarly, other components can be added to this grid.

These links can be sufficient or their presence based on conditions in this tab.

Composition of the grid:

 BOM sequence number,
 reference component,
 equivalence search method,
 link quantity or zero (if included in a calculation),
 creation condition for this link.

Tab Create Operations

The entry of a reference route makes it possible by default to propose all the operations for this route (by right button on the line).

Each operation can then be freely modified. Similarly, the presence of an operation in the route of the final product can be conditioned by the responses to the questions posed to the user.

In the same way, it is possible to modify the scheduling data in the route operations (ROOSCD table). If no specific setup is planned, then the system takes the scheduling codes defined in the operations of the reference route, then sets as successor scheduling code the operations not present in the reference route.

The grid can be completed by manually entering the operation numbers. In this case, the operation inserted must be based on a standard operation.

It is possible to enter the principal operation times in the grid, even to calculate them from the "Operation fields" available by right button.

View the detail in the "scenario line entry" section.

Tab Final Controls

This tab is used to carry out the final controls on the products, BOM and route that have been created. Theses final controls correspond to the possible presence of blocking messages at the end of a data generation (e.g. warning by blocking message on the inconsistency between two components).

Special cost calculations (advanced function)

If the user has chosen to automatically calculate the costs, at the end of the data generation :

For each BOM component "Material cost" actions are executed: these actions must load the unitary cost in the system variable "CST". The on-line tables are "ITMMASTER" Product master, "BOM", BOM header and "BOD" BOM detail for the link concerned.

For each routing operation the "Machine cost", "Labor cost" and "Sub-contractor cost" actions are executed. These actions must load the unitary cost in the system variable "CST". The on-line tables are "ROUTING", "ROUOPE", "WORKSTATIO" and WORKCOST" for the operation concerned.

The "Material", "Machine" "Labor" and "Sub-contractor" and "Total cost" total costs will be calculated by the system and saved in the system variables "CSTMAT", "CSTMAC", "CSTLAB", "CSTSCO" and "CSTTOT".

View the detail in the "scenario line entry" section.

Scenario line entry

This entry is identical for the procedures and the scenario lines (all phases)

Entry notes

In a general manner, within the same scenario line grid, it is possible to copy / cut / paste a setup line or group of lines by button on a line.

When creating or inserting a new line, it is possible to use the right button to copy the previous line.

In the Condition column, using the right button, it is possible to copy the condition from the previous line, or to automatically set up the opposite condition on the previous line without re-entry. In the Expression column, using the right button, it is possible to automatically copy the expression entered on the previous line.

In the Symbol columns, using the right button it is possible to access thebutton, which then displays the symbol characteristics entered.

1. Set a question

Example 1: Set the question COLOUR

Example 2: Set the DIAMETER question if the response to the FORM question = "R" (FORM can also be a variable calculated by the scenario)

  

Example 1:
Example 2:

Action

Question

Question

Symbol

COLOUR

DIAMETER

Condition

 

S_FORM = "R"

Expression

 

 

Note :

With the "advanced functions" setup, if an expression is entered: the question is initialized with the before-entry expression.

 

2. Calculate a variable

Example 1: Calculate the variable SURFACE with an expression (LENGTH and WIDTH = Questions or variables )

Example 2: Calculate the variable SPEED with the VITBIS calculation table as a function of the value of the symbol LARBIS if the Boolean BISEAU is "true" (tick box or value = 1)

  

Example 1:
Example 2:

Action

Variable

Variable

Symbol

SURFACE

SPEED

Condition

 

S_BISEAU

Expression

S_LENG*S_WIDTH

 

Calculation table

 

VITBIS

Index

 

LARBIS

 

3. Product selection

Example 1: Open the accessories selection window "ACC" if the ACCESS variable is true and authorize the selection of 1 to n lines.

Example 2: Open the accessories selection window "ACC", always for display only

 

Example 1:
Example 2:

Action

Selection

Selection

Symbol

ACC

ACC

Parameter

Select. 1 to n lines

No selection

Condition

S_ACCESS

 

 
4. Selection of variant options

Example: Open the Variant options selection window "OPT" if the OPTIONS variable is true and authorized the selection of 1 to n lines.

 

5. Establish a link with an X3 table (advance function)

For example: Read the record in the units table (TABUNIT) corresponding to the unit contained in the UOM variable if this variable is not empty.

 

Example

Action

Table link

Symbol

TABUNIT

Condition

S_UOM <> ""

Expression

[F:LNK]UOM = S_UOM

Notes :

 The record in the table is available under the abbreviation [LNK].

 The establishment of a link makes the previous link inaccessible (data backup necessary).

 After a table link, the system variable S_LNKOK has the status "true" (= 1) if the link has been found and has the status "false" (=0) if the link has not been found.

 

6. Execution of a procedure

For example: Execute the "RTZ" procedure if the variable INT is true

  

Example

 

Action

Procedure

 

Symbol

RTZ

 

Condition

S_INIT

 

Note :

All the procedure lines are affected by the condition expressed at this level (S_INT here).

Additionally, each procedure line is affected by its own condition.

 

7. Display of a message

For example: Display of a blocking message if the variable S_SURFACE contains a value > 1.8

  

Example

Action

Message

Parameter

Blocking

Condition

S_SURFACE > 1.8

Expression

"The calculated surface : "+num$(S_SURFACE)-"is not authorized"

Notes :

The "+" character is used to concatenate the character strings.

The "-" characteristic is used to concatenate the character strings with the insertion of an additional space.

The "num$()" function is used to insert a numeric field (question, variable or table field) in the form of a character string.

 

8. Entry point creation (advanced function)

After having previously associated an entry point to the CFGLIBB processing, it is possible to call one or more entry points anywhere in the scenario.

For example: Create an entry point "POINT_1" if the variable SURFACE is null

  

Example

 

Action

Entry point

 

Symbol

GPOINT (generated)

 

Condition

S_SURFACE = 0

 

Expression

"POINT_1"

 

Notes :

The control will be carried out through a specific processing associated with CFGLIBB.

This process will carry an ACTION label

The global variable GPOINT will contain "POINT_1"

The system variable S_UPDMOD contains :

 0 during the response entry phase

 1 after the scenario validation before the start of the transaction

 2 after the scenario validation after the start of the transaction

 

9. Allocation of a value to a table field

The procedure is identical for all the tables "generated" by the configurator :

 ITMMASTER = Product master

 ITMFACILIT = Product – site

 ITMMVT = Stock totals

 ITMSALES= Products - sales

 ITMBPC = Product-customer

 ITMBPS = Product-Supplier

 BOM = BOM headers

 BOMD = BOM detail

 ROUTING = Routing header

 ROUOPE = Routing operations

Example 1: Load the contents of the POIDS variable in the CFGFLDNUM1 field in the Product master table (ITMMASTER) and request that this contents are re-activated at the end of the scenario.

Example 2: Load the link quantity LIKQTY of the BOM detail table (BOMD) with the value 1.25.

  

Example 1:
Example 2:

Action

Product master

BOM detail

Symbol

CFGFLDNUM1

LIKQTY

Index

 

 

Parameter

Re-activation

No action

Condition

(1)

(1)

Expression

S_POIDS

"1.25"

Calculation table

(2)

(2)

Calculation table index

(2)

(2)

Notes :

(1) The packing is possible

(2) The field loading can also be carried out using a calculation table: in this case no expression but specify the calculation table code and the reference symbol.

 

10. Specific case of the master product reference (ITMMASTER ITMREF)

When a sequence number is required to be introduced automatically in the product number as a function of the values existing in the product database, it is possible to use the "#" differentiator character in the product code definition and its characters will be replaced by a sequence number either numeric, alphanumeric or mixed without a gap in the numbering.

The configurator searches for the last product in the database with the same prefix (before the first "#" character ) for the number to take.

The sequence number counter characters are either numeric (0 to 9) or alphanumeric (A to Z) ; if others they are only copied.

An error is generated when the configurator finds a maximum sequence number counter value on each character of the counter.

For example:

The product database contains the following products :

MIRREC001

MIRREC004

MIRREC005

MIRREC008

MIRRONA-7ABC

MIRRONA-8DEF

MIRSTD

 

When defining the product reference "MIRREC###" the configurator will assign the number MIRREC009 then MIRREC010, MIRREC011 etc.

When defining the product reference "MIRRON###XYZ" the configurator will assign the number MIRRONA-9XYZ then MIRRONB-0XYZ, MIRRONB-1XYZ etc.

When defining the product reference "MIRSTD####" the configurator will assign the number MIRSTD0001 then MIRSTD0002,  MIRSTD0003 etc.

           

11. Shapes and patterns

Example 1: Request a choice of a mirror shape (shape group "MI") if the variable CHOICE = "M"

Example 2: Request a choice of glass shape(shape group "GL") in the opposite case

 

Example 1:
Example 2:

Action

Shapes / Patterns

Shapes / Patterns

Symbol

MI

GL

Condition

S_CHOICE = "M"

S_CHOICE <> "M"

Expression

 

 

Note :

With the "advanced functions" setup, if an expression is entered: the shape / pattern is initialized with the before-entry expression.

 

12. Grid containing the fields in the autonomous selection procedures setup
 
Action on
Deactivate
Symbol
Index
Parameter
Condition
Expression
Calculation table

Question

Yes

Question name

No

No

No

No

Yes (11)

No

Variable

Yes

Variable name

No

No

Yes

Yes

Yes (1)

Shapes

Import/export

Yes

Shape name

Or pattern

No

No

Yes

No

Yes (11)

No

Message

 

Yes

No

No

Yes(3)

Yes

Yes(4)

No

 

13. Grid containing the fields in the scenario setup

(Advanced actions in bold)

 Action on
Deactivate
Symbol
Index
Parameter
Condition
Expression
Calculation table

Question

Yes

Question name

No

No

Yes

No

No

Variable

Yes

Variable name

No

No

Yes

Yes

Yes (1)

Selection

Yes

Selection name

No

Yes(2)

Yes

No

No

Options

Variants

Yes

Selection name

No

Yes(2)

Yes

No

No

Link with a table
Yes
X3 table name
No
No
Yes
Yes(9)
 

Procedure

 

Yes

Procedure name

No

No

Yes

No

No

Shapes and patterns

Yes

Shape name

Or pattern

No

No

Yes

No

No

Message

 

Yes

No

No

Yes(3)

Yes

Yes(4)

No

Entry point
Yes
GPOINT
(generated)
No
No
Yes
Yes(10)
No

Comment

Yes

No

No

No

No

Yes (12)

No

Tables

Product master

Sales product

Yes

Field name

Yes(5)

Yes(6)

Yes

Yes

Yes(1)

Other tables

 

Yes

Field name

Yes(5)

No

Yes

Yes

Yes(1)

Material cost
(7)
Yes
Variable name (8)
No
No
Yes
Yes
Yes(1)
Machine cost
(7)
Yes
Variable name (8)
No
No
Yes
Yes
Yes(1)
Labor cost (7)
Yes
Variable name (8)
No
No
Yes
Yes
Yes(1)
Sub-contractor cost (7)
Yes
Variable name (8)
No
No
Yes
Yes
Yes(1)

(1) The names of the calculation table and the index are mandatory if no expression is entered.

(2) Chosen from :   

 No selection (other variant options)

 Selection of 0 or line 1

 Mandatory selection of line 1

 Selection of 0 to n lines

 Selection of 1 to n lines

(3) Chosen from :

 Non-blocking information message

 Blocking error message (at the end of the scenario)

(4) Message text in inverted commas

(5) Required for dimensioned fields (e.g. packing units)

(6) During parent product creation choice from the following :

 No action

 Re-actualization: the field is recalculated at the scenario end using the formula

(7) These choices are only possible in the advanced cost calculation case

(8) For cost calculation the system variable CST must contain, according to context:

 The unitary material cost

 The unitary machine cost

 The unitary labor cost

 The unitary sub-contractor cost

(9) Give the expression for the filter to be carried out on the table

For example: Search the record in the units table for the unit value contained in the S_UNIT variable

The X3 table will be TABUNIT and the expression will be [F:LNK]UOM=S_UNIT   or UOM=S_UNIT

The result of the link will be given by the system variable S_LNKOK.

It is therefore mandatory to specify the file abbreviation if using the functions and not all of the functions are usable (scenario execution error).

(10) Value to be loaded in the global variable GPOINT (Label format in inverted commas).

(11) Yes if advance functions (used to initialize the default value)

(12) Enter the comment text in free format.

 

14. Actions according to the scenario phases

The greyed out actions are only possible with the "extended functions"

  

Selection

Parent product

Parent product creation

Component selection

Component creation

Operation creation

Final processing

Question

Yes

Yes

Yes

Yes

Yes

 

Variable

Yes

Yes

Yes

Yes

Yes

Yes

Selection

Yes

 

Yes

 

 

 

Options/variants

Yes

 

Yes

 

 

 

Link with table
Yes
Yes
Yes
Yes
Yes
Yes

Procedures

Yes

Yes

Yes

Yes

Yes

 

Messages

Yes

Yes

Yes

Yes

Yes

Yes

Shapes / Patterns

Yes

Yes

Yes

 

 

 

Entry points
Yes
Yes
Yes
Yes
Yes
Yes

Product master

 

Yes

 

Yes

 

 

Product-site

 

Yes

 

Yes

 

 

Product-stock

 

 

 

 

 

 

Product-sales

 

Yes

 

Yes

 

 

Product-customer

 

Yes

 

Yes

 

 

Supplier product

 

Yes

 

Yes

 

 

BOM header

 

Yes

 

 

 

 

BOM detail

 

 

 

Yes

 

 

Routing header

 

Yes

 

 

 

 

Range operation

 

 

 

 

Yes

 

Material cost
 
 
 
 
 
Yes
Machine cost
 
 
 
 
 
Yes
Labor cost
 
 
 
 
 
Yes
Sub-contractor cost
 
 
 
 
 
Yes

 

15. System variables

A certain number of system variables can be used by the scenarios.

 Variable

Title

Viewable

Changeable

Observations

BPRNUM

BP number

Yes

Yes

 

BPRREF

BP reference

Yes

Yes

 

CMPSEL

Selected parent product grid

Yes

No

 

CST

Cost interface

Yes

Yes

 

CSTMAT

Material cost

Yes

No

 

CSTMAC

Machine cost

Yes

No

 

CSTLAB

Labor cost

Yes

No

 

CSTSCO

Sub-contractor cost

Yes

No

 

CSTOVE

Overhead cost

 

 

Not active

CSTTOT

Total cost

Yes

No

 

CUR

Valuation currency

Yes

Yes

(1)

CURITM

Current parent product

Yes

No

(2)

CURROU

Current routing

Yes

No

 

FCY

Site

Yes

No

 

IPTDAT

Reference date

Yes

Yes

 

ITMQTY

Parent product quantity

Yes

Yes

(3)

ITMSEL

Component grid

Yes

No

 

NOHIS

Deletion placed in history

Yes

Yes

(4)

LNKOK

Return link with table status

Yes

No

(8)

RNDVAR

Variable calculation rounding

(number of decimals)

Yes

Yes

(9)

PURDAT

Planned date for data purging

Yes

Yes

(5)

TRAFLG

Log generation flag

Yes

Yes

(6)

ITMREF

Product number

Yes

Yes

Work variable (7)

ITMDES

Product description

Yes

Yes

Work variable (7)

CFGLIN

Product line

Yes

Yes

Work variable (7)

CFGALP1 to

CFGALP6

Alphanumeric fields 1 to 6

Product line

Yes

Yes

Work variable (7)

CFGNUM1 to

CFGNUM6

Numeric fields 1 to 6 

Product line

Yes

Yes

Work variable (7)

 

UPDLEV

Update level

No

No

Reserved by system

FILTER

Filter for a symbol controlled with an X3 table

No

Yes

(10)

RPAR

Load a product number to modify the reference parent product

Yes

Yes

 

RCMPn

Load a product code in order to modify the reference parent product for the BOM sequence n

Yes

Yes

(11)

GENDES1

"Product 1 description" text for the processing of the generic products

Yes

Yes

 

GENDES2

Identical for "product 2 description"

Yes

Yes

 

GENDES3

Identical for "product 3 description"

Yes

Yes

 

DYNMAT

Amount dynamically displayed in the top of the scenario window

Yes

Yes

Display currency

DYNABQ

Dynamic selection of a calculation table

Yes

Yes

Enter the name of the calculation table to be executed by the next scenario line using a calculation table.

Notes :            

(1) Initialize at the scenario start to maintain valuation coherence

(2) The parent product number will not be known if using automatic numbering.

(3) This variable must be loaded with the response to a question if a quantity other than 1 is required.

(4) The setting of a value other than zero causes the deletion of the update of the "Configuration history" tables.

(5) The initialization of a date in this variable can be used to define the purge date for the created data, if not the purge date will be 31/12/2999.

(6) The initialization of this variable is used according to the values to generate a log used for problem resolution.

(7) These non-initialized variable are pre-defined in a sufficient format for free usage by the user.

(8) This Boolean variable takes the value 1 if the link has been found and 0 if it is not found.

(9) The default value is 6. This value can be modified by changing the default value of the symbol.  The modification can also be performed by modifying the variable by scenario, however the default value will remain unchanged.

For example: The ARTNUM symbol, the choice of a product in the ITMMASTER table

To have the products of the product line "MIR", the scenario will load in this text type variable (250 characters) the filter before the question line and delete it after the question line.

Variable           FILTER           expression = " [F]CFGLIN=’MIR’ "

Question         ARTNUM        

Variable           FILTER                       expression " "

(11) These variables must be created with one variable per BOM sequence number.

For example: RCMP10 to load the reference component for the links to BOM number 10.

(12) This variable is used to save, even after the generation of the entered responses data for a scenario, a given BP and a given document number.

(13) Do not forget to delete the contents of this variable after the line using the calculation table. 

Reports

By default, the following reports are associated with this function :

  PRTSCR : Screen print

This can be changed using a different setup.

Specific actions

Limitations

You cannot use the Configurator with products (manufactured or subcontracted bills of materials (BOMs)) that are managed by version.

This is a limitation of the system.

Error messages

In addition to the generic error messages, the following messages can appear during the entry :

Several questions are assigned to a single line in the same section!

This message is displayed during scenario validation if several questions are assigned to a single line in the same section.

Routing not valid for the specified date!

The validity dates for the reference routing have been exceeded.

Reference routing missing!

The selected routing does not exist.

Warning BOM not active!

The reference BOM dates are not valid.

Routing / BOM in development!

The reference BOM or routing status is not "production".

Product managed by version: setup not authorized!

This message is displayed if the entered product (bill of materials (BOM)) (field item Reference) is version managed. You cannot use the Configurator with products (manufactured or subcontracted BOMs) that are managed by version.

Tables used

SEEREFERTTO Refer to documentation Implementation