The DEFRULE statement defines a rule, or set of rules. When an environment allows interception, the rule definitions found in the rules language are evaluated. Each rule definition may have one or more IF-THEN-ELSE groups. The rule definitions should use multiple IF-THEN-ELSE groups only when the groups are in some way related.
The product scans the rule definitions in the order that the rules are presented in the rules member. Once all the expressions in the IF section of a rule are successful, the product will perform the actions requested by the THEN section of the rule.
After performing the requested actions in a THEN or ELSE section, the rules language scanning may stop or continue based on the CONTINUE parameters found on the DEFPROD and DEFRULE statements.
Inside the IF section of an IF-THEN-ELSE group, you can use as many if_expressions and CALLEXIT parameters as required. Within a THEN or ELSE section of a rule, you can specify multiple actions or SET parameters.
DEFRULE RULE01
IF JOBNAME = (ACT*,ACD*) ACCT = ACT*
THEN SET DISKPOOL = ACTDP1 SET TAPEPOOL = ACTTP1
DEFRULE rulename CONTINUE( option ) SKIP TEST TRACE
IF-THEN-ELSE_1 IF-THEN-ELSE_2
...
IF-THEN-ELSE_n
rulename
Function: While this is NOT a required parameter, the rulename parameter
is used by other DEFPROD statements for continuation processing: CONTINUE SCANNING AT rulename.
The rulename defines the link between the DEFRULE statements.
Default: None
Format: Specify a rulename 1 to 20 characters long.
CONTINUE( options )
Function: After performing all the action statements requested by an IF-
THEN-ELSE group, the flow control statements can be used to terminate or continue rule processing.
Once an IF-THEN-ELSE has successfully completed, the rules language can continue scanning at the next IF-THEN-ELSE, the next rule definition, a specific rule definition, or simply exit the rules language.
The CONTINUE parameter on the DEFPROD statement establishes the defaults for flow control processing. The CONTINUE parameters on the DEFRULE and DEFPROC statements can override the established defaults for the rule or procedure definition. Lastly, the CONTINUE statement can be used in an IF-THEN-ELSE to control flow processing.
By default, the product uses CONTINUE(RETURN,RETURN) for
rule processing. The two operands establish the defaults for the THEN and ELSE sections of an IF-THEN-ELSE, respectively. If an IF group evaluates as false, and no ELSE section is coded, flow control always performs a NEXTIF request (that is, processing continues at the next IF).
Default: The default for this parameter is set by the CONTINUE
parameter on the DEFPROD statement.
Format: EXIT, EXITDO, EXITPROC, NEXTIF, NEXTRULE, or
rulename
SKIP
Function: The SKIP parameter is used to disable the rule group from
normal rules processing. To conditionally disable a rule group for testing, examine the TEST parameter.
Default: None
Format: SKIP
Function: The TEST parameter is used to conditionally disable the rule
group from normal rules processing. The rule will only be processed when the current step or TSO user has ACCTEST allocated. By allocating the ACCTEST DD statement, a rule verification job can enable the rule for testing. For more information, examine “TESTING AND DEBUGGING”
chapter in the product’s user guide.
Default: None
Format: TEST
TRACE
Function: The TRACE parameter is used in conjunction with the
DEFPROD TRACE( SELECTIVE )
operand. These parameters can be used to activate selective rule tracing. By default, the trace DD statement activates rule tracing for all rules used by the product. For example,
//PTLTRACE DD DUMMY produces trace messages for all the rules in PTLRULES.
To enable selective tracing, code the TRACE( SELECTIVE ) operand on the DEFPROD statement and use the TRACE parameter on each DEFRULE statement that you wish to trace. Note: the trace DD state-ment is still required to activate tracing. For more information, examine “TESTING AND DEBUGGING” chapter in the product’s user guide.
Default: None
Format: TRACE