SIMULATE 2000 has the ability to intercept the TIME SVC, the TIME PC routine, and the EXEC CICS ASKTIME commands: ASKTIME, ASKTIME_ABS and FORMATTIME. The product can also get control during program fetch, job termination and step termination. Each point of interception is called an environment.
Activating an environment - During the customization process, the DEFENV statement can be used to select which environments are important to your installation. The DEFENV statement uses the MODE(ACTIVE) or MODE(WARN) options to define the environments that should be intercepted by SIMULATE 2000. If an environment is placed in MODE(INACTIVE), no interception will occur. By default, all SIMULATE 2000 environments are active after starting the product.
Rule Processing - When the DEFENV allows the product to intercept an environment, the RULESET parameter determines which rule member is processed for the environment. By default, all environments share the PTLRULES member.
The RULESET parameter also determines whether the rules should be called for TIME request, or only the first time the TIME request is issued for the job step. For example, the rules language will normally run once for a job step when the first TIME request is made by an application. Rules processing would then be ignored for subsequent TIME requests made in the job step.
Lastly, the RULESET parameter can specify the name of rule member to process in addition to PTLRULES. For example, the following cards can be added to the rules language to enable the SIMULATE 2000 statistics. The first card defines a user SIMULATE 2000 DD statement - PTLSTATS. The second statement defines the rule member that executes during step termination. This example writes the statistical information during step termination by NEVER processing the default rules language, but ALWAYS processing the PTLSTATS rules. For more information, examine “SIMULATE 2000 Statistics” on page 3-24 in the SIMULATE 2000 User’s Guide.
DEFPROD PTL DDNAME(USER(PTLSTATS))
DEFENV STEPEND RULES(NEVER ADDNAME(PTLSTATS))
DEFENV environment
FILTERRULE ( rulename ) LOG( ddname LEVEL( level ) ) MODE( options )
MSG( LEVEL( level ) WTODC( dcodes ) WTORC( rcodes ) ) RULESET( option NAME( name ) ADDNAME( name )
POSTNAME( name ) PRENAME( name ) )
SMF( num LEVEL( level ) ) USERID( userid LEVEL( level ) )
environment
Function:This is an optional parameter. SIMULATE 2000 has the ability to
intercept almost any program request for the system clock. The product can also get control during program fetch, job termination and step termination. Each point of interception is called an environment.
| Program Request | Environment |
| TIME | SVC11 |
| TIME LINKAGE=SYSTEM | TIMEPC |
| TIME LINKAGE=SYSTEM CMS | TIMEPCCM |
| STCK INSTRUCTION (DYNAMOD) | STCK |
| CVT ACCESS (DYNAMOD) | CVT |
| EXEC CICS ASKTIME | ASKTIME |
| EXEC CICS ASKTIME ABSTIME | ASKTIME_ABS |
| EXEC CICS FORMATTIME | FORMATTIME |
| External Control Environment |
|
PGM FETCH (DYNAMOD) FETCH JOB TERMINATION JOBEND STEP TERMINATION STEPEND |
The environment name selects the environment that is to be processed by the other parameters on the DEFENV statement. For example, the following DEFENV statement for the SVC11 environment would estab-lish the default DDname for the LOG parameters used on DEFMSG statements.
DEFENV SVC11 LOG(TIMESVC)
The DEFENV statement can use a special statement environment name to establish parameter defaults. When $DEFAULT is specified, the rule compiler uses the specified parameters to modify the parameter defaults for later DEFENV statements. For more information, examine Using$DEFAULT on Statement Definitions.
Default:None
Format: ASKTIME, ASKTIME_ABS, CVT, FETCH, FORMATTIME, JOBEND, STCK, STEPEND, SVC11, TIMEPC, TIMEPCCM
FILTERRULE ( rulename )
Function: This is an optional parameter. The FILTERRULE keyword can
be used to determine whether the current statement is honored by the rule processor. If the rule member requested by FILTERRULE sets the symbolic field RULE_SKIP = YES, then the current rule statement will be skipped. For more information, examine “FilterRules for Rule Statements” on page
Default: None
Format: Specify the name of a rule member found in the SCC rule library:
DTS.R71.RULELIB.
LOG( ddname )
Function: You may wish to use a log data set to monitor events that occur
during product processing. The product can write copies of messages to a log data set. This parameter establishes the defaults for the LOG parameter used on the DEFMSG statements, and the internal messages.
The LOG parameter on the DEFMSG statement allows your rules language to route a copy of the message to a log file allocated in the DIF started task.
Default: None
Format: Any valid DD name
LOG( ...LEVEL( level ) )
Function: When a DEFMSG statement uses the LOG parameter to route a
copy of a message to a log data set, or a DEFENV or DEFPROD statement establishes a log data set for all messages in an environment, the LOG LEVEL subparameters on the DEFPROD, DEFENV and DEFPOOL
statements determine whether a message gets written to the log data set.
Only messages that have the same importance or higher will be routed to the log data set. Messages can have levels of Information, Warning, Action, Error, or Catastrophic.
The LOG LEVEL subparameters on the DEFPROD and DEFENV statements control log processing for allocation requests that are not associated with an ACC controlled allocation request - no rule has selected a device pool for the DD statement.
Any LOG LEVEL subparameters on the DEFENV and DEFPOOL statements have precedence over the level assigned by DEFPROD. Likewise, any LOG LEVEL on the device pool assigned to the DD statement sets the log level default DDname for messages produced in the pool.
Default: LOG(LEVEL(I))
Format: I, W, A, E or C
MODE( options )
Function: The MODE parameter determines whether the product will
intercept the specified environment. If MODE(INACTIVE) is requested, there will be no interception of the environment specified on the DEFENV statement -- no rules processing will occur.
The MODE(WARN) parameter allows interception, and establishes the default of MODE(WARN) on a device pool definition. When an environment is placed in WARN mode, messages are issued indicating that an interception has taken place, but no actions will been performed.
MODE(ACTIVE) allows interception for the specified environment.
Default: MODE(ACTIVE)
Format: ACTIVE, INACTIVE or WARN
MSG( ...LEVEL( level ) )
Function: The MSG LEVEL subparameter on the DEFENV statement can
be used to determine whether a message gets displayed. All internal messages have an assigned message level, which can be modified by the DIF MESSAGE command. The DEFMSG statement can use the LEVEL parameter to assign a message level to the message.
Assigning a message level - Messages produced by the DEFMSG statement can be assigned levels of Information, Warning, Action, Error, or Catastrophic. If no LEVEL is specified on a DEFMSG statement and WRITEMSG is requested, the product will bypass message level processing and the message will always be displayed.
Message level processing - When the product writes a message, the MSG LEVEL subparameters on the DEFPROD and DEFENV statements establish a threshold, and only messages that have the same importance or higher will be displayed. For example, since the DEFPROD statement defaults to MSG(LEVEL(A)), only messages that have a level of Action, Error, or Catastrophic will be displayed.
Unless a LEVEL is specified on the DEFMSG statement, the product will bypass message level processing and the message will always be displayed.
Default: None
Format: I, W, A, E or C
MSG( ...WTODC( dc ) )
Function: The MSG WTODC subparameter establishes the default for the
MSG WTODC subparameter used on the DEFMSG statement. This parameter sets the descriptor code(s) used on messages using the WTO SVC interface.
Default: None
Format: One or more numbers with values between 1 and 16. The
numbers can be listed individually, or separated by blanks or commas.
Function: The MSG WTORC subparameter establishes the default for the
MSG WTORC subparameter used on the DEFMSG statement. This parameter also controls the method of message delivery used. Messages using WTORC(11) allow the product to write messages to the JES messages data set, or use the TPUT SVC interface. If additional routing codes are requested, the products will use the WTO SVC interface.
Default: WTORC(11)
Format: One or more numbers with values between 1 and 16. The
numbers can be listed individually, or separated by blanks or commas.
RULESET( option )
Function:When the DEFENV statement allows the product to intercept an
environment, the RULESET parameter determines which rule member is processed for the environment. By default, all environments share the PTLRULES member.
The RULESET parameter also determines whether the rules should be called at every interception, or only the first time the product intercepts the TIME SVC or CICS transaction.
The first operand determines whether each environment always processes the rule language, or only the first time --RULESET(ALWAYS) or RULESET(ONETIME). Also, the
RULESET(NEVER) can be specified to deny rule processing for the environment. If required, the RULESET(ALWAYS) option can force an environment to always examine the rules language.
Note: For tests run under TSO, you may wish to leave the environment set to ONETIME, but use the rules language to set the RESCAN parameter to override the ONETIME operand for specific TSO users. The following rule could be placed near the top of the rules.
DEFRULE TSOTEST CONTINUE(NEXTRULE) IF JOBTYPE = TSU
JOBNAME = (userid1,userid2,...useridn) THEN
SET RESCAN = YES WRITEMSG(MSG5)
DEFMSG MSG5 “SIMULATE 2000 ACTIVE”
Default:Environment Dependent:
Format: RULESET( option )
RULESET( ...(NAME( name ) )
SVC11 - ONETIME
EXEC CICS environment - ALWAYS
Function: When the DEFENV allows the product to intercept an
environment, the RULESET parameter specifies the rule member used by the environment.
By default, all environments share the PTLRULES member. If a name has been specified on the DIF START command, all environments used by the product share the specified name. The NAME subparameter can be used to override the default name passed to the environment.
Default: RULESET( ONETIME NAME(PTLRULES) )
Format: RULESET( NAME(name) )
Function: If you wish to process additional rules for a specific
environment, the ADDNAME subparameter can specify the member name of an additional rule member. The additional rule member will be processed after the product scans the primary rule member. Note: Additional rules are always processed for the environment -- the RULESET(ONETIME) parameter has no effect.
Default: None
Format: RULESET( ADDNAME(name) )
RULESET( ...(POSTNAME( name ) )
Function: If a POSTNAME rule is provided, the requested rules will be
executed just before the SIMULATE 2000 environment terminates. This rule can be used to determine what occurred during environment processing.
For example, the PTLRULES member may have allowed the user to set an alternate clock with a job or DD parameters. The normal SIMULATE 2000 routine does not know whether the user actually requested an alternate clock. The POSTNAME environment can evaluate the ALTDATE and ALTTIME fields to see if the job has been assigned an alternate clock. The rule might then log the event for audit purposes.
Default: None
Format: RULESET( POSTNAME(name) )
Function: The PRENAME option is typically used to assign a job to an
application group in situations were PTLAPPL cannot be added to a job card. The special rules can examine the jobname, account information, RACF information, job class and other job related information to determine which jobs belong to an application group. In the samples below, the rule is called PTLAPPL. This rule can use all the capabilities of the rule language, but the primary intention is to set the APPL_NAME and APPL_OPTION symbolic fields.
To activate the special rules member, place the following card in your PTLRULES member in the DIF parameter library. This card should be placed before any DEFENV statements.
DEFENV $DEFAULT RULESET(PRENAME(PTLAPPL))
The following example should be placed in the PTLAPPL member in the DIF parameter library. The rule assigns the equivalent of PTLAPPL=(ABC,USE) to any jobname starting with ABC which does not already have an PTLAPPL application name assigned.
DEFRULE RULE0A
IF APPL_NAME NE "" IF JOBNAME = (ABC*)
THEN SET APPL_NAME = ABC SET APPL_OPTION = USE
Default: None
Format: RULESET( PRENAME(name) )
SMF( num )
Function: The SMF parameter on the DEFPROD and DEFENV statements
establish the default for the SMF parameter used on the DEFPOOL statements. The SMF parameter on the DEFENV statement has precedence over the SMF parameter on the DEFPROD statement.
Default: None
Format: Specify a numeric value between 128-255.
SMF( ...LEVEL( level ) )
Function: SMF records produced by the DEFSMF statements can have
installation assigned record levels. SMF records can be assigned levels of Information, Warning, Action, Error, or Catastrophic.
The SMF LEVEL subparameter on the DEFPROD, DEFENV and DEFPOOL
statements can be used to establish a threshold, and only SMF records that have the same importance or higher will be written by the product.
For example, if the environment establishes a threshold at SMF(LEVEL(A)), only records that have a level of Action, Error, or Catastrophic will be written.
The SMF LEVEL subparameters on the DEFPROD and DEFENV statements control SMF record processing for allocation requests that are not associated with an ACC controlled allocation request or an SRS controlled recovery request - no rule has selected a device pool for the DD statement.
Default: None
Format: I, W, A, E or C
Once the rules language has selected a device pool for the allocation request, the SMF LEVEL subparameter on the DEFPOOL statement determines which record level is required for the SMF write.
Any SMF LEVEL subparameters on the DEFENV and DEFPOOL statements have precedence over the level assigned by DEFPROD. Likewise, any SMF LEVEL on the device pool assigned to the DD statement sets the SMF record level.
SMF records produced by the DEFSMF statements can have an installation assigned record level. SMF records can be assigned levels of Information, Warning, Action, Error, or Catastrophic.
USERID( name )
Function: The USERID parameter on the DEFPROD and DEFENV
statements establish the default for the USERID parameter used on the DEFPOOL statements. The USERID parameter on the DEFENV statement has precedence over the USERID parameter on the DEFPROD statement.
Default: None
Format: Any valid TSO userid name.
USERID( ...LEVEL( level ) )
Function: When a DEFMSG statement uses the USERID parameter to
route a message to a TSO user, the LEVEL parameters can be used to assigned a message level. Messages can be assigned levels of Information, Warning, Action, Error, or Catastrophic.
The USERID LEVEL subparameter on the DEFPROD and DEFENV statements can be used to establish a threshold, and only messages that have the same importance or higher will be written by the product.
For example, if the environment establishes a threshold at USERID(LEVEL(A)), only messages that have a level of Action, Error, or Catastrophic will be written. The USERID Level sbparameer on the DEFENV statement has precedence over the level assigned by DEFPROD.
Unless a LEVEL is specified on the DEFMSG statement, the product will bypass message level processing and the message will always be routed to a TSO User.
Default: USERID( LEVEL( I ))
Format: I, W, A, E or C