Understanding Decisions

A decision is a reference to another object, for example, a program or screen, that is not resolved until run time. If there are multiple possible combinations of values of variables used in the name of the target entity, or if some of the variables are undefined, the parser creates a decision entity, replacing the named relationship with a relationship to the decision and a set of relationships from the decision to each instance of the target entity.

When you use the <rel> tag at the top level of the repository definition, you can specify a decision attribute that tells the parser to create a decision regardless of the number of possible values:

yes
This means that a decision is created regardless of the number of possible values.
no
This means that a decision is never created, multiple values results in multiple direct relationships.
auto
This means that a decision is created if more than one possible value exists, and is not created if there is exactly one possible value.

Both the relationship name and the type of the target entity must be specified as plain static strings, without any variable substitutions or switches:

<rep>
  <rel name='ReadsDataport' decision='yes'>
    <target type='DATAPORT' name='%_pgmname.%x'/>
  </rel>
</rep>