Procedures

Definition

You can use procedures to infer values for characteristics – they are like actions in this respect. However, there are some important differences:

Procedures

Actions

 Actions are an old dependency type. You can almost always use procedures to do the same thing.

Procedures can overwrite default values that are set by other procedures.

Actions cannot overwrite values that are set by other actions.

Procedures can set default values for a characteristic, which can be overwritten by the user.

The user cannot overwrite values that are set by an action.

If several procedures are assigned to an object, you can define a processing sequence (see Processing Sequence of Procedures ).

You cannot influence the sequence in which actions are processed.

You can assign procedures to the following objects:

  • The characteristic value that triggers the procedure

  • The characteristic that triggers the procedure

  • The configuration profile of the configurable object

Note Note

It is easier to assign procedures to the configuration profile, so that they are all in one place.

End of the note.
  • BOM items – to change the component quantity, for example

  • Operations in task lists – to change the standard values, for example

Use

  • If you use a procedure to infer a value for a characteristic, you enter the variable $SELF before the characteristic.

  • Procedures can overwrite values that are set by other procedures.

Additional keywords for procedures:

  • Set default values:

$SET_DEFAULT ($SELF, <characteristic>, <term>)

  • Delete default values:

$DEL_DEFAULT ($SELF, <characteristic>, <term>)

  • Produce a sum of the values for a characteristic in a multi-level configuration:

$SUM_PARTS ($SELF, <characteristic>)

  • Add the components of a BOM together:

$COUNT_PARTS (<$SELF>)

  • Surcharge for variant conditions:

$SET_PRICING_FACTOR ($SELF, <characteristic>, <variant key>, <factor>)

In procedures, you can use the following keywords, which are not allowed in actions:

  • NOT SPECIFIED

  • NOT TYPE_OF

  • <multiple-value characteristic>NE<value>

See also:

Changing Master Data with Dependencies