Reference of DAL


This section shows the DAL elements in alphabetic order from A-Z.

$ACCT

Description: Account Field From JOB Statement

Type: Character string Descriptor.

Maximum Length: 142 characters.

This Descriptor represents the account number from the JOB statement. This field has the same meaning as if $ACCTFLD(1,string) had been specified.

$ACCT(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-142 alphabetic, numeric, or national (#, @, $) characters. It can also include the hyphen (-) and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$ACCT(AB123)

This compares the string A123 to the account field from the JOB statement:

//JOBNAME JOB (AB123), ...
$ACCT($TABLE1(ACCOUNTS))

This compares the account field from the JOB statement against the entries contained in the subtable ACCOUNTS from TABLE1.

See Also: $ACCTFLD.

Notes:

This Descriptor, along with the $ACCTFLD Descriptor, is a special case, in that the Language Processor does not know the actual length of the Descriptor. This results in an exception in the way comparisons are done.

The job accounting data provided in the JOB statement can be composed of an arbitrary number of fields each with an arbitrary length. The fields are delimited by commas. The total aggregate length is known (142 characters) by the Language Processor, but the length of each field is not known until DAL execution time. In this case, at DAL execution time, the shorter of the strings is extended on the right with blanks until it matches the length of the larger string.

For example, if $ACCT('ABC ') is coded in a DAL statement, and the character string in the account field in the JOB statement was 'ABC', then at the time DAL is executed, the account field from JOB statement would be extended by a blank on the right:

'ABCb'

In this case, when the strings are compared, they are equal. The pattern matching function returns a value of TRUE.

Similarly, if $ACCT('ABC') is coded in a DAL statement, and the character string in the account field in the JOB statement was 'ABC ', then at the time DAL is executed, the string coded in the pattern matching function would be extended by a blank on the right, again resulting in a TRUE value.

$ACCTFLD | $ACCTF

Description: Accounting Related Fields

Type: Character string Descriptor.

Maximum Length: 142 characters.

This Descriptor represents an accounting related field from the JOB statement.

$ACCTFLD(field#,pattern)
or
$ACCTFLD(field#,%patid)
or
$ACCTFLD(field#,table-id)

field#

Indicates the field reference number of the accounting related field and must be specified as decimal digit(s) 1-68.

pattern

This is a hard-coded string. It can be 1-142 alphabetic, numeric, or national (#, @, $) characters. It can also include the hyphen (-) and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$ACCTFLD(1,12345)
$ACCTFLD(2,PAYROLL)

These compare the specified string with the fields from the JOB statement:

//JOBNAME JOB (12345,PAYROLL,'A/P DEPT'), ...
$ACCTF(1,$TABLE2(PAYROLL))

This compares the entries from the subtable PAYROLL of TABLE2 against the first accounting field from the JOB statement.

See Also: $ACCT.

Notes:

If you use this Descriptor with the character substring function the format is:

($ACCTFLD(field#),length,[starting-position])

This Descriptor, along with the $ACCT Descriptor, is a special case, in that the Language Processor does not know the actual length of the Descriptor. This results in an exception in the way comparisons are done.

The job accounting data provided in the JOB statement can be composed of an arbitrary number of fields each with an arbitrary length. The fields are delimited by commas. The total aggregate length is known (142 characters) by the Language Processor, but the length of each field is not known until DAL execution time. In this case, at DAL execution time, the shorter of the strings is extended on the right with blanks until it matches the length of the larger string.

For example, if $ACCTFLD(1,'ABC ') is coded in a DAL statement, and the character string in the account field in the JOB statement was 'ABC', then at the time DAL is executed, the account field from JOB statement would be extended by a blank on the right:

'ABC '

In this case, when the strings are compared, they are equal. The pattern matching function returns a value of TRUE.

Similarly, if $ACCTFLD(1,'ABC') is coded in a DAL statement, and the character string in the account field in the JOB statement was 'ABC ', then at the time DAL is executed, the string coded in the pattern matching function would be extended by a blank on the right, again resulting in a TRUE value.

$ACF2_LIDUSER

Description: Extract Substring from ACF2 User Information

Type: Character string Descriptor.

Maximum Length: 192 characters.

This Descriptor allows you to extract a substring from the ACF2 user information.

STRINGDEF %stringid ($ACF2_LIDUSER,length[,start])

%stringid

Is the identification name for the character string that is extracted. The first character must be % followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

Is the number of characters to be extracted, from the range 1-192.

start

Is the starting position within the ACF2 user information at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character).

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %ACF2INFO ($ACF2_LIDUSER,8,10)

In this example, the 8 bytes starting at byte 10 in the ACF2 user information are extracted and placed in the string variable %ACF2INFO.

See Also: $ACF2_LIDUSERX and STRINGDEF.

Notes:

This Descriptor contains data only in an ACF2 environment. In other environments, it returns blanks.

$ACF2_LIDUSERX

Description: Extract Substring from ACF2 User Information

Type: Character string Descriptor.

Maximum Length: 192 characters.

This Descriptor allows you to extract a substring from the ACF2 user information extension.

STRINGDEF %stringid ($ACF2_LIDUSER,length[,start])

%stringid

Is the identification name for the character string that is extracted. The first character must be % followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

Is the number of characters to be extracted, from the range 1-192.

start

Is the starting position within the ACF2 user information extension at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character).

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %ACF2XINFO ($ACF2_LIDUSERX,32,4)

In this example, the 32 bytes starting at byte 4 in the ACF2 user information extension are extracted and placed in the string variable %ACF2XINFO.

See Also: $ACF2_LIDUSER and STRINGDEF.

Notes:

This Descriptor contains data only in an ACF2 environment. In other environments, it returns blanks.

$ACFLID

Description: ACF2 Logon ID

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the 8 byte ACF2 logon ID.

$ACFLID(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$ACFLID(AB1234)
$ACFLID(JONES)
$ACFLID($TABLE3(*))

See Also: $ACFSID and $ACFUID.

Notes:

ACF2 data is only available if the optional ThruPut Manager ACF2 support is installed and activated on your system.

$ACFSID

Description: ACF2 Source ID

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the 8 byte ACF2 source id.

$ACFSID(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the hyphen (-), the period (.), and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$ACFSID(READER1)
$ACFSID($TABLE1(SOURCES))

See Also: $ACFLID and $ACFUID.

Notes:

ACF2 data is only available if the optional ThruPut Manager ACF2 support is installed and activated on your system.

$ACFUID

Description: ACF2 UID String

Type: Character string Descriptor.

Maximum Length: 24 characters.

This Descriptor represents the 24 byte ACF2 UID string.

$ACFUID(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-24 alphabetic, numeric, or national (#, @, $) characters. It can also include the hyphen (-), the period (.), and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$ACFUID(OPERATIONS)
$ACFUID('CICS TEST #4')
$ACFUID($TABLE3(OPS))

See Also: $ACFLID and $ACFSID.

Notes:

ACF2 data is only available if the optional ThruPut Manager ACF2 support is installed and activated on your system.

$ADDRSPC

Description: Type of Storage Request

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to check the type of storage that the job has requested. The type of storage is set with the ADDRSPC or REGION keyword of the JOB statement or with the SET REGION Action statement.

$ADDRSPC(REAL | VIRT)

REAL

Returns a TRUE value if central (real) storage was requested.

VIRT

Returns a TRUE value if virtual storage was requested.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$BLANK

Description: Test for blanks in a field.

Type: Reserved Word.

Maximum Value: Not applicable.

This reserved word is used as a pattern to see if a character Descriptor is all blanks.

$Descriptor($BLANK)
or
%strid($BLANK)

$Descriptor

A character string Descriptor.

%strid

The name of a character string created with the STRINGDEF statement.

Usage:

The $BLANK reserved word is designed to test for string character Descriptors that are "blank".

Examples:

EVALUATE FIELD3_BLANK ($ACCTFLD(3,$BLANK))

The Property FIELD3_BLANK has a value of TRUE if the third account field was not specified or is all blanks.

$BYTES

Description: Estimated Output Bytes

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in 1000's of bytes.

This Descriptor represents the estimated number of output bytes.

$BYTES   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired. Starting points are specified in thousands of bytes as 1-5 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$BYTES FEW_BYTES,1000,MANY_BYTES,100000,TOO_MANY_BYTES

See Also: $CARDS, $LINES, and $PAGES.

Notes:

This Descriptor represents cards as well as printed output.

$CARDS

Description: Estimated Output Cards

Type: Range Definition Descriptor.

Maximum Value: 9999999 expressed in number of cards.

This Descriptor represents the estimated number of output cards.

$CARDS    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of cards as 1-7 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CARDS NO_CARDS,1,CARDS

See Also: $BYTES, $LINES, and $PAGES.

$CA7

Description: CA7 Submitted Job

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the job was submitted by the CA7 job scheduler.

$CA7(NO | YES)

NO

This job was not submitted by the CA7 job scheduler.

YES

Indicates that this job was submitted by the CA7 job scheduler.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($CA7(YES))
    WTCA7 ...
ELSE
    WTU ...
ENDIF

$CA7_DUEOUT_DATE

Description: CA7 Due Out Date

Type: Display Variable.

Maximum Length: 8 characters.

This Display Variable allows you to display in a message, in Julian format, the year and date that the job is due out.

$CA7_DUEOUT_DATE

$CA7_DUEOUT_DATE

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $CA7 and $CA7_DUEOUT_TIME.

Notes:

If the job was not submitted by CA7, this Descriptor returns zeroes.

$CA7_DUEOUT_TIME

Description: CA7 Due Out Time

Type: Display Variable.

Maximum Length: 5 characters.

This Display Variable allows you to display in a message, in the format hh:mm, the time that the job is due out.

$CA7_DUEOUT_TIME

$CA7_DUEOUT_TIME

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $CA7 and $CA7_DUEOUT_DATE.

Notes:

If the job was not submitted by CA7, this Descriptor returns zeroes.

$CA7_ENTRY

Description: CA7 Entry Method

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor allows you to determine the method used to bring the job into the CA7 request queue.

$CA7_ENTRY(method)

method

Is one of the methods by which the job is brought into the CA7 request queue, such as RUN (for a job brought in by the RUN command) or EXTL (for a job submitted external to CA7). The method is matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a list of valid methods, see to the CA7 supplier-provided documentation.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $CA7.

Notes:

If the job was not submitted by CA7, this Descriptor returns blanks.

$CA7_INSTANCE_ALIAS

Description: CA7 Tracking Instance Alias

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor allows you to determine the alias of the CA7 tracking instance that submitted the job.

$CA7_INSTANCE_ALIAS(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-4 alphabetic, numeric, or national (#, @, $) characters. It can also include the hyphen (-) and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and JAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

 In JLS_LIMITDEF and JLS_CNTLDEF statements.

Examples:

$CA7_INSTANCE_ALIAS(PROD)
$CA7_INSTANCE_ALIAS(PTABLE(NAMES))

See Also: $CA7 and $CA7_INSTANCE_ID.

Notes:

If the job was not submitted by CA7, this Descriptor returns blanks.

If the CA7 tracking instance has no alias, this Descriptor returns the CA7 instance ID.

$CA7_INSTANCE_ID

Description: CA7 Tracking Instance ID

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor allows you to determine the ID of the CA7 tracking instance that submitted the job.

$CA7_INSTANCE_ID(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-4 alphabetic, numeric, or national (#, @, $) characters. It can also include the hyphen (-) and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and JAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

 In JLS_LIMITDEF and JLS_CNTLDEF statements.

Examples:

$CA7_INSTANCE_ID(CA73)
$CA7_INSTANCE_ALIAS(PTABLE(CA7IDS))

See Also: $CA7 and $CA7_INSTANCE_ALIAS.

Notes:

If the job was not submitted by CA7, this Descriptor returns blanks.

$CA7_JCLID

Description: CA7 JCL ID

Type: Display Variable.

Maximum Length: 3 characters.

This Display Variable allows you to display in a message the CA7 job ID.

$CA7_JCLID

$CA7_JCLID

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $CA7, $CA7_JOB# and $CA7_SCHID.

Notes:

If the job was not submitted by CA7, this Descriptor returns zeroes.

$CA7_JOB#

Description: CA7 Job Number

Type: Display Variable.

Maximum Length: 4 characters.

This Display Variable allows you to display in a message the CA7 job number.

$CA7_JOB#

$CA7_JOB#

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $CA7_JCLID and $CA7_SCHID.

Notes:

If the job was not submitted by CA7, this Descriptor returns zeroes.

$CA7_SCHID

Description: CA7 Schedule ID

Type: Display Variable.

Maximum Length: 3 characters.

This Display Variable allows you to display in a message the CA7 schedule ID.

$CA7_SCHID

$CA7_SCHID

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $CA7_JCLID and $CA7_JOB#.

Notes:

If the job was not submitted by CA7, this Descriptor returns zeroes.

$CHANGED

Description: Check for Environment Changes

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor allows you to check for changes in the ThruPut Manager environment, such as refreshed DAL or newly disabled/enabled tables.

$CHANGED name (DAL JSS_TABLE | TABLES)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

DAL

Returns a value of TRUE if this is the first invocation for this type of DAL after a /DAL REFRESH operator command, or after ThruPut Manager has been started.

JSS_TABLE

Returns a value of TRUE if this is the first invocation of this type of DAL after a /TBL DISABLE,

/TBL ENABLE, or /TBL REFRESH operator command has been issued for the JSS table, or after ThruPut Manager has been started.

TABLES

Returns a value of TRUE if this is the first invocation of this type of DAL after a /TBL DISABLE, /TBL ENABLE, or /TBL REFRESH operator command, or after ThruPut Manager has been started.

Examples:

PROCEDURE ID(DAL) TYPE(DCS)
...
$CHANGED FIRST_TIME (DAL)

This statement evaluates to TRUE the first time DCS DAL is invoked after ThruPut Manager starts, or after a /DAL REFRESH DCS operator command is issued, but is FALSE for other types of DAL and subsequent invocations of DCS DAL, even within the same job.

Notes:

This Descriptor evaluates to TRUE for the first and only the first invocation of each type of DAL after a change, regardless of the job in which this occurs. The DAL types are TM, DCS, and SOS.

This Descriptor is set to FALSE if you check for changes to tables that have never been loaded.

CHARSET

Description: Define character set

Type: Definition statement.

Maximum Value: 255 characters.

This statement allows you to define sets of characters that can be used with the PATTERNDEFX Definition statement.

CHARSET %setid (‘chars’)

chars

Is 1-255 characters (enclosed in single quotes) that will result in a TRUE value when a character in a Descriptor is tested using a PATTERNDEFX statement. Because the string is enclosed in quotes, the set can include a blank character.

%setid

Is the identification name for the character set that is created with this statement. The first character must be %, followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

Usage:

A CHARSET definition can be used only in a PATTERNDEFX statement. Each occurrence of the CHARSET name in the PATTERNDEFX statement is compared against one character in the target Descriptor.

Examples:

Assume you want to test for odd digits. The definition would be:

CHARSET %ODD ('13579')

You could then test for a four digit odd number, for example:

CHARSET      %ODD            (‘13579’)
PATTERNDEFX  %TEST_ODD_NUM   (###,%ODD)

See Also: PATTERNDEFX.

$CONCAT

Description: Concatenation Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set being processed is associated with a concatenation group of DD statements. Note that the first DD statement of the concatenation returns a TRUE value. If you want to know if it is the first, you can test the range Descriptor $CONCAT# for a value of 0.

$CONCAT(NO | YES)

NO

When this subparameter is coded, $CONCAT is TRUE for data sets that are not concatenated.

YES

When this subparameter is coded, $CONCAT is TRUE for data sets that are concatenated.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $CONCAT#.

$CONCAT#

Description: Concatenation Number for DD

Type: Range Definition Descriptor.

Maximum Value: 99999 concatenated DD statements.

This Descriptor allows you to determine the concatenation number for the DD/data set being processed. The first DD statement of a group of concatenated DD statements has a value of 0.

$CONCAT# [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

See Also: $CONCAT.

Notes:

A DD statement that is not part of a concatenation returns a value of zero. This is the same value as the first statement in a concatenation group of DD statements. To determine whether or not a DD statement is part of a concatenation, use the logic variable $CONCAT.

$CONTROL_M

Description: CONTROL-M Submitted Job

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the job was submitted by the Control-M job scheduler.

$CONTROL_M(YES | NO)

This function returns a TRUE/FALSE value depending on whether or not the job was submitted by the Control-M job scheduler.

YES

Returns a value of TRUE if this job was submitted by the Control-M job scheduler, otherwise it returns a FALSE value.

NO

Returns a value of TRUE if this job was not submitted by the Control-M job scheduler, otherwise it returns a FALSE value.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($CONTROL_M(YES))
  ELSE
    WTU ...
ENDIF

$CONVERTER_ERROR

JBS ONLY

Description: Detect Converter Error

Type: Logic Variable.

Maximum Value: Not applicable.

This descriptor allows you to determine whether the job was failed because of an error in the converter.

$CONVERTER_ERROR(NO | YES)

NO

This job did not encounter errors during JCL conversion.

YES

Indicates that this job was failed because of an error during JCL conversion.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($CONVERTER_ERROR(YES)) 
   WTU CONVERT_ERR_MSG
    ...

Notes:

This Descriptor is only useful in cases where asymmetric nodes exist, and jobs submitted on one node fail during conversion although they do not fail on the node at which they will actually run. By testing for a converter error and inserting an appropriate JBS XMIT agent, you can allow the job to remain in the system and ultimately be transmitted to the target node.

$CURCLASS | $CRCL

Description: Current Class

Type: Character string Descriptor.

Maximum Length: 1 character.

This Descriptor represents the class in which the ThruPut Manager Job Analyzer is currently processing the job (the Job Analysis Class or a Deferred Job Analysis Class).

$CURCLASS(class | *)

class

A hard-coded single character from A-Z or 0-9.

*

Job Analysis Class.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$CURCLASS(Z)
$CRCL(9)

See Also: $INCLASS.

Notes:

This is not the Job Submission class.

The use of * allows you to be independent of the specific Job Analysis class. You can alter it without having to change DAL.

$CURMSGCLASS

Description: Current Message Class  

Type: Character string Descriptor.

Maximum Length: 1 character.

This Descriptor represents the current message class. This could differ from the message class at job submission, since an SOS SET MSGCLASS statement could have been executed (in JAL) during a previous analysis.

$CURMSGCLASS(class)

class

A hard-coded single character from A-Z or 0-9.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

$CURMSGCLASS(N)

See Also: $INMSGCLASS.

$CURPRIO | $CRPR

Description: Current Priority

Type: Character string Descriptor.

Maximum Length: 6 characters.

This Descriptor represents the execution queue priority that the job had at the time it was selected by the Job Analyzer for analysis.

$CURPRIO(priority-value)
or
$CURPRIO(low:high)
or
$CURPRIO(low:MAX)

priority-value

A value to be tested for equal. It must in the range of 0 to 15.

low

The low end of a range to be tested. It must be in the range 0 to 14.

high

Is the high end of a range of priorities. It must be in the range 1 to 15, and must be higher than low. The value in $CURPRIO must be greater than or equal to low but less than high in order for this Descriptor function to evaluate to TRUE.

MAX

If you want to include jobs with priority 15 use MAX instead of high.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

$CURPRIO(9)

This function returns a TRUE value only for jobs with a current priority of 9.

$CURPRIO(5:15)

This returns a TRUE value for all jobs with a priority in the range 5 to 14, because the value tested must be less than 15. Note that to specify a range that includes priority 15, you must use the MAX parameter:

$CRPR(5:MAX)

See Also: $INPRIO.

Notes:

This is not the Job Submission priority.

$CURRENT_DAY_OF_MONTH

Description: Current Day of the Month

Type: Range Definition Descriptor.

Maximum Value: 31

This Descriptor provides a number representing the current day of the month.

$CURRENT_DAY_OF_MONTH   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CURRENT_DAY_OF_MONTH WEEK_1,8,WEEK_2,15,WEEK_3,22,WEEK_4

See Also: $CURRENT_DAY_OF_WEEK, $CURRENT_DAY_OF_YEAR, $CURRENT_MONTH, $CURRENT_TIME_OF_DAY, and $CURRENT_YEAR.

$CURRENT_DAY_OF_WEEK

Description: Current Day of the Week

Type: Range Definition Descriptor.

Maximum Value: 7

This Descriptor provides a number representing the current day of the week, with Monday returning a value of 1 and Sunday returning a value of 7.

$CURRENT_DAY_OF_WEEK   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CURRENT_DAY_OF_WEEK WEEKDAY,6,WEEKEND

See Also: $CURRENT_DAY_OF_MONTH, $CURRENT_DAY_OF_YEAR, $CURRENT_MONTH, $CURRENT_TIME_OF_DAY, and $CURRENT_YEAR.

$CURRENT_DAY_OF_YEAR

Description: Current Day of the Year

Type: Range Definition Descriptor.

Maximum Value: 366

This Descriptor provides a number representing the current day of the year, counting from January 1 as day 1. This is the ddd portion of the Julian date (yyyyddd).

$CURRENT_DAY_OF_YEAR   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CURRENT_DAY_OF_YEAR Q1,91,Q2,181,Q3,271,Q4

See Also: $CURRENT_DAY_OF_MONTH, $CURRENT_DAY_OF_WEEK, $CURRENT_MONTH, $CURRENT_TIME_OF_DAY, and $CURRENT_YEAR.

$CURRENT_MONTH

Description: Current Month

Type: Range Definition Descriptor.

Maximum Value: 12

This Descriptor provides a number representing the current month, with January returning a value of 1 and December returning a value of 12.

$CURRENT_MONTH   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CURRENT_MONTH Q1,4,Q2,7,Q3,10,Q4

See Also: $CURRENT_DAY_OF_MONTH, $CURRENT_DAY_OF_WEEK, $CURRENT_DAY_OF_YEAR, $CURRENT_TIME_OF_DAY, and $CURRENT_YEAR.

$CURRENT_TIME_OF_DAY

Description: Current Time of Day

Type: Range Definition Descriptor.

Maximum Value: 23:59

This Descriptor provides the current time of day in the format hh:mm, using the 24-hour clock.

$CURRENT_TIME_OF_DAY   [00:00,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 00:00, but can be omitted if desired.

Starting points are specified in hours and minutes on a 24-hour clock, with 00:00 representing midnight.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CURRENT_TIME_OF_DAY MORNING,12:00,AFTERNOON,18:00,EVENING

See Also: $CURRENT_DAY_OF_MONTH, $CURRENT_DAY_OF_WEEK, $CURRENT_DAY_OF_YEAR, $CURRENT_MONTH, and $CURRENT_YEAR.

$CURRENT_YEAR

Description: Current Year

Type: Range Definition Descriptor.

Maximum Value: 9999

This Descriptor provides a number representing the current year, including the century designation. The format is ccyy, for example 2005.

$CURRENT_YEAR   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$CURRENT_YEAR PRE_Y2K,2000,Y2K,2001,POST_Y2K

See Also: $CURRENT_DAY_OF_MONTH, $CURRENT_DAY_OF_WEEK, $CURRENT_DAY_OF_YEAR, $CURRENT_TIME_OF_DAY, and $CURRENT_MONTH.

$DAL_DESCRIPTION

Description: Display DAL Description

Type: Display Variable.

Maximum Length: 24 characters.

This Display Variable allows you to display in a message the DAL description from the PROCEDURE statement.

$DAL_DESCRIPTION

$DAL_DESCRIPTION

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: PROCEDURE and $DAL_TEXT_DSNAME.

$DALNODE

Description: Name of Node on which DAL Is Executing

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor allows you to determine the name of the JES2 node where the DAL is executing.

$DALNODE(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $DALSYS.

$DALSYS

Description: JES2 System ID Where DAL Is Executing

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the JES2 system id of the system where DAL is executing.

$DALSYS(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-4 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $DALNODE and $INSYSAFF.

$DAL_TEXT_DSNAME

Description: Display a data set name of currently running DAL

Type: Display Variable.

Maximum Length: 54 characters.

This Display Variable allows you to display in a message the data set name of currently running DAL.

$DAL_TEXT_DSNAME

$DAL_TEXT_DSNAME

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $DAL_DESCRIPTION

$DATASET_ALIAS

Description: Alias of data set Name

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the name of the data set currently being processed is actually an alias.

$DATASET_ALIAS(NO | YES)

NO

Returns a value of TRUE when the data set name is not an alias.

YES

Returns a value of TRUE when the data set name is an alias.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$DATASET_CATALOGED

Description: Catalog Status of data set

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set currently being processed is cataloged.

$DATASET_CATALOGED(NO | YES)

NO

Returns a value of TRUE when the data set is not cataloged.

YES

Returns a value of TRUE when the data set is cataloged.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Notes:

If both UNIT and VOL=SER are coded for the data set, the catalog is not checked. The value returned by this Descriptor therefore assumes that the data set is not cataloged.

$DATASET_GDG

Description: Generation Data Group Dataset

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set currently being processed is part of a generation data group regardless of whether or not the data set was specified as relative or absolute.

$DATASET_GDG(NO | YES)

NO

Returns a value of TRUE when the data set is not part of a GDG.

YES

Returns a value of TRUE when the data set is part of a GDG.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $DATASET_GDGTYPE.

$DATASET_GDGALL

Description: Generation Data Group data set (All)

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set currently being processed is part of a generation data group and specifies all generations (i.e. does not specify a relative generation number).

$DATASET_GDGALL(NO | YES)

NO

Returns a value of TRUE when the data set is not part of a GDG or does not specify all generations.

YES

Returns a value of TRUE when the data set is part of a GDG and specifies all generations (omits a relative generation number).

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $DATASET_GDG and $DATASET_GDGTYPE.

Notes:

TM DAL is invoked for all associated data sets when $DATASET_GDGALL(YES) is TRUE.

$DATASET_GDGTYPE

Description: DATASET GDG Type

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine how the GDG data set was specified in JCL.

$DATASET_GDGTYPE(ABSOLUTE | RELATIVE)

ABSOLUTE

Returns a value of TRUE if the data set was specified as an absolute GDG.

RELATIVE

Returns a value of TRUE if the data set was specified as a relative GDG.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $DATASET_GDG and $DATASET_GDGALL.

$DATASET_MIGRATED

Description: Dataset Migrated

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to test whether a data set has been migrated, and if so, where it has been migrated.

$DATASET_MIGRATED(DISK | NO | TAPE | YES)

DISK

Returns a value of TRUE if the data set has been migrated to disk.

NO

Returns a value of TRUE if the data set has not been migrated.

TAPE

Returns a value of TRUE if the data set has been migrated to tape.

YES

Returns a value of TRUE if the data set has been migrated to disk or tape.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Notes:

This Descriptor is meaningless for a GDG base ($DATASET_GDGALL(YES) is TRUE) in DCS DAL.

$DATASET_ON

Description: Dataset on TAPE/DISK/VTS/VIO

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set currently being processed resides on tape or disk, or uses VTS or VIO.

$DATASET_ON(CART | DISK | HFS | REEL | TAPE | VIO | VTS)

CART

Returns TRUE if the data set resides on a cartridge, otherwise it returns FALSE.

DISK

Returns TRUE if the data set resides on disk, otherwise it returns FALSE.

HFS

Returns TRUE if the data set resides on HFS, otherwise returns FALSE.

REEL

Returns TRUE if the data set resides on a reel, otherwise it returns FALSE.

TAPE

Returns TRUE if the data set resides on tape (cartridge or reel), otherwise it returns FALSE.

VIO

Returns TRUE if the data set is using VIO, otherwise it returns FALSE.

VTS

Returns TRUE if the data set is using Virtual Tape volumes, otherwise it returns FALSE.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Example:

$DISP1     TAPE_DISP   (SHR)
EVALUATE   SHR_TAPE    ($DATASET_ON(TAPE) & TAPE_DISP))
       /* MAKE SURE WE DO NOT LOCK OUT THE ENTIRE GDG */
EVALUATE   GDG_SAFE    ($DATASET_GDG(NO) | $DATASET_GDGTYPE(ABSOLUTE))
EVALUATE   OK_TO_ALTER (SHR_TAPE & GDG_SAFE)
...
IF (OK_TO_ALTER)
   DCS ALTER DISP1(OLD)
...

Notes:

You should always test for the value you want to verify. That is, rather than assuming that the data set is DISK resident because a test for TAPE returned a FALSE value, you should specifically test for DISK.

$DATASET_ON(DISK) always returns TRUE for a data set that has been migrated. This is because the data set will be on DISK after a successful recall.

$DATASET_SEQ#

Description: File Sequence Number

Type: Range Definition Descriptor.

Maximum Value: 9999

This Descriptor allows you to determine the file sequence number for the data set associated with the DD being processed.

$DATASET_SEQ#   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

$DATASET_VOL#

Description: Number of Volumes for the data set.

Type: Range Definition Descriptor.

Maximum Value: 255 volumes.

This Descriptor allows you to determine, for a multi-volume data set, the sequence number of the volume on which the file associated with the DD statement begins.

$DATASET_VOL# [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as number of cartridges in 1-3 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

$DATASET_VSAM

Description: VSAM data set

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set currently being processed is a VSAM data set.

$DATASET_VSAM(NO | YES)

NO

Returns a value of TRUE when the data set is not a VSAM data set.

YES

Returns a value of TRUE when the data set is a VSAM data set.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

DBS ASSIGN

Description: Assign Devices to an Installation Drive Pool

Type: Action statement.

Maximum Value: Not applicable.

This statement allows you to assign tape devices to a DBS Installation Drive Pool.

DBS ASSIGN INSTALLATION_POOL(poolname)

INSTALLATION_POOL(poolname)

This keyword indicates that the tape devices described on the current DD statement is to be assigned to a DBS Installation Drive Pool.

poolname

Identifies a DBS Installation Drive Pool that is defined in the ACTIVE Configuration.

Notes:

The DBS ASSIGN statement is the only way you can assign tape devices to Installation Drive Pools.

Installation Drive Pools are used to define pools of tape devices that your installation has grouped at some level other than their generic device type, such as those for which your installation has created esoteric unit names.

If the specified Installation Drive Pool is not defined in the ACTIVE Configuration, an error message is issued. After Job Analysis, the job is requeued in the Job Analysis class and held in the MHS_TM category.

If the DBS ASSIGN statement is encountered more than once in the same invocation of DAL, the last one encountered takes effect.

DBS RESERVE

Description: Specify Unit Counts for DBS

Type: Action statement.

Maximum Value: Not applicable.

This statement specifies the number of devices that a step will request through dynamic allocation.

DBS RESERVE poolname(dynamic#)

poolname(dynamic#)

Is one of the defined Drive Pools for your installation. See the Notes below for a description o f how you can obtain a list of the defined Drive Pools.

dynamic#

Is a number from 1-255, representing the highwater mark for dynamically allocated devices that the step will request.

Notes:

To obtain a list of the Device Pools in your installation's ACTIVE Configuration, see to the DBS Monitor Services display of Defined Pools.

If DBS RESERVE is executed more than once specifying the same Device Pool for the same step, the last one encountered takes effect.

Multiple DBS RESERVE statements specifying different Device Pools are cumulative regardless of the step.

The JAL unit counts for affected devices will be updated to include reserved devices.

$DCJECL

DCS ONLY

Description: Detect DCS JECL Usage

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor lets you determine whether or not a particular DCS control statement is present in the job input-stream.

$DCJECL name   (JECL-statement-type | ANY)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

JECL-statement-type

A list of DCS JECL statements to be detected. The Property returns a value of TRUE if a match occurs for any element in the list. The possible values are:

ALERT
NAG
REPO

ANY

This subparameter is a short form for a list including all the possible values. It is mutually exclusive with the subparameters listed above.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Example:

$DCJECL REPO_USER (REPO)
...
IF (REPO_USER)
   WTU ...

DCS ALTER

DCS ONLY

Description: Alter Status(SHR/OLD) Disposition

Type: Action statement.

Maximum Value: Not applicable.

This action statement allows you to alter the SHR/OLD status first parameter of the DISP keyword for the DD currently being processed. If more than one DCS ALTER is encountered for an invocation of DAL, the last one takes effect.

Note: If NEW or MOD is specified a request to ALTER the disposition is invalid. The request is ignored and a warning message is issued.

DCS ALTER DISP1(SHR | OLD)

SHR

Requests that the first parameter for the DISP keyword be set to SHR for the DD statement being processed.

OLD

Requests that the first parameter for the DISP keyword be set to OLD for the DD statement being processed.

Usage:

This action statement can be used only in the Logic Section of DAL.

Example:

IF ($DSNAME(SYS1.PROCLIB)) 
   DCS ALTER DISP1(SHR)
...

See Also: $DISP1.

Notes:

This action statement operates only on the DD statement being processed. If you want to change the disposition for all the occurrences of a data set in a job, you must do it for each DD statement.

The effect of altering the disposition is exactly the same as if you coded the new disposition in JCL.

Altering the disposition of a GDG data set to OLD results in serialization of all jobs requesting the GDG. For an alternate approach, you can use DCS data set Reservation. see to the DCS SET statement in the JAL-Reference-Guide and the section "Altering data set Disposition" in the System Programming Guide: TM/DCS Component.

DCS NAG

DCS ONLY

Description: NAG Dataset Holder

Type: Communication statement.

Maximum Value: Not applicable.

This communication statement allows you to issue a customized "nagging" message to TSO users holding a data set that is causing conflicts.

You can code multiple DCS NAG statements per data set. This allows you to issue different "nagging" messages to different holders. It also allows the suppression of "nagging" to particular holders.

DCS NAG dcnagdef-name [USERID(pattern[,...,pattern])
                     [REPEAT([iterations][,interval])]
  or
DCS NAG $DEFAULT      USERID(pattern[,...,pattern])
                     [REPEAT([iterations][,interval])]
  or
DCS NAG $SUPPRESS     USERID(pattern[,...,pattern])

dcnagdef

The name of a DCS_NAGDEF statement that describes the text of the "nagging" message.

$DEFAULT

You can use this keyword if you do not want to change the default "nagging" text.

USERID

This mandatory keyword indicates that the "nagging" is only applicable to TSO users that match the userid pattern specified.

pattern

A 1- 7 character matching pattern for a TSO userid. It can be either a hard-coded string or a %patid.

Up to 5 patterns can be specified in one DCS NAG statement. The pattern matching rules are as follows:

  If a list of patterns is provided the matching analysis always proceeds from left to right.

  If more than one DCS NAG request is present for the same data set, the matching analysis handles the requests in the same order in which they were made.

  The first specific user id match is honored. That is, if any of the specified patterns represents a complete user id (7 characters), an attempt is made to match it with the TSO user holding the data set. As soon as a specific user id match occurs the search is stopped. This process includes all the elements in a list for a DCS NAG request and all the DCS NAG requests for the same data set.

  If there is no specific match, then a pattern match is attempted. As soon as a match occurs the search is stopped.

If you want the customized nagging to apply to all TSO users causing contention, code USERID(*).

REPEAT

This optional keyword indicates that you want to specify the number of nagging times and/or the frequency of the nagging.

If this keyword is omitted, the default values are used.

iterations

A numeric value from 1 to 99 that indicates the number of times DCS is to nag the data set holder.

If this value is not specified the default value is used. You can specify an installation value in the DCS statement DCS SET. The built-in value is 3 times.

interval

A numeric value from 1 to 99, expressed in minutes, that represents the interval between "nagging" messages.

If this value is not specified the default value is used. You can specify an installation value in the DCS statement DCS SET. The built-in value is 5 minutes.

$SUPPRESS

This keyword indicates that "nagging" is to be suppressed for TSO users that match the patterns specified.

You can suppress all "nagging" by coding:

DCS NAG $SUPPRESS USERID(*)

Usage:

This communication statement can be used only in the Logic Section of DAL.

Example:

DCS NAG LIB_NAG USERID(AP*) REPEAT(10,2)

See Also: $DCJECL and DCS_NAGDEF.

Notes:

Requests to "nag" from JECL take precedence over DAL.

Requests to "nag" from DAL take precedence over JAL.

DCS_NAGDEF

DCS ONLY

Description: Define NAG Text

Type: Definition Statement.

Maximum Value: Not applicable.

This statement allows you to customize the second line of a message that is to be generated to a holder, or holders, of a data set in contention status.

DCS_NAGDEF nagdef-name (‘nag-text’)

nagdef-name

A name identifier used in the DCS NAG action statement. It consists of 1-24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character cannot be a dollar sign ($) or underscore (_). This operand is positional and required. This symbol must be unique.

nag-text

The text to be printed as the second line of a NAG to TSO data set holders. The maximum length is 120 characters. The text can consist of a combination of

  Hard-coded characters enclosed in apostrophes

  Character type Descriptors to be substituted for the values when the NAG is generated

  STRINGDEF Definition Statements

Usage:

This statement can be used only in the DAL Definition Section.

Example:

DCS_NAGDEF PROC_NAG ('YOU ARE HOLDING PROCLIB-JOB ',$JOBNAME,' NEEDS IT')
STRINGDEF %NAME1 ($PGMR,5)
DCS_NAGDEF NAG ('APPLICATION ID ',%NAME1)

See Also: $DCJECL, DCS NAG and STRINGDEF.

Notes:

The following Descriptors are allowed as part of the text:

 $ACCT

 $ACCTFLD

 $ACFLID

 $ACFSID

 $ACFUID

 $DALNODE

 $DALSYS

 $DISPLAY_name

 $INDEVICE

 $INNODE

 $INRMT

 $INSYSAFF

 $INSYSID

 $JOBNAME

 $JOBID

 $JOBNUMBER

 $NJEUSER

 $NOTIFY

 $PGMR

 $RACFG

 $RACFU

 $READER_DATE

 $READER_TIME

 $ROOM

 $SUBMITTER_RACFG

 $SUBMITTER_RACFU

 $SUBMITTER_TSSU

 $TSSUSER

 $USERCnn

DCS REPO

DCS ONLY

Description: Request Dataset Repossessing

Type: Action statement.

Maximum Value: Not applicable.

This action statement allows you to request repossessing data sets from TSO users. You can specify the TSO user, or users, to repossess from. You can also request that a particular user, or users, be excluded from any repossessing. A DCS REPO statement will not take effect for GDG data sets.

DCS REPO USERID (pattern[,...,pattern]) [INPUT | EXCLUDE]

USERID

This is a mandatory keyword. It specifies which TSO users are to be affected by the repossessing statement.

pattern

A 1- 7 character matching pattern for a TSO userid. It can be either a hard-coded string or a %patid.

Up to 5 patterns can be specified in one DCS REPO statement.

The pattern matching rules are as follows:

  If a list of patterns is provided the matching analysis always proceeds from left to right.

  If more than one DCS REPO request is present for the same data set, the matching analysis handles the requests in the same order as they were made.

  The first specific user id match is honored. That is, if any of the specified patterns represents a complete user id (7 characters), an attempt is made to match it with the TSO user holding the data set. A soon as a specific user id match occurs the search is stopped. This process includes all the elements in a list for a DCS REPO request and all the DCS REPO requests for the same data set.

  If there is no specific match, then a pattern match is attempted. As soon as a match occurs the search is stopped.

INPUT

Indicates that data sets opened for input are to be repossessed. If this keyword is not coded, only data sets that are not opened are repossessed.

This keyword is mutually exclusive with EXCLUDE.

EXCLUDE

Indicates that the specified TSO user ids are to be excluded from any data set repossessing.

This keyword is mutually exclusive with INPUT.

Usage:

This action statement can be used only in the Logic Section of DAL.

Example:

DCS REPO USERID(AP8*,AP9*) INPUT

In this example repossessing for data sets opened for input can take place for TSO users with ids starting with AP8 and AP9.

See Also: $DCJECL and DCS SERVICE.

Notes:

For this statement to take effect, you must have coded CLAIM(R) as the last element of the DCS SERVICE request.

DCS SERVICE

DCS ONLY

Description: Request Dataset Service

Type: Action statement.

Maximum Value: Not applicable.

This action statement allows you to define the data set contention service level for the data set being processed.

If more than one statement is encountered for an execution of DAL, the last one determines the service level.

Since service level requests can also be made with JECL statements from the job stream, precedence rules are required. They are as follows:

 ‘/*DCS SERVICE' JECL statement for data set, if present.

 ‘/*DCS SERVICE' JECL statement for job, if present.

 DAL request, if made.

 JAL request, if made.

 Installation default, if set (DCS SET initialization statement).

 DCS system default. It is 'STANDBY'.

DCS SERVICE (serv-level(interval),...,serv-level(interval),serv-level)
or
DCS SERVICE serv-level

serv-level

The name of a data set service level. It can be one of the following:

CLAIM, CONTEND, STANDBY, or $DEFAULT

You can include a list of up to 7 service level terms. Each one of them, with the exception of the last one in the list, must include a time interval.

DCS will attempt to service the data set (or data sets) using the first service level coded. Once the interval for that service level has expired, the service level is altered to reflect the value of the next element in the list. When the last element of the list is reached, DCS will remain at this service level until the request is honored.

The last element of the list cannot have an interval time coded since DCS will maintain that service level until the data set becomes available.

If you want to request data set repossessing you must code CLAIM(R) as the last element in the list. This represents a request to DCS to repossess data sets from TSO users that have the data set allocated but not in use (opened).

If you also want repossessing of data sets that are opened for input you must code a DCS REPO statement in addition to CLAIM(R) in the SERVICE statement.

Repossession will not take effect for GDG data sets.

For an explanation about data set service and repossessing see to the System Programming Guide: TM/DCS Component.

interval

A time interval from 1 to 999 minutes. It specifies the time that DCS is to keep a particular service level.

The last element in the service list cannot have an time interval coded.

Usage:

This action statement can be used only in the Logic Section of DAL.

Example:

DCS SERVICE (STANDBY(35),CLAIM)

In this example the initial service requested is STANDBY. If a contention situation occurs and has not been satisfied in 35 minutes, the service is upgraded to CLAIM.

DCS SERVICE ($DEFAULT(30),CLAIM(R))

In this example, for the first 30 minutes the default service level is used. After 30 minutes the service is upgraded to CLAIM with the repossessing attribute.

See Also: $DCJECL and DCS REPO.

Notes:

If several requests are made for the same data set in different invocations of DAL, DCS uses the one requesting the highest initial service level.

This is not to be confused with making several DCS SERVICE requests during the same invocation of DAL. In this case, the last one takes effect.

$DDNAME

Description: DD Statement Name

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor allows you to determine the DD name for the DD statement currently being processed by DAL.

$DDNAME(pattern | %patid | table-id)

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Example:

$DDNAME(SYSL*)

See Also: $CONCAT#.

Notes: For a concatenated DD statement, the DD name is the name of the first DD statement in the concatenation. You can determine whether or not it is the actual DD name by testing the Descriptor $CONCAT#.

$DDTYPE

Description: Determine Type of DD Statement

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor lets you determine the type of DD statement that DAL is examining.

$DDTYPE name (ddtype)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

This operand is positional and required.

ddtype

Represents the type of DD statement to check for, and can be one of:

DATASET

Checks for a data set, either permanent or temporary.

DUMMY

Checks for a DD DUMMY statement.

HFS

Checks for an HFS data set.

INSTREAM

Checks for a DD * instream data set.

PERMANENT

Checks for a permanent data set.

QNAME

Checks for a data set of telecommunications access method (TCAM) messages.

SUBSYS

Checks for a data set that requests a subsystem.

SYSOUT

Checks for a SYSOUT data set. This subparameter is not permitted in SOS DAL, since the only possible value it can return is TRUE.

TEMPORARY

Checks for a temporary data set.

Usage:

This Unique Descriptor cannot be used with any other statement and can be used only in the Definition Section of DAL.

Examples:

$DDTYPE PERM (PERMANENT)
$DDTYPE DUMMY (DUMMY)

$DISPLAY_name

Description: Display DAL and ThruPut Manager Information

Type: Display Variable.

Maximum Value: Not applicable.

This Display Variable allows you to insert certain DAL and ThruPut Manager related information into messages.

$DISPLAY_name

name

Varies depending on the information desired. It can be one of:

DAL_CREATE_DATE

Display the time the DAL was created, in the form ccyy.ddd (Julian).

DAL_CREATE_TIME

Displays the time the DAL was created, in the form hh:mm:ss.

DAL_VERSION

Displays the version of the Language Processor used to create the DAL, in the form Vv Rr.r. For example, V7 R1.0.

TM_VERSION

Displays the version of ThruPut Manager, in the form Vv Rr.r. For example, V7 R1.0.

Usage:

This Variable can be used only as an insert in message definition statements.

Examples:

MSGDEF DAL_INFO ('DAL created on ',$DISPLAY_DAL_CREATE_DATE) LOG

$DISP1

Description: Status Disposition Specification

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to determine the status (first) parameter of the DISP keyword for the DD statement currently being processed by DAL.

$DISP1 name (disp1,disp2,...)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

This operand is positional and required.

disp1,disp2,...

A list of valid first parameters for the DISP keyword for the DD being processed. It can contain any of the following:

MOD 
NEW 
OLD
SHR

The list is treated as an OR condition. That is, a match with any element in the list makes this function return a value of TRUE.

Usage:

This Unique Descriptor cannot be used with any other statement and can be used only in the Definition Section of DAL.

See Also: DCS ALTER, $DISP2, and $DISP3.

Notes:

Datasets with DISP of MOD are treated as NEW if there is not a corresponding entry in the catalog.

$DISP2

Description: Normal Termination Disposition Specification

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to determine the normal termination (second) parameter of the DISP keyword for the DD statement currently being processed by DAL.

$DISP2 name (disp1,disp2,...)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

This operand is positional and required.

disp1,disp2,...

A list of valid first parameters for the DISP keyword for the DD being processed. It can contain any of the following:

DELETE 
KEEP 
PASS 
CATLG
UNCATLG

The list is treated as an OR condition. That is, a match with any element in the list makes this function return a value of TRUE.

Usage:

This Unique Descriptor cannot be used with any other statement and can be used only in the Definition Section of DAL.

See Also: $DISP1 and $DISP3.

$DISP3

Description: Abnormal Termination Disposition Specification

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to determine the abnormal termination (third) parameter of the DISP keyword for the DD statement currently being processed by DAL.

$DISP3 name (disp1,disp2,...)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

This operand is positional and required.

disp1,disp2,...

A list of valid first parameters for the DISP keyword for the DD being processed. It can contain any of the following:

DELETE 
KEEP 
CATLG
UNCATLG

The list is treated as an OR condition. That is, a match with any element in the list makes this function return a value of TRUE.

Usage:

This Unique Descriptor cannot be used with any other statement and can be used only in the Definition Section of DAL.

See Also: $DISP1 and $DISP2.

$DJC_CLOSE

DJC ONLY

Description: DJC Group CLOSE Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the DJC GROUP JECL statement included the CLOSE keyword.

This function call returns a true/false value depending on whether or not there is a CLOSE keyword coded on the JECL statement DJC GROUP.

$DJC_CLOSE(YES | NO)

YES

Returns a TRUE value if the CLOSE keyword was coded on the DJC GROUP JECL statement.

NO

Returns a TRUE value if the CLOSE keyword was not coded on the DJC GROUP JECL statement.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($DJC_CLOSE(YES))
   ...

$DJC_CLOSE_TIME

DJC ONLY

Description: Number of Hours a DJC Group Remains Open

Type: Range Definition Descriptor.

Maximum Value: 99 expressed in hours.

This Descriptor represents the maximum number of hours a DJC Group remains open if no job or operator command requests that it be closed.

$DJC_CLOSE_TIME   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$DJC_CLOSE_TIME NO_CLOSE_TIME,1,GOOD_CLOSE_TIME,25,CLOSE_TIME_TOO_LONG

Notes:

If there was no CLOSE_TIME keyword coded on the DJC GROUP JECL statement, the value returned is 0. The absence of a CLOSE_TIME keyword does not indicate that the DJC Group does not have an associated CLOSE_TIME period. The CLOSE_TIME period could have been specified on another job in the DJC Group.

$DJC_GROUP

DJC ONLY

Description: Name of DJC Group for the Job

Type: Character string Descriptor.

Maximum Length: 17 characters.

This Descriptor allows you to determine the name of the DJC Group for the job. If the job does not include a DJC GROUP JECL statement, the $DJC_GROUP Descriptor returns blanks.

$DJC_GROUP(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

 In JLS_LIMITDEF and JLS_CNTLDEF statements.

$DJC_HISTORY_COUNT

DJC ONLY

Description: Number of Levels of DJC Group History

Type: Range Definition Descriptor.

Maximum Value: 9 expressed in levels.

This Descriptor represents the maximum number of levels of history retained for the history of a DJC Group.

$DJC_HISTORY_COUNT   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$DJC_HISTORY_COUNT NO_HISTORY_COUNT,1,GOOD_HISTORY_COUNT,3,HISTORY_COUNT_TOO_ HIGH

See Also: $DJC_HISTORY_DAYS.

Notes:

If there was no HISTORY_COUNT keyword coded on the DJC GROUP JECL statement, the value returned is 0. The absence of a HISTORY_COUNT keyword does not indicate that the DJC Group does not have an associated HISTORY_COUNT parameter. The HISTORY_COUNT keyword could have been specified on another job in the DJC Group, or it could be taken from the defaults specified by the DJC SET operator command.

DJC Group history is also limited by the HISTORY_DAYS keyword. A DJC Group history can therefore expire before HISTORY_COUNT is reached.

$DJC_HISTORY_DAYS

DJC ONLY

Description: Number of Days to Keep DJC Group History

Type: Range Definition Descriptor.

Maximum Value: 365 expressed in days.

This Job Descriptor represents the maximum number of days the history of a DJC Group is retained.

$DJC_HISTORY_DAYS   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$DJC_HISTORY_DAYS NO_HISTORY_DAYS,1,HISTORY_DAYS_OK,25,TOO_MANY_HISTORY_DAYS

See Also: $DJC_HISTORY_COUNT.

Notes:

If there was no HISTORY_DAYS keyword coded on the DJC GROUP JECL statement, the value returned is 0. The absence of a HISTORY_DAYS keyword does not indicate that the DJC Group does not have an associated HISTORY_DAYS period. The HISTORY_DAYS period could have been specified on another job in the DJC Group, or it could be taken from the defaults specified by the DJC SET operator command.

DJC Group history is also limited by the HISTORY_COUNT keyword. A DJC Group history can therefore expire before HISTORY_DAYS is reached.

$DJC_HOLD

DJC ONLY

Description: DJC Group HOLD Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the DJC GROUP JECL statement included the HOLD keyword.

$DJC_HOLD(YES | NO)

This function call returns a true/false value depending on whether or not there is a HOLD keyword coded on the JECL statement DJC GROUP.

YES

Returns a TRUE value if the HOLD keyword was coded on the DJC GROUP JECL statement.

NO

Returns a TRUE value if the HOLD keyword was not coded on the DJC GROUP JECL statement.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($DJC_HOLD(YES))
   ...

$DSNAME

Description: Dataset Name

Type: Character string Descriptor.

Maximum Length: 44 characters.

This Descriptor allows you to determine the data set name for the DD currently being processed by DAL.

$DSNAME(pattern | %patid | table-id)

pattern

This is a hard-coded valid data set name pattern to be matched against the data set name on the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Example:

EVALUATE   Z_GROUP   ($DSNAME(Z5900.**))
...
IF (Z_GROUP)
   ...

$DSNAME_QUALIFIER

Description: Insert Dataset Name Qualifier

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor allows you to insert a specific qualifier level of the data set name into a STRINGDEF statement.

$DSNAME_QUALIFIER(nn | LAST)

nn

Is a number from the range 1-21, indicating the qualifier level that is to be inserted.

LAST

Indicates that the last qualifier level is to be inserted.

Usage:

This Descriptor can be used only in STRINGDEF statements.

Examples:

STRINGDEF %LEVEL3     ($DSNAME_QUALIFIER(3))
STRINGDEF %LEVEL_LAST ($DSNAME_QUALIFIER(LAST))

In this example, if the data set name is PR03.PAYROLL.MONTHLY.UPDATE, then %LEVEL3 evaluates to MONTHLY and %LEVEL_LAST evaluates to UPDATE.

$DSNAME_REALNAME

Description: Real Dataset Name

Type: Character string Descriptor.

Maximum Length: 44 characters.

This Descriptor allows you to determine the real data set name of an alias coded on the DD currently being processed by DAL.

$DSNAME(pattern | %patid | table-id)

pattern

This is a hard-coded valid data set name pattern to be matched against the alias name on the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Example:

EVALUATE   REAL_NAME   ($DSNAME_REALNAME(Z5900.**))
...
IF (REAL_NAME)
...

$DX_sos-descriptor

SOS ONLY

Description: SOS DAL Display Variables

Type: Display Variable.

Maximum Length: Dependent on SOS Descriptor.

SOS DAL Display Variables allow you to display the execution time value of a character or range SOS Descriptor. These Display Variables therefore reflect the effect of any changes to the SOS Descriptor that you have made in your DAL.

$DX_sos-descriptor

sos-descriptor

Can be any SOS character or range Descriptor, including the leading dollar sign ($). See to the tables accompanying the descriptions for $SOS Character and $SOS Range. The format and length of the Display Variable depends on the SOS Descriptor chosen.

The value displayed is either:

 The value of the SOS Descriptor as set by a previously executed SOS ALTER statement.

 If no SOS ALTER statement has been executed for the selected SOS Descriptor, the value at job submission time.

Usage:

SOS DAL Display Variables can be used only as inserts in message definition statements.

Examples:

MSGDEF DEST_ALTERED ('ORIGINAL DEST ',$SOS_DEST,' CHANGED TO ', +
                     $DX_$SOS_DEST,' BECAUSE OF CLASS=B')

See Also: SOS ALTER, $SOS Character, and $SOS Range.

ELSE

Description: Specify Alternative Action

Type: Logic statement.

The ELSE statement is part of an IF logical construction. It must follow an IF statement, and specifies the alternate action(s) taken when the expression evaluated with the IF statement has a FALSE value.

IF (expression)
    true-action
ELSE
    false-action
ENDIF

expression

A logical expression combining Properties and/or Descriptors.

true-action

Any valid DAL statements which are to be performed should the IF expression evaluate to TRUE.

false-action

Any valid DAL statements which are to be performed should the IF expression evaluate to FALSE.

Examples:

IF(OKAY)
   RETURN CONTINUE 
ELSE
   RETURN FAIL
ENDIF

See Also: IF, ORIF, OTHERWISE, and ENDIF.

Notes:

ELSE statements are paired with and follow IF statements. For every IF, there can be only one ELSE.

Logical constructions that include ORIF statements cannot include an ELSE statement. In that type of construction use an OTHERWISE statement.

$ENABLED

Description: Test Status of TM Installed Options

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to determine whether any one of installed ThruPut Manager options is enabled or disabled.

$ENABLED name (DBS | DCS | DJC | JBS | JCS | JES3 | JLS | JSS | JTS | MELLON |
MHS | NET | SLM | PCS | UHS)

This function call returns a true/false value depending on whether the specified option is enabled.

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

DBS, DCS ,DJC, JBS, JCS, JES3, JLS, JSS, JTS, MELLON, MHS, NET, SLM, PCS, UHS

Indicate existing ThruPut Manager options.

Examples:

EVALUATE JBS_DISABLED ($ENABLED(JBS))
...
IF (JBS_DISABLED)
  WTO ERROR_MSG 
ELSE
  JBS ADD BIND
  ...
ENDIF

END

Description: Indicate End of DAL Statements

Type: Language Directive.

This statement indicates the end of DAL input. Its purpose is to guard against accidentally truncated DAL input.

END

Notes:

Your DAL input must terminate with an END statement. If it does not, a warning message is generated.

Only one END statement is permitted.

ENDIF

Description: Terminate a Logical IF Construction

Type: Logic statement.

The ENDIF statement signals the end of an IF, an IF-ELSE, or an IF-ORIF-OTHERWISE construction. ENDIF serves to delimit a block of DAL that is associated with a previous IF statement. It also indicates where execution should resume after executing DAL as a result of a TRUE IF or ORIF expression.

IF(expression)
 ... dal
ENDIF

expression

A logical expression combining Properties and/or Descriptors.

dal

DAL statements that are part of the IF construct. These can include other logical statements, action statements and communication statements.

Examples:

IF (NEW_DASD_DS)
  SET $USERL1_TM(TRUE)
ELSE
  SET $USERL1_TM(FALSE)
ENDIF

See Also: IF, ELSE, ORIF, and OTHERWISE.

Notes:

Each IF must have an ENDIF statement paired with it.

ENDIF statements are associated with IF statements only. In the case of ORIF statements, they are part of the IF logical construction and they do not require an ENDIF statement.

$ESTTIME

Description: Estimated Elapsed Execution Time

Type: Range Definition Descriptor.

Maximum Value: 9999 in minutes of real time.

This Descriptor represents the estimated amount of job execution time in real time (the value coded for the TIME= parameter on the /*JOBPARM JECL statement).

$ESTTIME   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as minutes of real time in 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$ESTTIME TIME_OK,1000,TOO_MUCH_TIME

Notes:

This Descriptor is not related to CPU time, it represents an estimate of job elapsed time.

EVALUATE | EVAL

Description: EVALUATE a Property

Type: Definition statement.

EVALUATE statements allow you to define and initialize a Property that is the result of an expression. This expression can have one or more Descriptors of the character string type and can also have previously defined Properties of any type. The defined Property can then be used in an expression on another EVALUATE statement and/or in an IF statement (also an ORIF statement).

EVALUATE name (expression)

name

Is the name of the Property that contains the value of an expression. It is a required positional operand that can be 1-24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national but it cannot be a $.

expression

An expression, consisting of Descriptors and/or Properties combined through the use of logical operators. For more information on expressions, see to "Section. Elements-of-action-languages Elements of Action Languages" in the DAL/JAL User Guide.

Examples:

EVALUATE NEW_DASD_DS (DISP_NEW & $DATASET_ON(DISK))

This statement defines the Property Name NEW_DASD, which is TRUE for statements that allocate new data sets on DASD. DISP_NEW is a Property previously defined using the $DISP1 Unique Descriptor.

EVALUATE PRODUCTION_DS ($ACCTFLD(3,PROD??) | $ROOM(PROD))

This statement defines the Property Name PRODUCTION_DS, which is TRUE for jobs with the characters PROD as the first four characters of 6, in the third field of the account field on the JOB statement, or those which have a room number of PROD.

EVALUATE PAYROLL_DS (PRODUCTION_DS & $PGMR(ACCOUNTING))

This statement uses the previously defined Property Name PRODUCTION_DS. The Property PAYROLL_DS is TRUE for production data sets (i.e. those for which the PRODUCTION_DS Property is TRUE) which have a programmer name of ACCOUNTING. This example shows how it can be useful to combine previously evaluated Property Names with additional Properties to help isolate or identify a subset of a large group of data sets that fall into the same category.

Notes:

Note: We strongly advise you to set up Properties with EVALUATE statements, as opposed to testing character Descriptors in your logic section.

$EXEMPT

Descriptor: Exempt Class Job

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor allows you to determine if the job belongs to a class that is exempted from ThruPut Manager processing unless certain types of JECL statements are present.

$EXEMPT(NO | YES)

NO

This job is not exempted.

YES

Indicates this job has been submitted in one of the exempted classes. It is being processed by ThruPut Manager because of JECL statements.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($EXEMPT(YES))
WTU...
 ENDIF

Notes:

If any ThruPut Manager JECL statements are encountered when processing the job, it is then selected for Job Analysis, even if it belongs to an exempt class. This Descriptor gives you the ability to decide whether to allow ThruPut Manager processing or fail the job.

$FIRST_VOLUME

Description: Volser of First Volume

Type: Character string Descriptor.

Maximum Length: 6 characters.

This Descriptor allows you to determine the volume serial number of the first volume for a data set.

$FIRST_VOLUME($BLANK | pattern | %patid | table-id)

$BLANK

Allows you to test for an "all blanks" condition. See Notes below.

pattern

This is a hard-coded string. It can be 1-6 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$FIRST_VOLUME(SYS001)
$FIRST_VOLUME(ZZ*)

In this second example, the Descriptor returns a TRUE value if the first volume serial number begins with ZZ.

See Also: $BLANK.

Notes:

If the data set has not yet been created, this Descriptor returns blanks. You can test for this condition by using the reserved word $BLANK. Note that the absence of a volume serial number is not a reliable means of determining that the data set is NEW, since the seeence could be to a data set that will be created before this job runs.

GLOBAL DEFINE

Description: Define Global Logic Variable

Type: Definition statement.

Maximum Value: Not applicable.

This definition statement allows you to define logic variables that can be set by any DAL and then tested in subsequent DAL or JAL. Global Logic Variables must be defined before they can be used. Until a value is assigned by a GLOBAL SET statement, these variables have the value NOT_SET.

GLOBAL DEFINE (name1[,name2,...])

name1

Is the name of a Global Logic Variable. It is a required positional operand that can be 1-24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national but it cannot be a $.

Usage:

Global Logic variables can be used only in EVALUATE statements and in the DAL action statement GLOBAL SET.

Examples:

GLOBAL DEFINE (PRODUCTION,DAILY)
...
IF ...
   GLOBAL SET PRODUCTION(TRUE)
ELSE
   GLOBAL SET PRODUCTION(FALSE)
ENDIF

Note that this example sets the Global Logic Variable for both TRUE and FALSE cases. That is because the initial value of the variable is NOT_SET, which allows you to test whether the variable has ever been set.

See Also: EVALUATE and GLOBAL SET.

Notes:

If you are defining a single Global Logic Variable, you can omit the parentheses.

GLOBAL SET

Description: Set Global Logic Variable

Type: Action statement.

This action statement assigns a value of TRUE or FALSE to a Global Logic Variable, which must be defined in the DAL that references it.

GLOBAL SET name(TRUE | FALSE)

name

Is the name of a Global Logic Variable. It can be 1-24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national but it cannot be a $.

TRUE

Assigns a TRUE value to the Global Logic Variable.

FALSE

Assigns a FALSE value to the Global Logic Variable.

See Also: GLOBAL DEFINE.

Notes:

The following aliases can also be used to set values:

 ON and YES for TRUE.

 OFF and NO for FALSE.

IF

Description: Make a Decision

Type: Logic statement.

An IF statement evaluates an expression, allowing you to execute statements conditionally. It marks the beginning of a logical IF construction that allows several alternate courses of action. IF constructions must be terminated with a corresponding ENDIF statement. IF constructions can be of two types. One form is the IF-ELSE-ENDIF construction. The other form is the IF-ORIF-OTHERWISE-ENDIF construction.

IF statements can be nested up to a maximum of 10 levels.

IF (expression)
  ...
[ELSE
  ...]
ENDIF
    or
IF (expression)
  ...
ORIF (expression)
  ...
[OTHERWISE
  ...]
ENDIF

expression

A valid DAL expression enclosed in parenthesis. Expressions include character Descriptors, DD Properties and logical operators. The expression is evaluated, resulting in a TRUE/FALSE value that controls the flow of DAL logic.

For an explanation of DAL expressions and examples, see to the section "DAL and JAL Expressions" in "Section. Elements-of-action-languages Elements of Action Languages" in the DAL/JAL User Guide.

ELSE

Specifies the action to be taken should the expression evaluate to FALSE.

ORIF

Specifies an alternate IF statement. There can be more than one ORIF statement within an IF construction.

OTHERWISE

Specifies the action to be taken when the previous IF and all previous ORIF evaluate to FALSE.

ENDIF

A required statement which delimits a block of statements associated with an IF statement.

Examples:

IF ($DATASET_ON(CART)) 
 WTU MOVE_TO_VTS
ENDIF

The previous example represents the simplest form of an IF construction. There are no alternate decisions.

IF (ILLEGAL)
  SET $USERL1_TM(TRUE)
  RETURN CONTINUE 
ELSE
  WTU ERROR1 
 RETURN FAIL
ENDIF

In this example an alternate decision, when the IF statement evaluates to FALSE, is included. The ELSE indicates the beginning of the DAL statements to be executed.

IF (ILLEGAL) 
  WTU ERROR2 
 RETURN FAIL
ORIF (MOUNT)
  SET $USERL2_TM(TRUE)
  RETURN CONTINUE
OTHERWISE
  SET $USERL2_TM(FALSE)
  RETURN CONTINUE
ENDIF

In the example above, the use of the ORIF and OTHERWISE logical statements is shown.

In general we recommend that you do not use character Descriptors in the DAL logic section because it makes it affects performance and makes it more difficult to read; however, the following statement is valid:

IF ($JOBNAME(PP200*) & $ACCTFLD(2,PROD))
  ...
  ...
ELSE
  ...
 ...
ENDIF

See Also: ELSE, ENDIF, ORIF, and OTHERWISE.

$INCLASS | $INCL

Description: Input Job Submission Class

Type: Character string Descriptor.

Maximum Length: 1 character.

This Descriptor represents the job submission class (the class requested on the JOB statement).

$INCLASS(class | *)

class

A single hard-coded character from A-Z or 0-9.

*

Job Analysis class.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

$INCLASS(A)
$INCL(0)

See Also: $CURCLASS.

Notes:

A job's $INCLASS is not affected by any requeueing done by ThruPut Manager. For example, if a job is submitted in class A but requeued in class D for Deferred Processing, its INCLASS is still A. Likewise, it is not altered by any operator command.

$INDEVICE | $INDEV

Description: Name of Device on Which Job Entered System or TSO User

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the name of the device on which the job entered the system.

$INDEVICE(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the period (.) and the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$INDEVICE(READER1)
$INDEVICE(INTRDR)
$INDEV(TSO)
$INDEV(L123.JR4)
$INDEV(R345.RD1)
$INDEV($TABLE2(DEVICES))

Notes:

This descriptor can be checked for INTRDR as well as TSO. They will both be true for a job submitted by a TSO user.

$INJOB#

Description: How Many Times data set in Job

Type: Range Definition Descriptor.

Maximum Value: 99999

This Descriptor allows you to determine how many times you have already "seen" this data set for the job. This allows you to determine if the data set has already been processed within the job.

$INJOB#   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Example:

$INJOB# FIRST,2,DONE
EVALUATE PAY_FIRST ($DSNAME(PAY*.**) & FIRST)
...
IF (PAY_FIRST)
...

See Also: $INSTEP#.

$INMSGCLASS

Description: Message Class from JOB Statement.

Type: Character string Descriptor.

Maximum Length: 1 character.

This Descriptor represents the message class requested by the JOB statement at job submission.

$INMSGCLASS(class)

class

A hard-coded single character from A-Z or 0-9.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

$INMSGCLASS(N)

See Also: $CURMSGCLASS.

$INNODE

Description: Name of Node on Which Job Was Submitted

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor specifies the name of the JES2 node on which the job was submitted.

$INNODE(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$INNODE(HQ)
$INNODE(CITY1)
$INNODE($TABLE1(NODELIST))

$INPRIO | $INPR

Description: Input Execution Queue Priority

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor represents the job priority at submission time.

$INPRIO(priority-value)
or
$INPRIO(low:high)
or
$INPRIO(low:MAX)

priority-value

A value to be tested for equal. It must in the range of 0 to 15.

low

The low end of a range to be tested. It must be in the range 0 to 14.

high

Is the high end of a range of priorities. It must be in the range 1 to 15, and must be higher than low. The value in $INPRIO must be greater than or equal to low but less than high in order for this Descriptor function to evaluate to TRUE.

MAX

If you want to include jobs with priority 15 use MAX instead of high.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Examples:

$INPRIO(8)

This function returns a TRUE value only for jobs with an input priority of 8.

$INPRIO(9:15)

This returns a TRUE value for all jobs that have a priority in the range 9 to 14, because the value tested must be less than 15. Note that to specify a range that includes priority 15, you must use the MAX parameter:

$INPR(9:MAX)

See Also: $CURPRIO.

Notes:

This Descriptor can be used to test a job for a specific priority, or to see if it falls within a range of priorities.

$INRMT

Description: Input Remote Number

Type: Character string Descriptor.

Maximum Value: Not applicable.

This Descriptor represents the input remote number.

$INRMT(LOCAL)
or
$INRMT(nnnn)
or
$INRMT(nnnn:mmmm)

LOCAL

Represents a local device.

nnnn

Can be 1-4 digits.

mmmm

Can be 1-4 digits.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

$INRMT(7)
$INRMT(LOCAL)
$INRMT(3:299)

Notes:

To indicate a range of remotes, specify nnnn:mmmm, where (nnnn < mmmm < 9999).

This Descriptor does not support pattern matching functions.

$IN_SCHENV

Description: Input Scheduling Environment

Type: Character string Descriptor.

Maximum Length: 16 characters.

This Descriptor represents the scheduling environment for the job at submission.

$IN_SCHENV(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-16 alphabetic, numeric, underscore (_), or national (#, @, $) characters. Underscores must be imbedded. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$IN_SCHENV(PRODUCTION)
$IN_SCHENV($TABLE2(ENVIRONS))

$IN_SERVICE_CLASS

Description: Input WLM Service Class

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the WLM service class for the job at submission.

$IN_SERVICE_CLASS(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, underscore (_), or national (#, @, $) characters. Underscores must be imbedded. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$IN_SERVICE_CLASS(HI_SPEED)
$IN_SERVICE_CLASS($TABLE1(WLMCLASS))

$INSTEP#

Description: How Many Times data set in Step

Type: Range Definition Descriptor.

Maximum Value: 99999

This Descriptor allows you to determine how many times you have already "seen" this data set for this step. This allows you to determine if the data set has already been processed within the step.

$INSTEP# [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Example:

$INSTEP# FIRST,2,DONE
EVALUATE PAY_FIRST ($DSNAME(PAY*.**) & FIRST)
...
IF (PAY_FIRST)
...

See Also: $INJOB#.

$INSYSAFF

Description: Job Submission System Affinity

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the JES2 system affinity at job submission time.

Note that system affinity can be assigned to jobs by assigning a default to the input device (local or remote). If a job specifies system affinity it overrides the input device assignment.

$INSYSAFF(ANY)
or
$INSYSAFF(IND)
or
$INSYSAFF(system-name)
or
$INSYSAFF(ANY,IND)
or
$INSYSAFF(system-name,IND)

ANY

Allows you to determine if the job can be executed in any system.

IND

Allows you to determine if the job requested independent mode. When coded alone, this keyword allows you to determine whether or not independent mode is used regardless of the system affinity.

system-name

Allows you to determine if the job can execute in the system named.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

$INSYSAFF (SYS1,IND)

In this case, for $INSYSAFF to evaluate TRUE, the job submission system affinity for this job must include SYS1 and be in independent mode.

See Also: $DALSYS and $INDEVICE.

Notes:

If you use the input device as a way to assign system affinity defaults, you can use $INDEVICE to test for it. When using the Job Extract Facility, the value returned is the 32 bit System Affinity Mask. Systems prior to JES2 5.1 return an 8 bit mask in the first byte.

This Descriptor does not support pattern matching functions.

$INSYSID

Description: JES2 ID of Submission System

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the JES2 system ID where the job was last read. If the job was submitted at node X and transmitted to node Y, $INSYSID would be the system at node Y that read the job.

$INSYSID(pattern|%patid|table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

EVALUATE IS_SYS1 ($INSYSID(SYS1))
In this case, for $INSYSID to return a TRUE value, the job must have been submitted on 'SYS1'.
EVALUATE IS_VALID_SYSID ($INSYSID($TABLE1(SYSTEMS)))

$IZWS

Description: A //*IZWS Statement was encountered

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor indicates that this job is managed by IZWS.

$IZWS(YES/NO)

This function call returns a TRUE/FALSE value depending on whether this is an IZWS job.

YES

     Returns a TRUE value the job is managed by IZWS.

NO

     Returns a TRUE value if the job is not managed by IZWS.

Usage:

This Variable can be used in EVALUATE definition statements and JAL Logic statements, and as an insert in message definition statements.

Example:

EVALUATE IZWS_JOB ($IZWS(YES))
   ...
IF (IZWS_JOB)
   WTU ...
ENDIF

$IZWS_ADID

Description: An ADID= keyword was encountered on the //*IZWS Statement
Type: Character string Descriptor.
Maximum Length: 16 characters.

This Descriptor indicates the value of the ADID= keyword on the //*IZWS statement.

This is the Application Name.

$IZWS_ADID(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters ‘?’ and ‘*’.

 %patid

The name of a pattern created with the PATTERNDEF statement.

 table-id

Identifies a specific table and indicates which subtable is to be searched.

 The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities refer to “Chapter 5. Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “Chapter 6. DAL and JAL Table Management”.

$IZWS_CRITICALJOB(Yes/No)

Description: A CRITICALJOB= keyword was encountered on the //*IZWS Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor indicates the value of the CRITICALJOB= keyword on the //*IZWS statement.

This indicates that the job is on critical path.

$IZWS_CRITICALJOB(Yes/No)

This function call returns a TRUE/FALSE value depending on the value of the CRITICALJOB= keyword.

YES

     Returns a TRUE value if CRITICALJOB=YES was encountered.

NO

     Returns a TRUE value if CRITICALJOB=NO was encountered.

Usage:

This Variable can be used in EVALUATE definition statements and JAL Logic statements, and as an insert in message definition statements.

Example:

EVALUATE IZWS_CRITICALJOB ($IZWS_CRITICALJOB(YES))

   ...

IF (IZWS_CRITICALJOB)
   WTU ...
ENDIF

$IZWS_CRITICALPRED(Yes/No)

Description: A CRITICALPRED= keyword was encountered on the //*IZWS Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor indicates the value of the CRITICALPRED= keyword on the //*IZWS statement.

This indicates that the job is a critical predecessor.

$IZWS_CRITICALPRED(Yes/No)

This function call returns a TRUE/FALSE value depending on the value of the CRITICALPRED= keyword.

YES

     Returns a TRUE value if CRITICALPRED=YES was encountered.

NO

     Returns a TRUE value if CRITICALPRED=NO was encountered.

Usage:

This Variable can be used in EVALUATE definition statements and JAL Logic statements, and as an insert in message definition statements.

Example:

EVALUATE IZWS_CRITICALPRED ($IZWS_CRITICALPRED(YES)) 

...

IF (IZWS_CRITICALPRED)
   WTU ...
ENDIF

$IZWS_DEADLINE_DATE

Description: A DEADLINE= keyword was encountered on the //*IZWS Statement.  This descriptor is the date portion.

Type: Range Definition Descriptor.

Maximum Value: 2155/366 expressed as year/day.

This Descriptor indicates the date value of the DEADLINE= keyword on the //*IZWS statement.

This indicates the date when the job must end.

$IZWS_DEADLINE_DATE [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired

Starting points are specified as year/day pairs, separated by a slash.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:
$IZWS_DEADLINE_DATE DATE_ONE,1999/365,NEVER_DATE,2000/001,DATE_TWO

$IZWS_DEADLINE_TIME

Description: A DEADLINE= keyword was encountered on the //*IZWS Statement.  This is the time portion.

Type: Range Definition Descriptor.

Maximum Value: 24:00

This Descriptor indicates the time value of the DEADLINE= keyword on the //*IZWS statement.

This indicates the TIME when the job must end.

$IZWS_DEADLINE_TIME [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as mmmm:ss, where:

  • mmmm ranges from 0 to 9999. It represents minutes.
  • ss ranges from 0 to 59. It represents seconds.

The value mmmm can be specified without seconds but ss must be preceded by mmmm (e.g., 30 seconds is specified as 0:30).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:
$IZWS_DEADLINE_TIME    DT1,99:30,DT2,199,DST3,999:30,SPECIAL_DT

$IZWS_DURATION

Description: A DURATION= keyword was encountered on the //*IZWS Statement.

Type: Range Definition Descriptor.

Maximum Value: 99999999.

This Descriptor indicates the numeric value of the DURATION= keyword on the //*IZWS statement.

This is the estimated duration of the job in seconds.

$IZWS_DURATION [0,]name1,start2,name2[,...,startN,nameN]

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.start

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:

$IZWS_DURATION    D0,1,D1,2,…,D998,999

$IZWS_IA_DATE

Description: A IA= keyword was encountered on the //*IZWS Statement.  This descriptor is the date portion.

Type: Range Definition Descriptor.

Maximum Value: 2155/366 expressed as year/day.

This Descriptor indicates the date value of the IA= keyword on the //*IZWS statement.

This is the input arrival date.

$IZWS_IA_DATE [0,]name1,start2,name2[,...,startN,nameN]

start 

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as year/day pairs, separated by a slash.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:

$IZWS_IA_DATE DATE_ONE,1999/365,NEVER_DATE,2000/001,DATE_TWO

$IZWS_IA_TIME

Description: An IA= keyword was encountered on the //*IZWS Statement.  This is the time portion.

Type: Range Definition Descriptor.

Maximum Value: 24:00.

This Descriptor indicates the time value of the IA= keyword on the //*IZWS statement.

This is the input arrival time.

$IZWS_IA_TIME [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as mmmm:ss, where:

–mmmm ranges from 0 to 9999. It represents minutes.

–ss ranges from 0 to 59. It represents seconds.

The value mmmm can be specified without seconds but ss must be preceded by mmmm (e.g., 30 seconds is specified as 0:30).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:

$IZWS_IA_TIME    IA1,99:30,IA2,199,IA3,999:30,SPECIAL_IA

$IZWS_JECL_OK

Description: All //*IZWS keywords are acceptable

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor indicates that all //*IZWS keywords are syntactically correct.

$IZWS_JECL_OK(YES/NO)

This function call returns a TRUE/FALSE value depending on whether all keywords on the //*IZWS statement are acceptable.

YES

     Returns a TRUE value if all //*IZWS keywords are acceptable.

NO

     Returns a TRUE value if any of the //*IZWS keywords are not acceptable.

Usage:

This Variable can be used in EVALUATE definition statements and JAL Logic statements, and as an insert in message definition statements.

Example:

EVALUATE IZWS_ERROR ($IZWS_JECL_OK(NO))
   ...
IF (IZWS_ERROR)
   WTU ...
ENDIF

$IZWS_LATESTOUT_DATE

Description: A LATESTOUT= keyword was encountered on the //*IZWS Statement.  This descriptor is the date portion.

Type: Range Definition Descriptor.

Maximum Value: 2155/366 expressed as year/day.

This Descriptor indicates the date value of the LATESTOUT= keyword on the //*IZWS statement.

This is the latest date when the job should start.

$IZWS_LATESTOUT_DATE [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as year/day pairs, separated by a slash.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:

$IZWS_LATESTOUT_DATE DATE_ONE,1999/365,NEVER_DATE,2000/001,DATE_TWO

$IZWS_LATESTOUT_TIME

Description: A LATESTOUT= keyword was encountered on the //*IZWS Statement.  This is the time portion.

Type: Range Definition Descriptor.

Maximum Value: 24:00.

This Descriptor indicates the time value of the LATESTOUT= keyword on the //*IZWS statement.

This is the latest time when the job should start.

$IZWS_LATESTOUT_TIME [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as mmmm:ss, where:

–mmmm ranges from 0 to 9999. It represents minutes.

–ss ranges from 0 to 59. It represents seconds.

The value mmmm can be specified without seconds but ss must be preceded by mmmm (e.g., 30 seconds is specified as 0:30).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples: 

$IZWS_LATESTOUT_TIME    DT1,99:30,DT2,199,DST3,999:30,SPECIAL_DT

$IZWS_OPNO

Description: An OPNO= keyword was encountered on the //*IZWS Statement.

Type: Range Definition Descriptor.

Maximum Value: 255.

This Descriptor indicates the time value of the OPNO= keyword on the //*IZWS statement.

This is the operation number.

$IZWS_OPNO [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.  

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:

$IZWS_OPNO    O0,1,O1,2,O2,8,O9

$IZWS_PRIORITY

Description: A PRIORITY= keyword was encountered on the //*IZWS Statement.

Type: Range Definition Descriptor.

Maximum Value: 9.

This Descriptor indicates the time value of the PRIORITY= keyword on the //*IZWS statement.

This is the job’s priority from 1 to 9, where 9 is the most urgent.

$IZWS_PRIORITY [0,]name1,start2,name2[,...,startN,nameN]

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.start

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of JAL, and also as an insert in message definition statements.

Examples:

$IZWS_PRIORITY    P0,1,P1,2,P2,8,P9

$IZWS_SUCCESSOR(YES/NO)

Description: A SUCCESSOR= keyword was encountered on the //*IZWS Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor indicates the value of the SUCCESSOR= keyword on the //*IZWS statement.

This indicates that the job, when completed, will free jobs successor to start.

$IZWS_SUCCESSOR(Yes/No)

This function call returns a TRUE/FALSE value depending on the value of the SUCCESSOR= keyword.

YES

     Returns a TRUE value if SUCCESSOR=YES was encountered.

NO

     Returns a TRUE value if SUCCESSOR=NO was encountered.

Usage:

This Variable can be used in EVALUATE definition statements and JAL Logic statements, and as an insert in message definition statements.

Example:

EVALUATE IZWS_SUCCESSOR ($IZWS_SUCCESSOR(YES))
   ...
IF (IZWS_SUCCESSOR)
   WTU ...
ENDIF

$IZWS_SUBSYS

Description: A SUBSYS= keyword was encountered on the //*IZWS Statement

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor indicates the value of the SUBSYS= keyword on the //*IZWS statement.

This is the IZWS subsystem name.

$IZWS_SUBSYS(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters ‘?’ and ‘*’.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For more information about the description of character string facilities see Character String Facilities Tutorial in the DAL/JAL User Guide. For a description of table support, see DAL and JAL Table Management section.

$IZWS_TIMEDEP(YES/NO)

Description: A TIMEDEP= keyword was encountered on the //*IZWS Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor indicates the value of the TIMEDEP= keyword on the //*IZWS statement.

The job is time dependent.  It can not start before IA (input arrival).

$IZWS_TIMEDEP(Yes/No)

This function call returns a TRUE/FALSE value depending on the value of the TIMEDEP= keyword.

YES

     Returns a TRUE value if TIMEDEP=YES was encountered.

NO

     Returns a TRUE value if TIMEDEP=NO was encountered.

Usage:

This Variable can be used in EVALUATE definition statements and JAL Logic statements, and as an insert in message def

$JBACT

JBS ONLY

Description: Job Binding Activate Name Reference

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor lets you determine whether or not a particular Binding Agent is activated in JECL statements. It also allows you to determine if it is activated using Job Binding Services API, or whether the specified Agent is the only one being activated.

$JBACT name AGENT(pattern | %patid | table-id)
or
$JBACT name AGENT(pattern | %patid | table-id) ONLY
or
$JBACT name API
or
$JBACT name AGENT(pattern | %patid | table-id) API
or
$JBACT name AGENT(pattern | %patid | table-id) API ONLY

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

AGENT(pattern | %patid | table-id)

Indicates that a search pattern for a Binding Agent follows.

pattern

A search pattern for a Binding Agent. The name can only be two levels. This pattern must be 1 to 17 characters and conform to the rules described in the section "Pattern Matching for Binding Agent Names" in "Section. Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide.

%patid

The name of a pattern constructed with a PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched. For a description of table support, see to "Section. DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

API

Allows you to determine if the API is to be used. If the AGENT keyword is coded, the Property is assigned a TRUE value if a Binding Agent that matches the pattern that is specified.

ONLY

Allows you to test whether the Binding Agents specified are the only ones being activated.

Usage:

This Descriptor can be used only in the Definition Section of TM DAL.

Examples:

$JBACT IMS_TEST AGENT(IMS.TEST)
$JBACT BMP_TEST AGENT($TABLE9(BMP_AGENTS))
$JBACT PRODUCTION_TEST AGENT(PRODJOBS) ONLY

See Also: $EXEMPT, $JBACT#, $JBBIND, $JBBIND#, $JBDEACT, and $JBDEACT#.

Notes:

When using the Job Extract Facility, one Agent name per XFE is returned (if present). Each possible level (up to 2) is returned in an 8-character field left justified.

If ONLY is specified together with a pattern or table entry for the AGENT keyword, the Property Name is assigned a TRUE value only if all Binding Agents found match the pattern or table entry.

$JBACT#

JBS ONLY

Description: Number of Job Binding ACTIVATE JECL Statements

Type: Range Definition Descriptor.

Maximum Value: 99 expressed in number of ACTIVATE JECL statements.

This Descriptor represents the number of JECL ACTIVATE statements present in a job.

$JBACT#    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of TM DAL, and also as an insert in message definition statements.

Examples:

$JBACT# NO_ACTIVATE_JECL,1,ACTIVATE_JECL

See Also: $EXEMPT, $JBACT, $JBBIND, $JBBIND#, $JBDEACT, and $JBDEACT#.

$JBBIND

JBS ONLY

Description: Job Binding Agent Name Reference

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor lets you determine whether or not there is a BIND statement for a particular Binding Agent in JECL statements. It also allows you to test whether the specified Agent is the only Agent bound to.

$JBBIND name AGENT(pattern | %patid | table-id) [ONLY]

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

AGENT(pattern | %patid | table-id)

Indicates that a search pattern for a Binding Agent follows.

pattern

A search pattern for a Binding Agent. The name can only be two levels. This pattern must be 1 to 17 characters and conform to the rules described in the section "Pattern Matching for Binding Agent Names" in "Section. Elements of Action Languages Elements of Action Languages" in the DAL/JAL User Guide.

%patid

The name of a pattern constructed with a PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched. For a description of table support, see to "Section. DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

ONLY

Allows you to test whether the Binding Agents specified are the only ones being bound to.

Usage:

This Descriptor can be used only in the Definition Section of TM DAL.

Examples:

$JBBIND IMS AGENT(IMS.*)
$JBBIND BILL_OF_MATERIALS AGENT($TABLE3(BMPAGNTS))

See Also: $EXEMPT, $JBACT, $JBACT#, $JBBIND#, $JBDEACT, and $JBDEACT#.

Notes:

If ONLY is specified together with a pattern or table entry for the AGENT keyword, the Property Name is assigned a TRUE value only if all Binding Agents found match the pattern or table entry.

When using the Job Extract Facility, up to four Agent names per XFE could be returned. Each possible level (up to 2) is returned in an 8-character field left justified.

$JBBIND#

JBS ONLY

Description: Number of Job BIND JECL Statements

Type: Range Definition Descriptor.

Maximum Value: 99 expressed in number of BIND JECL statements.

This Descriptor represents the number of JECL BIND statements present in a job.

$JBBIND#    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of TM DAL, and also as an insert in message definition statements.

Examples:

$JBBIND# NO_BIND,1,SOME_BIND

See Also: $EXEMPT, $JBACT, $JBACT#, $JBBIND, $JBDEACT, and $JBDEACT#.

$JBDEACT

JBS ONLY

Description: Job Binding DEACTIVATE Agent Name Reference

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor lets you determine whether or not a particular binding agent is deactivated in JECL statements. It also allows you to determine if it is deactivated using Job Binding Services API, and whether the specified Agent is the only one deactivated.

$JBDEACT name AGENT(pattern | %patid | table-id)
or
$JBDEACT name AGENT(pattern | %patid | table-id) ONLY
or
$JBDEACT name API
or
$JBDEACT name AGENT(pattern | %patid | table-id) API
or
$JBDEACT name AGENT(pattern | %patid | table-id) API ONLY

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

AGENT(pattern | %patid | table-id)

Indicates that a search pattern for a Binding Agent follows.

pattern

A search pattern for a Binding Agent. The name can only be two levels. This pattern must be 1 to 17 characters and conform to the rules described in the section "Pattern Matching for Binding Agent Names" in "Section. Elements of Action Languages Elements of Action Languages" in the DAL/JAL User Guide.

%patid

The name of a pattern constructed with a PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched. For a description of table support, see to "Section. DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

API

Allows you to determine if the API is to be used. If the AGENT keyword is coded, the Property is assigned a TRUE value if a Binding Agent that matches the pattern that is specified.

ONLY

Allows you to test whether the Binding Agents specified are the only ones being deactivated.

Usage:

This Descriptor can be used only in the Definition Section of TM DAL.

Examples:

$JBDEACT IMS_TEST AGENT(IMS.TEST)
$JBDEACT PAYROLL AGENT($TABLE1(PAYAGNTS))

See Also: $EXEMPT, $JBACT, $JBACT#, $JBBIND, $JBBIND#, and $JBDEACT#.

Notes:

When using the Job Extract Facility, one Agent name per XFE is returned (if present). Each possible level (up to 2) is returned in an 8-character field left justified.

If ONLY is specified together with a pattern or table entry for the AGENT keyword, the Property Name is assigned a TRUE value only if all Binding Agents found match the pattern or table entry.

$JBDEACT#

JBS ONLY

Description: Number of DEACTIVATE JECL Statements

Type: Range Definition Descriptor.

Maximum Value: 99 expressed in number of DEACTIVATE JECL statements.

This Descriptor represents the number of JECL DEACTIVATE statements present in a job.

$JBDEACT# [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of TM DAL, and also as an insert in message definition statements.

Examples:

$JBDEACT# NO_DEACTIVATE_JECL,1,DEACTIVATE_JECL

See Also: $EXEMPT, $JBACT, $JBACT#, $JBBIND, $JBBIND#, and $JBDEACT.

JBS ADD BIND

JBS ONLY

Description: Adds a BIND request.

Type: Action statement.

This action statement allows you to "insert" a BIND request for the job.

JBS ADD BIND(agent-name-list[,$$DELETE])

BIND(agent-name-list[,$$DELETE])

This keyword indicates that a BIND request is to be inserted for the job.

For each invocation of DAL you can have up to 24 BIND requests. That is, you can execute up to 24 JBS ADD BIND statements without an intervening JBS DELETE BIND statement.

DAL BIND requests are additions to any JECL BIND requests the job might have.

agent-name-list[,$$DELETE]

A list, separated by commas, of up to four Binding Agents that can satisfy the BIND request.

The names represent an OR condition. That is, if any one of them is Active the job can be selected for execution.

$$DELETE is a special Agent name that causes the Bind request to be ignored if it causes an incompatibility. If included, $$DELETE counts as one of the four allowable Agent names, and must be the last name in the list.

Examples:

JBS ADD BIND(IMS.ONLINEA,IMS.ONLINEB)

In this example two Binding Agents are listed. If either of them is active the job can be selected for execution.

JBS ADD BIND(PREFER.SYS3,$$DELETE)

If the Agent PREFER.SYS3 is incompatible with another Bind request for this job, the special Agent name $$DELETE causes this Bind request to be ignored.

See Also: JBS DELETE BIND, JBS REPLACE BIND, $JXJBANY, and $JXJBMAX.

Notes:

This facility is equivalent to the user placing the JECL statement /*JBS BIND in the job stream.

You can determine if you have previously added any BIND request by testing the logic variable $JXJBANY.

You can determine if you can add any more requests by testing the logic variable $JXJBMAX. If this variable returns a value of TRUE, it means that you have already reached the maximum number allowed.

The Language Processor parameter VERIFY allows you to verify whether JBS agents exist on the system on which the processor is running. This is a useful final step before implementing a new DAL.

JBS DELETE BIND

JBS ONLY

Description: Deletes Bind request

Type: Action statement.

This action statement deletes the last previously executed JBS ADD BIND or JBS REPLACE BIND request.

JBS DELETE [BIND | ALL_BINDS]

BIND

This keyword indicates that the previously executed JBS ADD BIND or JBS REPLACE BIND request is to be deleted. Only the last BIND request prior to the JBS DELETE BIND request is affected.

ALL_BINDS

This keyword indicates that all existing Binding Agent requests are to be deleted.

See Also: JBS ADD BIND, JBS REPLACE BIND, $JXJBANY, and $JXJBMAX.

Notes:

This facility covers situations where in your main logic you might JBS ADD or JBS REPLACE a BIND request that in your "exception conditions" logic you may want to eliminate.

The source of the last previously executed BIND request (from DAL or from exits) does not affect JBS DELETE BIND processing.

If no JBS ADD BIND or JBS REPLACE BIND request has been previously executed, this statement is ignored.

$JBS_NEEDS

Description: JBS NEEDS Environment Reference

Type: Unique Descriptor.

Maximum Value: Not applicable. Component: JBS.

This Descriptor lets you determine whether or not a particular JBS Environment is requested in JECL statements, and whether the specified Environment is the only one requested.

$JBS_NEEDS name ENVIRONMENT(pattern | %patid | table-id) [ONLY]

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

ENVIRONMENT(pattern | %patid | table-id)

Indicates that a search pattern for a JBS Environment follows.

This keyword can be abbreviated to ENV.

pattern

A search pattern for an Environment. This pattern must be 1 to 16 characters and conform to the naming conventions for JBS Environments.

%patid

The name of a pattern constructed with a PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched. For a description of table support, see to "Section. DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

ONLY

Allows you to test whether the Environment specified is the only one being requested.

Usage:

This Descriptor can be used only in the Definition Section.

Examples:

$JBS_NEEDS MAINT ENVIRONMENT(MAINTENANCE)
$JBS_NEEDS BACKUP ENV($TABLE3(ENVIRONS))

See Also: $JBS_NEEDS#.

$JBS_NEEDS#

Description: Number of NEEDS Statements

Type: Range Definition Descriptor.

Maximum Value: 1.

Component: JBS.

This Descriptor represents whether or not a JECL JBS NEEDS statement is present in the job. In this case only one statement can be present.

$JBS_NEEDS#    name1,1,name2

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section and also as an insert in message definition statements.

Examples:

$JBS_NEEDS# NO_NEEDS,1,NEEDS

See Also: $JBS_NEEDS.

JBS REPLACE BIND

JBS ONLY

Description: Replaces a previous JBS ADD BIND request

Type: Action statement.

This action statement allows you to replace the last previously executed JBS ADD BIND request for the job.

JBS REPLACE BIND(agent-name-list)

BIND(agent-name-list)

This keyword indicates that the previously executed JBS ADD BIND request is to be replaced with a new Agent list. Only the last BIND request prior to the JBS REPLACE BIND request is affected.

If no JBS ADD BIND statement has been executed, this statement is treated as the first JBS ADD BIND statement.

agent-name-list

A list, separated by commas, of up to four Binding Agents that can satisfy the BIND request.

The names represent an OR condition. That is, if any one of them is Active the job can be selected for execution.

Usage:

Normally used with exception conditions logic, where in your main line you may have a JBS ADD BIND request that is replaced under some unique logic conditions.

Examples:

JBS REPLACE BIND(IMS.ONLINEA,IMS.ONLINEB)

See Also: JBS ADD BIND, JBS DELETE BIND, $JXJBANY, and $JXJBMAX.

Notes:

The Language Processor parameter VERIFY allows you to verify whether JBS agents exist on the system on which the processor is running. This is a useful final step before implementing a new DAL.

The source of the last previously executed BIND request (from DAL or from exits) does not affect JBS REPLACE BIND processing.

$JBS_SET

Description: JBS SET Resource Element Reference

Type: Unique Descriptor. Maximum Value: Not applicable. Component: JBS.

This Descriptor lets you determine whether or not a particular JBS Resource Element is SET by JECL statements, and whether the specified Resource is the only one set.

$JBS_SET  name  RESOURCE(pattern | %patid | table-id) [ONLY]

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

RESOURCE(pattern | %patid | table-id)

Indicates that a search pattern for a JBS Resource Element follows. This keyword can be abbreviated to RES.

pattern

A search pattern for a Resource Element. This pattern must be 1 to 16 characters and conform to the naming conventions for JBS Resource Elements.

%patid

The name of a pattern constructed with a PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched. For a description of table support, see to "Section. DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

ONLY

Allows you to test whether the Resource Element specified is the only one being set.

Usage:

This Descriptor can be used only in the Definition Section.

Examples:

$JBS_SET SETS_SHIFT RESOURCE(SHIFT)
$JBS_SET SETS_DAY RES($TABLE3(RESOURCE))

See Also: $JBS_SET#.

$JBS_SET#

Description: Number of JBS SET JECL Statements

Type: Range Definition Descriptor.

Maximum Value: 99 expressed in number of JBS SET JECL statements.

Component: JBS.

This Descriptor allows you to determine the number of JBS SET JECL statements present in a job.

$JBS_SET#   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section and also as an insert in message definition statements.

Examples:

$JBS_SET# NO_JBS_SETS,1,JBS_SETS

See Also: $JBS_SET.

JCL ADD

TM ONLY

Description: Add a DD Statement

Type: Action statement.

This statement allows you to add a DD statement to the current step.

 The disposition of an added DD statement is SHR.

 All applicable DALs are driven for added DD statements.

JCL ADD DDN(ddname) DSN(DATASETname) [FIRST | LAST]
or
JCL ADD RESET

DDN(ddname)

Specifies the name of the DD statement to be added. If the DD name already exists in the job, the addition is treated as a concatenation. The position of the data set in the concatenation is determined by the FIRST or LAST keyword.

ddname

Is a valid DD name.

DSN(DATASETname)

Specifies the name of the data set for the DD statement to be added.

DATASETname

Is a valid data set name.

FIRST

If the added data set is part of a concatenation, indicates that it is to be added as the first data set.

This is the default.

LAST

If the added data set is part of a concatenation, indicates that it is to be added as the last data set.

RESET

Undoes the effect of all previous JCL ADD statements in this invocation of TM DAL. This keyword is mutually exclusive with all other JCL ADD keywords.

See Also: $JCL_ADD.

$JCL_ADD

Description: Check Whether DD Statement Was Added

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the current DD statement was added by a previous TM DAL.

$JCL_ADD(NO | YES)

NO

Returns a TRUE value if the current DD statement was not added by a previous TM DAL.

YES

Returns a TRUE value if the current DD statement was added by a previous TM DAL.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: JCL ADD.

JCL ALTER

TM ONLY

Description: Alter DD Statement Keywords

Type: Action statement.

This statement allows you to alter certain DD statement keywords during DAL type TM analysis of a DD statement.

JCL ALTER keyword[,keyword,...] [ANALYSIS_ONLY]
or
JCL ALTER RESET

ANALYSIS_ONLY

Alters JCL for the purpose of analysis. The changes will not affect execution.

RESET

Undoes the effects of any previous JCL ALTER statement and restores the DD statement to its original state. This keyword is mutually exclusive with all other JCL ALTER keywords.

keyword[,keyword,...]

Is one or more of the following keywords:

BLKSIZE(blksize)
BUFL(bufl)
BUFND(bufnd)
BUFNI(bufni)
BUFNO(bufno)
BUFSP(bufsp)
DSORG(dsorg)
EXPDT(expdt)
FREE(free)
LRECL(lrecl)
RETPD(retpd)
RETPD(retpd)
STRNO(strno)
TRTCH(trtch)

Allows you to set values for the corresponding DD statement keyword. The new value must be valid according to the DD statement syntax, e.g. EXPDT(2002/365).

%stringid

The name of a character string created with the STRINGDEF statement.

DATACLAS(dataclas  |  %stringid)
MGMTCLAS(mgmtclas  |  %stringid)
STORCLAS(storclas  |  %stringid)

Allows you to set SMS parameters for the corresponding DD statement, provided that the option has been enabled with the JES2 initialization TMPARM.

dataclas | mgmtclas | stroclas

Specifies a new value that must be valid according to the SMS keyword syntax.

%stringid

The name of a character string created with the STRINGDEF statement.

DEFER(YES | NO)

Allows you to control requests for deferred mounts.

YES

Alters the UNIT keyword to include DEFER.

NO

If DEFER was coded, it is removed.

IGNORE_VOLUMES

Hides any volume serial numbers coded on the DD statement from further JAL/DAL processing. To remove volumes from the DD statement, use REMOVE_VOL_SER.

PROTECT(YES | NO)

Allows you control requests to PROTECT data sets.

YES

Adds a PROTECT=YES keyword to the DD statement.

NO

If PROTECT=YES was coded, it is removed.

RETAIN(YES | NO)

Allows you control requests for RETAINed volumes.

YES

Alters the VOLUME keyword to include RETAIN.

NO

If RETAIN was coded, it is removed.

REMOVE_VOL_SER

Removes any volume serial numbers that were coded on the DD statement. To hide volume serial numbers from further JAL/DAL processing without removing them from the DD statement, use the keyword IGNORE_VOLUMES.

UNITNAME(unitname | %stringid)

Allows you to specify a new unitname. If the DD statement refers to a cataloged data set, the specified unit must be of the same device type, otherwise MVS allocation ignores it. This behavior is identical to coding UNIT on the DD statement. If the DD statement refers to an SMS managed data set, the unitname may be ignored. See SMS message IGDxxxxI in the job output.

NOTE: The original unitname (if coded) must be valid.

%stringid

The name of a character string created with the STRINGDEF statement. If the intent is to remove the unitname, use a blank STRINGDEF, e.g. STRINGDEF %BLANKS (' ').

UNIT_COUNT(unitcount)

Allows you to provide a specific unit count, or override an existing count.

VOLUME_COUNT(volcount)

Allows you to provide a specific volume count, or override an existing count.

Examples:

JCL ALTER BLKSIZE(1024) DSORG(PS)
JCL ALTER UNITNAME(3480) ANALYSIS_ONLY 
JCL ALTER EXPDT(2002/365)

Notes:

JCL ALTER actions are logged in SYSMSGS of the affected job unless the JAL statement JCL SET is used to turn off logging.

$JCL_BLKSIZE

Description: Blocksize from JCL

Type: Range Definition Descriptor.

Maximum Value: 65535 bytes.

This Descriptor represents the blocksize coded in JCL, if any was coded.

$JCL_BLKSIZE   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_BLKSIZE OK_FOR_DASD,32760,MUST_BE_TAPE

$JCL_BUFL

Description: Buffer Length from JCL

Type: Range Definition Descriptor.

Maximum Value: 32,760 bytes.

This Descriptor represents the buffer length coded in JCL, if any was coded.

$JCL_BUFL   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_BUFL SMALL,1024,NORMAL,16384,LARGE

$JCL_BUFND

Description: Number of VSAM Data Buffers from JCL  

Type: Range Definition Descriptor.

Maximum Value: 32,767 bytes.

This Descriptor represents the BUFND= value coded in JCL, if any were coded.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_BUFND SMALL,1024,NORMAL,16384,LARGE

$JCL_BUFNI

Description: Number of VSAM Data Buffers from JCL  

Type: Range Definition Descriptor.

Maximum Value: 32,767 bytes.

This Descriptor represents the BUFNI= value coded in JCL, if any were coded.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_BUFNI SMALL,1024,NORMAL,16384,LARGE

$JCL_BUFNO

Description: Number of Buffers from JCL

Type: Range Definition Descriptor.

Maximum Value: 15 buffers.

This Descriptor represents the buffer length coded in JCL, if any was coded.

$JCL_BUFNO   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_BUFNO OK,8,NOT_OK

$JCL_BUFSP

Description: Maximum number of bytes in user area specified in JCL

Type: Range Definition Descriptor.

Maximum Value: 8388607 bytes.

This Descriptor represents the BUFSP= value coded in JCL, if any was coded.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_BUFSP SMALL,1024,NORMAL,16384,LARGE

$JCL_CODED

Description: Test for Certain Keywords

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to determine whether any of the following keywords were coded anywhere in the job:

 DEFER

 EXEC_REGIONX

 EXPDT

 JOB_REGIONX

 LABEL=EXPDT

 LABEL=RETPD

 RETPD

 PROTECT=YES

 UNIT=AFF

 UNITNAME

 VOL=REF

 VOL=SER

This function call returns a true/false value depending on whether the keyword you are testing for was coded on any DD statement in the job.

$JCL_CODED name (DEFER | EXEC_REGIONX| EXPDT | JOB_REGIONX | EXPDT_OLD | EXPDT_
NEW | RETPD | PROTECT| UNIT_AFF | UNITNAME | VOL_REF | VOLSER)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

DEFER

Indicates that you want to know whether the DEFER subparameter of the UNIT keyword was coded on any DD statement in the job. If this subparameter is present, $JCL_CODED assumes a TRUE value.

EXEC_REGIONX

Indicates that you want to know whether REGIONX was coded on any EXEC statement in the job.

If $JCL_CODED is coded in JAL it will be TRUE if any step of the job contains the REGIONX keyword.

If $JCL_CODED is coded in DAL it will be TRUE if the current step of the job contains the REGIONX keyword.

EXPDT

Indicates that you want to know whether the EXPDT or LABEL=EXPDT keyword was coded on any DD statement in the job. If either of these keywords is present, $JCL_CODED assumes a TRUE value.

EXPDT_NEW

Indicates that you want to know whether the EXPDT or LABEL=EXPDT keyword was coded on any DD statement in the job using the new (ccyy/ddd) form for the expiry date. If either of these keywords is present and uses the new date format, $JCL_CODED assumes a TRUE value.

EXPDT_OLD

Indicates that you want to know whether the EXPDT or LABEL=EXPDT keyword was coded on any DD statement in the job using the old (yyddd) form for the expiry date. If either of these keywords is present and uses the old date format, $JCL_CODED assumes a TRUE value.

JOB_REGIONX

Indicates that you want to know whether the REGIONX keyword was coded on the JOB statement. If this keyword is present, $JCL_CODED assumes a TRUE value.

PROTECT

Indicates that you want to know whether the PROTECT=YES keyword was coded on the DD statement. If this keyword is present, $JCL_CODED assumes a TRUE value.

RETPD

Indicates that you want to know whether the RETPD or LABEL=RETPD keyword was coded on any DD statement in the job. If either of these keywords is present, $JCL_CODED assumes a TRUE value.

UNIT_AFF

Indicates that you want to know whether UNIT=AFF was coded on any DD statement in the job. If this keyword is present, $JCL_CODED assumes a TRUE value.

UNITNAME

Indicates that you want to know whether a unit name was coded on any DD statement in the job. If a unit name is present, $JCL_CODED assumes a TRUE value.

VOL_REF

Indicates that you want to know whether VOL=REF was coded on any DD statement in the job. If this keyword is present, $JCL_CODED assumes a TRUE value.

VOLSER

Indicates that you want to know whether VOL=SER was coded on any DD statement in the job. If this keyword is present, $JCL_CODED assumes a TRUE value.

$JCL_COND

Description: Check COND Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the COND keyword was coded for the current step.

$JCL_COND(NO | YES)

NO

Returns a TRUE value if the COND keyword does not apply to the current step.

YES

Returns a TRUE value if the COND keyword applies to the current step.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_COND_EVEN

Description: Check COND=EVEN Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the current step contains COND=EVEN.

$JCL_COND_EVEN(NO | YES)

NO

Returns a TRUE value if the COND=EVEN keyword does not apply to the current step.

YES

Returns a TRUE value if the COND =EVEN keyword applies to the current step.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_COND_ONLY

Description: Check COND=ONLY Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the current step contains COND=ONLY.

$JCL_COND_ONLY(NO | YES)

NO

Returns a TRUE value if the COND=ONLY keyword does not apply to the current step.

YES

Returns a TRUE value if the COND =ONLY keyword applies to the current step.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

JCL DELETE

TM ONLY

Description: Delete the Current DD Statement

Type: Action statement.

This statement deletes the current DD statement from the job.

JCL DELETE [RESET]

RESET

Undoes the effect of a previous JCL DELETE statement.

$JCL_DSKEYLBL

Description: Check DSKEYLBL DD Keyword

Type: Logic Variable.

Maximum Value: 64 characters.

This Logic Variable allows you to determine the value coded for the DSKEYLBL keyword on the DD statement being processed. $BLANK Allows you to test for an "all blanks" condition.

$JCL_DSKEYLBL($BLANK | key value)

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_DSNTYPE

Description: Check DSNTYPE DD Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the value coded for the DSNTYPE keyword on the DD statement being processed.

$JCL_DSNTYPE($BLANK | LIBRARY | HFS | PDS | PIPE)

$BLANK

Allows you to test for an "all blanks" condition.

LIBRARY

Indicates that you want to know whether the LIBRARY subparameter was coded for the DSNTYPE keyword on the DD statement. If LIBRARY was coded, $JCL_DSNTYPE returns a TRUE value.

HFS

Indicates that you want to know whether the HFS subparameter was coded for the DSNTYPE keyword on the DD statement. If HFS was coded, $JCL_DSNTYPE returns a TRUE value.

PDS

Indicates that you want to know whether the PDS subparameter was coded for the DSNTYPE keyword on the DD statement. If PDS was coded, $JCL_DSNTYPE returns a TRUE value.

PIPE

Indicates that you want to know whether the PIPE subparameter was coded for the DSNTYPE keyword on the DD statement. If PIPE was coded, $JCL_DSNTYPE returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_DSORG

Description: Check DSORG DD Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the value coded for the DSORG keyword on the DD statement being processed.

$JCL_DSORG(CX | DA | DAU | GS | IS | ISU | PO | POU | PS | PSU)

CX

Allows you to test for the CX (communications line group) data set organization.

DA

Allows you to test for the DA (direct access) data set organization.

DAU

Allows you to test for the DAU (direct access with location-dependent information) data set organization.

GS

Allows you to test for the GS (graphic data control block) data set organization.

IS

Allows you to test for the IS (indexed sequential) data set organization.

ISU

Allows you to test for the ISU (indexed sequential with location-dependent information) data set organization.

PO

Allows you to test for the PO (partitioned, PDS or PDSE) data set organization.

POU

Allows you to test for the POU (partitioned (PDS) with location-dependent information) data set organization.

PS

Allows you to test for the PS (physical sequential) data set organization.

PSU

Allows you to test for the PSU (physical sequential with location-dependent information) data set organization.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_EATTR

Description: Support for Extended Attributes

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor allows you to determine whether the data set can support extended attributes (format 8 and 9 DSCBs) or not.

$JCL_EATTR(OPT | NO)

OPT

Indicates that extended attributes are optional. The data set can have extended attributes and reside in EAS. This is the default value for VSAM data sets. .

NO

Indicates that there are no extended attributes. The data set cannot have extended attributes (format 8 and 9 DSCBs) or reside in EAS. This is the default value for non-VSAM data sets.

 Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_EXEC_REGIONX_ABOVE

Description: Above-the-line Storage Allocation

Type: Range Definition Descriptor.

Maximum Value: Not applicable.

This Descriptor represents above-the-line storage allocation coded on an EXEC statement.

$JCL_EXEC_REGIONX_ABOVE   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in K.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_EXEC_REGIONX_ABOVE REGIONA1,4096,REGIONA2,51200,REGIONA3

See Also: $JCL_JOB_REGIONX_ABOVE, $JCL_JOB_REGIONX_BELOW, and $JCL_EXEC_REGIONX_BELOW.

$JCL_EXEC_REGIONX_BELOW

Description: Below-the-line Storage Specification

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in K and M.

This Descriptor represents below-the-line storage specification coded on an JOB statement.

$JCL_EXEC_REGIONX_BELOW   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in K, M and G bytes of memory as 1-5 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_EXEC_REGIONX_BELOW REGIONB1,4096,REGIONB2,51200,REGIONB3

See Also: $JCL_JOB_REGIONX_ABOVE, $JCL_JOB_REGIONX_BELOW, and $JCL_EXEC_REGIONX_ABOVE.

$JCL_EXPDT

Description: Expiration Date from JCL

Type: Range Definition Descriptor.

Maximum Value: 2155/366 expressed as year/day.

This Descriptor represents the expiration date from JCL, if any was coded. It was either specified as an expiration date or as a retention cycle in JCL.

$JCL_EXPDT   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as year/day pairs, separated by a slash.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_EXPDT    SCRATCH_LOW,2009/365,NEVER_SCRATCH,2010/001,SCRATCH_HIGH 
$JCL_EXPDT    JCL_NO_DATE,1900/001,JCL_DATE

See Also: $JCL_RETPD.

$JCL_FILEDATA

Description: Check FILEDATA DD Keyword

Type: Logic variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the value coded for the FILEDATA keyword on the DD statement being processed.

$JCL_FILEDATA($BLANK | BINARY | TEXT | RECORD)

$BLANK

Allows you to test for an "all blanks" condition.

BINARY

Indicates that you want to know whether the BINARY subparameter was coded for the FILEDATA keyword on the DD statement. If BINARY was coded, $JCL_FILEDATA returns a TRUE value.

TEXT

Indicates that you want to know whether the TEXT subparameter was coded for the FILEDATA keyword on the DD statement. If TEXT was coded, $JCL_FILEDATA returns a TRUE value.

RECORD

Indicates that you want to know whether the RECORD subparameter was coded for the FILEDATA keyword on the DD statement. If RECORD was coded, $JCL_FILEDATA returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_FREE

Description: Check FREE Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine what has been coded for the FREE keyword.

$JCL_FREE(CLOSE | END)

CLOSE

Returns a TRUE value if CLOSE was coded for the FREE keyword.

END

Returns a TRUE value if END was coded for the FREE keyword.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Notes:

If the FREE keyword was not coded, $JCL_FREE(END) returns a TRUE value, since FREE=END is the IBM default value.

$JCL_FREEVOL

Description: Check FREEVOL DD Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the value coded for the FREEVOL keyword on the DD statement being processed.

$JCL_FREEVOL(EOV | END)

EOV

Indicates that you want to know whether the EOV subparameter was coded for the FREEVOL keyword on the DD statement. If EOV was coded, $JCL_FREEVOL returns a TRUE value.

END

Indicates that you want to know whether the END subparameter was coded for the FREEVOL keyword on the DD statement. If EOV was coded, $JCL_FREEVOL returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

Examples:

The following example provides the JAL to verify if FREEVOL was NOT coded.

EVAL FREE_EOV ($JCL_FREEVOL(EOV)) 
EVAL FREE_END ($JCL_FREEVOL(END))
EVAL FREEVOL_NOT_SPECIFIED (FREE_EOV & FREE_END)

$JCL_GDGORDER

Description: Check GDGORDER DD Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the value coded for the GDGORDER keyword on the DD statement being processed.

$JCL_GDGORDER (USECATLG| LIFO | FIFO)

USECATLG

Indicates that you want to know whether the USECATLG subparameter was coded for the GDGORDER keyword on the DD statement. If USECATLG was coded, $JCL_GDGORDER returns a TRUE value.

LIFO

Indicates that you want to know whether the LIFO subparameter was coded for the GDGORDER keyword on the DD statement. If LIFO was coded, $JCL_GDGORDER returns a TRUE value.

FIFO

Indicates that you want to know whether the FIFO subparameter was coded for the GDGORDER keyword on the DD statement. If FIFO was coded, $JCL_GDGORDER returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_JOB_DSENQSHR

Description: Check if DSENQSHR Value Coded on the JOB Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the DSENQSHR value was coded on the JOB statement or a default value was assigned.

$JCL_JOB_DSENQSHR(YES | NO)

YES

Returns a TRUE value if the DSENQSHR = is coded on the JOB statement by user .

NO

Returns a TRUE value if the DSENQSHR= is not user coded and the system default value is assigned.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_JOB_REGIONX_ABOVE

Description: Above-the-line Storage Allocation

Type: Range Definition Descriptor.

Maximum Value: Not applicable.

This Descriptor represents above-the-line storage allocation coded on a JOB statement.

$JCL_JOB_REGIONX_ABOVE [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in K.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_JOB_REGIONX_ABOVE REGIONA1,4096,REGIONA2,51200,REGIONA3

See Also: $JCL_JOB_REGIONX_BELOW, $JCL_EXEC_REGIONX_ABOVE, and $JCL_EXEC_REGIONX_BELOW.

$JCL_JOB_REGIONX_BELOW

Description: Below-the-line Storage Specification

Type: Range Definition Descriptor.

Maximum Value: Not applicable.

This Descriptor represents below-the-line storage allocation coded on a JOB statement.

$JCL_JOB_REGIONX_BELOW   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in K.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_JOB_REGIONX_BELOW REGIONB1,4096,REGIONB2,51200,REGIONB3

See Also: $JCL_JOB_REGIONX_ABOVE, $JCL_EXEC_REGIONX_ABOVE, and $JCL_EXEC_REGIONX_BELOW.

$JCL_JOB_SYSAFF

Description: Check SYSAFF Keyword Coded on the JOB Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the SYSAFF keyword was coded on the JOB statement.

$JCL_JOB_SYSAFF(YES | NO)

YES

Returns a TRUE value if the SYSAFF keyword coded on the JOB statement.

NO

Returns a TRUE value if the SYSAFF keyword is not coded on the JOB statement.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_JOB_SYSTEM

Description: Check SYSTEM Keyword Coded on the JOB Statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the SYSTEM keyword was coded on the JOB statement.

$JCL_JOB_SYSTEM(YES | NO)

YES

Returns a TRUE value if the SYSTEM keyword coded on the JOB statement.

NO

Returns a TRUE value if the SYSTEM keyword is not coded on the JOB statement.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_JOB_UJOBCORR

Description: Defines the UJOBCORR Value on a JOB Statement

Type: Character Descriptor.

Maximum Value: 32 characters.

This Descriptor represents UJOBCORR value coded on the JOB statement.

$JCL_JOB_UJOBCORR  (user-correlator | $BLANK)

user-correlator

Indicates UJOBCORR value coded on the JOB statement.

$BLANK

Is a special subparameter that allows you to check for blanks.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_LABEL

Description: Indicates the Type of Label

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor allows you to determine what has been coded in the DD LABEL field.

$JCL_LABEL  name TYPE(label) [PROCESS_AS(IN | OUT)]

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

TYPE

This keyword indicates you want to determine if a particular label type was coded.

label

Can be one of the following:

AL, AUL, BLP, SUL, NSL, SL, NL
PROCESS_AS

This keyword indicates you want to determine the type of processing requested in JCL.

IN

Tests for the presence of IN in the JCL.

OUT

Tests for the presence of OUT in the JCL.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Notes:

The keywords TYPE and PROCESS_AS are treated as an AND if both are specified, that is, both conditions must be met to assign a TRUE value to the Property Name.

$JCL_LRECL

Description: Record Length from JCL

Type: Range Definition Descriptor.

Maximum Value: 32,761 bytes.

This Descriptor represents the record length coded in JCL, if any was coded.

$JCL_LRECL [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_LRECL USUAL,80,UNUSUAL

$JCL_MAXGENS

Description: Maximum Number of Generations for Members in a Version 2 PDSE.

Type: Range Definition Descriptor.

Maximum Value: 2,000,000,000.

This parameter specifies the maximum number of generations for members in a Version 2 PDSE.

$JCL_MAXGENS  [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of days as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_MAXGENS 0,NONE,1,SOME,10000,MORE,1500000000,LOTS

  $JCL_MODELDSN

Description: Model data set Name

Type: Character string Descriptor.

Maximum Length: 44 characters.

This Descriptor allows you to determine the MODEL data set name as coded in the DCB keyword for the DD currently being processed in DAL

$JCL_MODELDSN(pattern | %patid | table-id)

pattern

This is a hard-coded valid data set name pattern to be matched against the data set name on the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to “Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Example:

EVAL  MODEL1
($JCL_MODELDSN(Z5900.TESTMDL))
EVAL  MODEL2
($JCL_MODELDSN(Z5900.**))
   ...

$JCL_PROC_LIBRARY

Description: Procedure Library Name  

Type: Character string Descriptor.

Maximum Length: 44 characters.

This Descriptor represents the procedure library name.

$JCL_PROC_LIBRARY(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

Note: 

For INSTREAM TYPE the library name is "INSTREAM"

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $JCL_PROC_NAME and $JCL_PROC_TYPE.

$JCL_PROC_NAME

Description: Procedure Name

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the procedure name.

$JCL_PROC_NAME(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $JCL_PROC_LIBRARY and $JCL_PROC_TYPE.

$JCL_PROC_TYPE

Description: Procedure Library Type

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the TYPE of procedure library.

$JCL_PROC_TYPE(INSTREAM | PRIVATE | SYSTEM)

INSTREAM

Returns a TRUE value if the procedure Type is INSTREAM.

PRIVATE

Returns a TRUE value if the procedure Type is PRIVATE

SYSTEM

Returns a TRUE value if the procedure Type is SYSTEM.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: $JCL_PROC_LIBRARY and $JCL_PROC_NAME.

$JCL_PROTECT

Description: Check PROTECT Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the PROTECT=YES keyword was coded on the current DD statement.

$JCL_PROTECT(NO | YES)

NO

Returns a TRUE value if the keyword PROTECT=YES was not coded on the current DD statement.

YES

Returns a TRUE value if the keyword PROTECT=YES was coded on the current DD statement.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

JCL REPLACE

TM ONLY

Description: Replace data set Name for Current DD Statement

Type: Action statement.

This statement allows you to replace the data set named on the current DD statement. All other parameters for the data set are unchanged..

JCL REPLACE DSN(DATASETname)
or
JCL REPLACE RESET

DSN(DATASETname)

Specifies the data set name to replace the current data set name.

DATASETname

Is a valid data set name.

RESET

Undoes the effect of any previous JCL REPLACE statement. This keyword is mutually exclusive with the DSN keyword.

See Also: $JCL_REPLACE.

Notes:

If multiple JCL REPLACE statements are executed, the last one encountered takes effect.

$JCL_REPLACE

Description: Check Whether data set Name Was Replaced

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the data set name on the current DD statement was replaced by a previous TM DAL.

$JCL_REPLACE(NO | YES)

NO

Returns a TRUE value if the data set name on the current DD statement was not replaced by a previous TM DAL.

YES

Returns a TRUE value if the current DD statement was added by a previous TM DAL.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: JCL REPLACE.

$JCL_RETPD

Description: Retention Period for the DD Statement

Type: Range Definition Descriptor.

Maximum Value: 9999 expressed in days.

This Descriptor allows you to determine the retention period specified in JCL for the DD statement being processed.

$JCL_RETPD [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of days as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

See Also: $JCL_EXPDT.

$JCL_SCHEDULE_AFTER

Description: Indicate if AFTER Parameter is coded on the SCHEDULE Statement

Type: Logic Descriptor.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the AFTER parameter is coded on the SCHEDULE statement.

$JCL_SCHEDULE_AFTER (YES | NO)

This function returns a TRUE/FALSE value depending on whether or not the job AFTER parameter was coded.

YES

Returns a value of TRUE if AFTER parameter was coded, otherwise it returns a FALSE value.

NO

Returns a value of TRUE if AFTER parameter was not coded, otherwise it returns a FALSE value.

Usage:

This Variable can be used in EVALUATE definition statements and D45AL Logic statements, and also as an insert in message definition statements.

See Also: $JCL_SCHEDULE_BEFORE, $JCL_SCHEDULE_JOBGROUP, and $JCL_SCHEDULE_WITH.

$JCL_SCHEDULE_BEFORE

Description: Indicate if BEFORE Parameter is coded on the SCHEDULE Statement

Type: Logic Descriptor.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the BEFORE parameter is coded on the SCHEDULE statement.

This function returns a TRUE/FALSE value depending on whether or not the job BEFORE parameter was coded.

$JCL_SCHEDULE_BEFORE (YES | NO)

YES

Returns a value of TRUE if BEFORE parameter was coded, otherwise it returns a FALSE value.

NO

Returns a value of TRUE BEFORE parameter was not coded, otherwise it returns a FALSE value.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $JCL_SCHEDULE_AFTER, $JCL_SCHEDULE_JOBGROUP, and $JCL_SCHEDULE_WITH.

$JCL_SCHEDULE_HOLDUNTL

Description: HOLDUNTL Time Parameter on the SCHEDULE Statement

Type: Range Definition Descriptor.

Maximum Value: 357912:00.

This Descriptor represents the difference between the specified "hold until" time and the time of analysis.

$JCL_SCHEDULE_HOLDUNTL   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as mmmmmm:ss, where:

  mmmmmm ranges from 0 to 357912. It represents minutes.

  ss ranges from 0 to 59. It represents seconds.

The value mmmmmm can be specified without seconds but ss must be preceded by mmmmmm (e.g., 30 seconds is specified as 0:30).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_SCHEDULE_HOLDUNTL NO-HOLD,00:01,HOLD-SRT,1:30,HOLD-LNG,12:30,HOLD-SUPER

See Also: $JCL_SCHEDULE_JOBGROUP and $JCL_SCHEDULE_STARTBY.

Notes:

This descriptor is displayed in messages in the same format as HOLDUNTL parameter is coded in the SCHEDULE statement (+hh:mm or hh:mm mm/dd/yyyy or hh:mm ddd/yyyy).

$JCL_SCHEDULE_JOBGROUP

Description: JOBGROUP Name Specified on the SCHEDULE Statement

Type: Character Descriptor.

Maximum Value: 17 characters.

This Descriptor represents the JOBGROUP name coded on the SCHEDULE statement.

$JCL_SCHEDULE_JOBGROUP (pattern | %patid | table-id | $BLANK)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

$BLANK

Is a special subparameter that allows you to check for blanks.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$JCL_SCHEDULE_JOBGROUP(GROUP.PROD)
$JCL_SCHEDULE_JOBGROUP($TABLE3(GROUPN))
EVALUATE FIELDGR_BLANK ($JCL_SCHEDULE_JOBGROUP(3,$BLANK))

See Also: $JCL_SCHEDULE_AFTER, and $JCL_SCHEDULE_WITH, and $JCL_SCHEDULE_HOLDUNTL.

$JCL_SCHEDULE_STARTBY

Description: STARTBY Time ParameterSpecified on the SCHEDULE Statement

Type: Range Definition Descriptor.

Maximum Value: 23:59.

This Descriptor represents the difference between the specified "start by" time and the time of analysis.

$JCL_SCHEDULE_STARTBY  [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as mmmmmm:ss, where:

  mmmmmm ranges from 0 to 357912. It represents minutes.

  ss ranges from 0 to 59. It represents seconds.

The value mmmmmm can be specified without seconds but ss must be preceded by mmmmmm (e.g., 30 seconds is specified as 0:30).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_SCHEDULE_STRTBY NO-WAIT,00:01,WAIT-SRT,1:30,WAIT-LNG,12:30,WAIT-EXTRA

See Also: $JCL_SCHEDULE_JOBGROUP and $JCL_SCHEDULE_HOLDUNTL.

Notes:

This descriptor is displayed in messages in the same format as STARTBY parameter is coded in JCL SCHEDULE statement (+hh:mm or hh:mm mm/dd/yyyy or hh:mm ddd/yyyy).

$JCL_SCHEDULE_WITH

Description: Indicate if WITH Parameter is coded on the SCHEDULE Statement

Type: Logic Descriptor.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the WITH parameter is coded on the SCHEDULE statement.

$JCL_SCHEDULE_WITH (YES | NO)

This function returns a TRUE/FALSE value depending on whether or not the job WITH parameter was coded.

YES

Returns a value of TRUE if AFTER parameter was coded, otherwise it returns a FALSE value.

NO

Returns a value of TRUE if AFTER parameter was not coded, otherwise it returns a FALSE value.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $JCL_SCHEDULE_AFTER, $JCL_SCHEDULE_BEFORE, and $JCL_SCHEDULE_JOBGROUP.

$JCL_STMT#

Description: JCL Statement Number

Type: Display Variable.

Maximum Value: 65535

This Display Variable allows you to insert the number of the JCL statement being analyzed into a message.

$JCL_STMT#

$JCL_STMT#

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

$JCL_STRNO

Description: Number of VSAM concurrent request parameter lists from JCL

Type: Range Definition Descriptor.

Maximum Value: 32,767 bytes.

This Descriptor represents the STRNO= value  coded in JCL, if any was coded.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JCL_STRNO SMALL,1024,NORMAL,16384,LARGE

$JCL_SYMBOLS

Description: Indicates that SYMBOLS keyword coded on the DD Statement

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor allows you to determine what has been coded in the DD SYMBOLS field.

$JCL_SYMBOLS(JCLONLY | EXECSYS | CNVTSYS]

JCLONLY

Specifies that the names of JCL symbols and JES symbols found in the in-stream data set are replaced with their values.

EXECSYS

Specifies that the names of JCL symbols and JES symbols found in the in-stream data set are replaced with their values. In addition, system symbols defined on the system during job execution can be used in the in-stream data.

CNVTSYS

Specifies that the names of JCL symbols and JES symbols found in the in-stream data set are replaced with their values. In addition, system symbols defined on the system during job execution can be used in the in-stream data, with the exception that system symbols used for substitution are taken not from the system where the job is executing, but from the system where the job has undergone JCL conversion.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_SYMBOLS_LOGDD

Description: Logging-DDname specified within the SYMBOLS= operands.

Type: Character Descriptor.

Maximum Value: 8 characters

This Descriptor indicates if a logging-DDname was specified within the SYMBOLS= operands.

$JCL_LOGDD(ddname | $BLANK)

ddname

The logging-DDname specified in the SYMBOLS=.

$BLANK

The logging-DDname was NOT specified.

Usage:

This Descriptor can be used only as an insert in message definition statements.

See Also: $BLANK.

$JCL_TRTCH

Description: Check TRTCH DD Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine the value coded for the TRTCH keyword on the DD statement being processed.

$JCL_TRTCH(C |E | T | ET | COMP | NOCOMP | $BLANK)

These keywords are described in the IBM JCL Reference manual

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

$JCL_UNITNAME_MATCH

Description: Matches JCL Unit Name with a List of Names

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to determine whether at least one of a list of unit names is coded on the DD statement that is being analyzed.

$JCL_UNITNAME_MATCH  name
(unitname-list)

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

unitname-list

A list of unit names, patterns, %patids, and/or tables separated by commas.

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used only in the Definition Section of DAL.

See Also: $JCL_CODED and $UNITNAME.

$JCL_UNITNAME_TMMAP

Description: TM Unit Mapping in Effect

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if ThruPut Manager unit name mapping is in effect. It indicates that at least one unit name coded in the job has been mapped to another unit name for Job Analysis purposes. Unit name mapping is provided by either the TM UNIT initialization statement or the TM UNIT operator command.

$JCL_UNITNAME_TMMAP(NO | YES)

NO

Returns a value of TRUE when TM unit name mapping is not in effect.

YES

Returns a value of TRUE when TM unit name mapping is in effect.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$JCL_VOLSER

Description: Indicates If Volume Serial Is Coded

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if a volume serial number is coded in JCL for the DD statement being processed. It tests whether at least one hard-coded volume serial number is present.

$JCL_VOLSER(YES | NO)

NO

Returns a value of TRUE when a volume serial number was not coded.

YES

Returns a value of TRUE when a volume serial number was coded.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$JECL_verb

Description: Indicates if a JECL Statement is Coded.

Type: Logic Descriptor.

Maximum Value: Not applicable.

This Logic Descriptor allows you to determine if the specific JECL statement is included in the JCL.

$JECL_verb(YES | NO)

YES

Returns a value of TRUE when a specified JECL statement was included.

NO

Returns a value of TRUE when a when a specified JECL statement was not included.

Usage:

These descriptors can be used in EVALUATE definition statements and DAL Logic statements, and also as an inserts in message definition statements.

$JECL Descriptor

JECL Statement

$JECL_CA7(YES|NO)

//* CA-7

$JECL_AFTER(YES|NO)

//*+AFTER

$JECL_BEFORE(YES|NO)

//*+BEFORE

$JECL_CNTL(YES|NO)

//*+CNTL

$JECL_DAL(YES|NO)

//*+DAL

$JECL_DAL_TRACE(YES|NO)

//*+DAL TRACE

$JECL_DBS(YES|NO)

//*+DBS

$JECL_DBS_RESERVE(YES|NO)

//*+DBS RESERVE

$JECL_DBS_SET(YES|NO)

//*+DBS SET

$JECL_DCS(YES|NO)

//*+DCS

$JECL_DCS_ALERT(YES|NO)

//*+DCS ALERT

$JECL_DCS_ALERTF1(YES|NO)

//*+DCS ALERTF1

$JECL_DCS_ALERTF2(YES|NO)

//*+DCS ALERTF2

$JECL_DCS_ALERTH1(YES|NO)

//*+DCS ALERTH1

$JECL_DCS_ALERTH2(YES|NO)

//*+DCS ALERTH2

$JECL_DCS_DF_GROUP(YES|NO)

//*+DCS DF_GROUP

$JECL_DCS_FORDSN(YES|NO)

//*+DCS FORDSN

$JECL_DCS_NAG(YES|NO)

//*+DCS NAG

$JECL_DCS_NAGTEXT(YES|NO)

//*+DCS NAGTEXT

$JECL_DCS_REPO(YES|NO)

//*+DCS REPO

$JECL_DCS_SERVICE(YES|NO)

//*+DCS SERVICE

$JECL_DJC(YES|NO)

//*+DJC

$JECL_DJC_ANDIF(YES|NO)

//*+DJC ANDIF

$JECL_DJC_CONDIF(YES|NO)

//*+DJC CONDIF

$JECL_DJC_FLUSHIF(YES|NO)

//*+DJC FLUSHIF

$JECL_DJC_MESSAGE(YES|NO

//*+DJC MESSAGE

$JECL_DJC_RUNIF(YES|NO)

//*+DJC RUNIF

$JECL_DJC_SIGNAL(YES|NO)

//*+DJC SIGNAL

$JECL_JAL(YES|NO)

//*+JAL

$JECL_JAL_TRACE(YES|NO)

//*+JAL TRACE

$JECL_JBS(YES|NO)

//*+JBS

$JECL_JBS_ACTIVATE(YES|NO)

//*+JBS ACTIVATE

$JECL_JBS_BIND(YES|NO)

//*+JBS BIND

$JECL_JBS_DEACTIVATE(YES|NO)

//*+JBS DEACTIVATE

$JECL_JBS_NEEDS(YES|NO)

//*+JBS NEEDS

$JECL_JBS_SET(YES|NO)

//*+JBS SET

$JECL_JCS(YES|NO)

//*+JCS

$JECL_JCS_AFTER(YES|NO)

//*+JCS AFTER

$JECL_JCS_BATCH(YES|NO)

//*+JCS BATCH

$JECL_JCS_BEFORE(YES|NO)

//*+JCS BEFORE

$JECL_JCS_WITH(YES|NO)

//*+JCS WITH

$JECL_JLS(YES|NO)

//*+JLS

$JECL_JLS_ENQ(YES|NO)

//*+JLS ENQ

$JECL_JLS_LIMIT(YES|NO)

//*+JLS LIMIT

$JECL_JSS(YES|NO)

//*+JSS

$JECL_JSS_PREVENT(YES|NO)

//*+JSS PREVENT

$JECL_JSS_SERVICE(YES|NO)

//*+JSS SERVICE

$JECL_JTS(YES|NO)

//*+JTS

$JECL_JTS_HOLD_UNTIL(YES|NO)

//*+JTS HOLD_UNTIL

$JECL_JTS_RELEASE(YES|NO)

//*+JTS RELEASE

$JECL_MHS_USER(YES|NO)

//*+MHS_USER

$JECL_MHS_USER_HOLD(YES|NO)

//*+MHS_USER HOLD

$JECL_PCS(YES|NO)

//*+PCS

$JECL_SLM(YES|NO)

//*+SLM

$JECL_SLM_SERVICE(YES|NO)

//*+SLM SERVICE

$JECL_TM(YES|NO)

//*+TM

$JECL_TM_CAPTURE(YES|NO)

//*+TM CAPTURE

$JECL_TM_EXEMPT(YES|NO)

//*+TM EXEMPT

$JECL_TM_MESSAGE(YES|NO)

//*+TM MESSAGE

$JECL_TM_TRACE(YES|NO)

//*+TM TRACE

$JECL_WITH(YES|NO)

//*+WITH

$JECL_DATASET(YES|NO)

//*DATASET

$JECL_FORMAT(YES|NO)

//*FORMAT

$JECL_MAIN(YES|NO)

//*MAIN

$JECL_NET(YES|NO)

//*NET

$JECL_NETACCT(YES|NO)

//*NETACCT

$JECL_OPERATOR(YES|NO)

//*OPERATOR

$JECL_PROCESS(YES|NO)

//*PROCESS

$JECL_ROUTE(YES|NO)

//*ROUTE

$JECL_ZEKE(YES|NO)

//*ZEKECTL

JLS ADD LIMIT

TM ONLY

Description: Associates Job with a Limiting Agent.

Type: Action statement.

This action statement allows you to associate a job with a Limiting Agent.

JLS ADD LIMIT(limitdef-id[(weight[,DRAIN])])

LIMIT(limitdef-id[(weight[,DRAIN])])

This keyword indicates that you want to associate a Limiting Agent with the job.

For each invocation of DAL you can have up to 24 Limiting Agents. That is, you can execute up to 24 JLS ADD LIMIT statements without an intervening JLS DELETE LIMIT statement.

limitdef-id

The name-id of a JLS_LIMITDEF statement that defines a Limiting Agent.

weight

This can be expressed either as:

  A numerical value from 1 to 999.

  Any Range Descriptor.(For example, $USERN1)

If a job is given a weight of n, it counts as if n jobs were executing. The default value is 1.

DRAIN

This subparameter indicates that once this job reaches the top of the execution queue, other jobs associated with this Limiting Agent are to be held until this job is initiated.

Examples:

JLS_LIMITDEF GROUPA LEVEL1('DEVA') LEVEL2($RACFU) LIMIT(3)
...
JLS ADD LIMIT(GROUPA)
...

In this example a Limiting Agent with a limit value of 3 is associated with the job.

JLS_LIMITDEF GROUPB LEVEL1('DEVB') LEVEL2($RACFU) LIMIT(5)
...
JLS ADD LIMIT(GROUPB(3,DRAIN))
...

In this example, a Limiting Agent with a limit value of 5 is associated with the job. The job is to be treated as though one job were executing for each unit used by the DD statement, and is important enough to delay other jobs once it reaches the head of the execution queue.

See Also: JLS DELETE LIMIT, JLS REPLACE LIMIT, JLS_LIMITDEF, $JXJLANY, and $JXJLMAX.

Notes:

You can determine if you have executed any JLS ADD LIMIT for this job by testing the logic variable $JXJLANY.

You can determine if you can add more requests by testing the logic variable $JXJLMAX. If this variable is TRUE, you have reached the maximum.

The DRAIN subparameter should be used with care, since assigning it to multiple jobs diminishes its effect.

JLS DELETE LIMIT

TM ONLY

Description: Deletes Limit Association

Type: Action statement.

This action statement removes a previously associated Limiting Agent.

JLS DELETE [LIMIT | ALL_LIMITS]

LIMIT

This keyword indicates that the association with a Limiting Agent previously created with a JLS ADD LIMIT statement be removed.

ALL_LIMITS

This keyword indicates that you want to delete all existing Limiting Agent associations that have not been added through JECL.

See Also: JLS ADD LIMIT, JLS REPLACE LIMIT, JLS_LIMITDEF, $JXJLANY, and $JXJLMAX.

Notes:

This facility covers situations where your main logic has a JLS ADD LIMIT request that you want to eliminate in your "exception conditions" logic.

If no JLS ADD LIMIT request has been previously executed, this statement is ignored.

JLS REPLACE LIMIT

TM ONLY

Description: Replaces a previous JLS ADD LIMIT request

Type: Action statement.

This action statement allows you to replace the last previously executed JLS ADD LIMIT request for the job.

JLS REPLACE LIMIT(limitdef-id[(weight[,DRAIN])])

LIMIT(limitdef-id[(weight[,DRAIN)])

This keyword indicates that the last previously executed JLS ADD LIMIT request is to be replaced with a new request.

If no JLS ADD LIMIT statement has been executed, this statement is treated as the first JLS ADD LIMIT statement.

limitdef-id

The name-id of a JLS_LIMITDEF statement defining the Limiting Agent.

weight

This can be expressed either as:

  A numerical value from 1 to 999

  A numerical Descriptor such as $USERN1.

If a job is given a weight of n, it counts as if n jobs were executing. The default value is 1.

DRAIN

This subparameter indicates that once this job reaches the top of the execution queue, other jobs associated with this Limiting Agent are to be held until this job is initiated.

Examples:

JLS REPLACE LIMIT(GROUP1)
JLS REPLACE LIMIT(GROUP2(3,DRAIN))

See Also: JLS ADD LIMIT, JLS DELETE LIMIT, JLS_LIMITDEF, $JXJLANY, and $JXJLMAX.

Notes:

Normally used with exception conditions logic, where your main logic has a JLS ADD LIMIT request that you want to replace under certain conditions.

The DRAIN subparameter should be used with care, since assigning it to multiple jobs diminishes its effect.

$JLS_LIMIT

TM ONLY

Description: Job Limiting Services LIMIT Reference

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor lets you determine whether or not there is a JLS LIMIT statement for a particular Limiting Agent in JECL statements. It also allows you to test whether the specified Agent is the only Agent accessed.

$JLS_LIMIT name AGENT(pattern | %patid | table-id) [ONLY]

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

AGENT(pattern | %patid | table-id)

Indicates that a search pattern for a Limiting Agent follows.

pattern

A search pattern for a Limiting Agent. The name can only be two levels. This pattern must be 1 to 17 characters and conform to the rules described in the section "Pattern Matching for Binding Agent Names" in "Section. Elements of Action Languages Elements of Action Languages" in the DAL/JAL User Guide.

%patid

The name of a pattern constructed with a PATTERNDEF statement.

table-id

Identifies a specific table and indicates how it is to be searched. For a description of table support, see to "Section. DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

ONLY

Allows you to test whether the Limiting Agents specified are the only ones being accessed.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Examples:

$JLS_LIMIT IMS AGENT(IMS.*)
$JLS_LIMIT BILL_OF_MATERIALS AGENT($TABLE3(BMPAGNTS))

See Also: $JLS_LIMIT#.

Notes:

If ONLY is specified together with a pattern for the AGENT keyword, the Property Name is assigned a TRUE value only if all Limiting Agents found match the pattern.

$JLS_LIMIT#

TM ONLY

Description: Number of JLS LIMIT JECL Statements

Type: Range Definition Descriptor.

Maximum Value: 99 expressed in number of JLS LIMIT JECL statements.

This Descriptor represents the number of JECL JLS LIMIT statements present in a job.

$JLS_LIMIT#    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JLS_LIMIT# NO_LIMITS,1,SOME_LIMITS

See Also: $JLS_LIMIT.

JLS_LIMITDEF

TM ONLY

Description: Defines Limiting Agents

Type: Definition statement.

Maximum Value: Not applicable.

This statement allows you to define the name and characteristics of a Limiting Agent.

JLS_LIMITDEF name-id LEVEL1(first-level-name)
                    [LEVEL2(second-level-name)]
                    LIMIT(nnn | $USERNnn)
                    [PANEL(panelid)]

name-id

Can be 1-24 alphabetic, numeric, national (#, @, $), or underscore (_) characters, the first of which must be alphabetic or national. Note that the first character cannot be a $.

The name-id is used in the JLS ADD LIMIT and JLS REPLACE LIMIT statements to indicate the Limiting Agent:

JLS ADD LIMIT(name-id)

The name-id must be unique.

LEVEL1(first-level-name)

Indicates that a level one name for the Limiting Agent is provided. Can be 1-8 alphabetic, numeric, national (#, @, $), or underscore (_) characters. Note that the first character of the fully constructed level name can be a numeric value but it cannot be a $. If the first character of the name is a plus sign (+), the scope of the Agent is restricted to a single system. See to the section "Job-Limiting-Service-function" in the System Programming Guide: TM/JBS Component.

first-level-name

The name can be constructed using one of the following techniques:

  A hard coded string, enclosed in apostrophes, such as 'SETUP'.

  A request to create the name dynamically from a character Descriptor. For example:

JLS_LIMITDEF DEVELOP LEVEL1($RACFU) ...

  A request to create the name dynamically from a portion of a Descriptor using the substring function. The format for this built-in function call is:

LEVEL1(Descriptor,length,[starting position])

An example:

JLS_LIMITDEF DEVELOP LEVEL1($RACFU,5) ...

The first level of the Agent name is constructed from the first 5 characters of the RACFU field.

The substring function call follows the rules discussed in "Section. Character-string-facilities-tutorial" in the DAL/JAL User Guide, with some additional restrictions:

- If the substring contains all blanks, an error occurs since no name can be constructed.

- If the substring contains embedded blanks, an error occurs since otherwise an invalid Agent name would be created.

- If the length exceeds 8, the string is truncated and a warning message is issued.

  One of the JAL execution time string variables created with STRINGDEF. For example:

JLS_LIMITDEF DEVELOP LEVEL1(%FLNAME) ...

LEVEL2(second-level-name)

Indicates that a level two name for the Limiting Agent is provided. This keyword is optional.

second-level-name

The same options as documented above for first-level-name

LIMIT(nnn | $USERNnn)

This keyword is used to indicate the limit to be placed for the selection of jobs that are associated with this Limiting Agent. It represents the maximum number of jobs in the MAS complex that can be executing concurrently.

nnn | $USERNnn

A numerical value from 1-999, such as LIMIT(10), or a numeric user variable, $USERNnn.

PANEL(panelid)

Allows you to add the identifier for an ISPF panel that can be invoked to display installationdefined information when using the UDF facility.

panelid

Is a valid ISPF panel identifier.

Examples:

JLS_LIMITDEF DEVELOP LEVEL1('DEVJOBS') LEVEL2($XEQCLASS) LIMIT(1)
...
JLS ADD LIMIT(DEVELOP)

This statement allows you to limit the concurrent execution of jobs to only one per different execution class.

JLS_LIMITDEF BACKUP LEVEL1('BACKUP') LEVEL2('DASD') LIMIT(1)
...
JLS ADD LIMIT(BACKUP)

In this case you do not want more than one backup job at a time.

JLS_LIMITDEF LIMITG1 LEVEL1('GROUP1') LEVEL2($ACCT,3) LIMIT(2)

In this case the first three characters of the account field are chosen to form the second level for the Limiting Agent name. The JLS ADD LIMIT statements associates this job with two Limiting Agents.

...
JLS ADD LIMIT(BACKUP) 
JLS ADD LIMIT(LIMITG1)
...

See Also: JLS ADD LIMIT, JLS DELETE LIMIT, JLS REPLACE LIMIT, $JXJLANY, and $JXJLMAX.

$JOBCPU

Description: CPU Time From JOB Statement

Type: Range Definition Descriptor.

Maximum Value: 357912:00 minutes.

This Descriptor represents the amount of CPU time specified in the TIME= parameter on the JOB statement.

$JOBCPU   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified as mmmmmm:ss, where:

  mmmmmm ranges from 0 to 357912. It represents minutes.

  ss ranges from 0 to 59. It represents seconds.

The value mmmmmm can be specified without seconds but ss must be preceded by mmmmmm (e.g., 30 seconds is specified as 0:30).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JOBCPU NO_CPU,0:01,JOB_TIME

Notes:

If TIME= was not specified, the value is 0.

$JOBID

Description: JES2 Job Identifier

Type: Display Variable.

Maximum Length: 8 characters.

This is an execution time Display Variable. It allows you to display the JES2 job identifier:

 For jobs with five digits or less, this variable displays JOBnnnnn.

 For jobs with six digits or more, this variable displays Jnnnnnnn.

$JOBID

$JOBID

Is a valid insert in a MSGDEF statement. It prints the JES2 job identifier.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $JOBNUMBER.

$JOBNAME | $JOBN

Description: Jobname From The JOB Statement

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the jobname from the JOB statement.

$JOBNAME(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$JOBNAME(JOB1234)
$JOBN(PAYROLL)
$JOBNAME($TABLE3(JOBNAMES))

$JOBNUMBER | $JOBNUM

Description: JES2 Job Number

Type: Display Variable.

Maximum Length: 5 characters.

This is an execution time Display Variable. It allows you to display the JES2 job number.

$JOBNUMBER
$JOBNUM

$JOBNUMBER

Is a valid insert in a MSGDEF statement. This prints the JES2 job number.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $JOBID.

$JOB_PERFORM

Description: Performance Group from JOB Statement

Type: Range Definition Descriptor.

Maximum Value: 999.

This Descriptor returns a number in the range 1-999, representing the value coded for the PERFORM= keyword on the JOB statement.

$JOB_PERFORM   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

See Also: $PERFORM.

JSS ALLOW

TM ONLY

Description: Allow Override of IEFBR14 Bypass

Type: Action statement.

The ThruPut Manager JSS SET initialization statement allows an installation to bypass allocation processing in IEFBR14-type steps:

 HSM recalls for data sets with a primary disposition of DELETE.

 Tape data sets.

This Action statement overrides the specified bypass(es).

JSS ALLOW [HSM_RECALLS] [TAPE_ALLOCATION]
or
JSS ALLOW RESET

HSM_RECALLS

Requests that HSM processing be allowed for this step.

TAPE_ALLOCATION

Requests that tape allocation processing be allowed for this step.

RESET

Undoes the effect of a previous JSS ALLOW statement. If no JSS ALLOW statement has been encountered, the RESET is ignored.

See Also: $JSS_BYPASS_RECALLS and $JSS_BYPASS_TAPE_ALLOC.

$JSS_BYPASS_RECALLS

TM ONLY

Description: Test for Override of HSM Recall Bypassing

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if a request has already been made by a JSS ALLOW statement to allow the step to override the JSS SET initialization statement for HSM recalls for data sets with a primary disposition of DELETE.

$JSS_BYPASS_RECALLS(NO | YES)

NO

A value of TRUE is returned if a JSS ALLOW HSM_RECALLS statement has not been executed.

YES

A value of TRUE is returned if a JSS ALLOW HSM_RECALLS statement has been executed.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: JSS ALLOW.

$JSS_BYPASS_TAPE_ALLOC

TM ONLY

Description: Test for Override of Tape Allocation Bypassing

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if a request has already been made by a JSS ALLOW statement to allow the step to override the JSS SET initialization statement for tape allocation.

$JSS_BYPASS_TAPE_ALLOC(NO | YES)

This function call returns a TRUE/FALSE value depending on whether or not a JSS ALLOW TAPE_ ALLOCATION statement has been executed.

NO

A value of TRUE is returned if a JSS ALLOW HSM_TAPE_ALLOC statement has not been executed.

YES

A value of TRUE is returned if a JSS ALLOW HSM_TAPE_ALLOC statement has been executed.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: JSS ALLOW.

JSS IGNORE

Description: Ignore Resource Requirements

Type: Action statement.

This statement nullifies the resource counts for the DD statement being examined, effectively causing it to be treated as a DD DUMMY.

JSS IGNORE [RESOURCES | RESET]

RESOURCES

Indicates that the resource counts for this DD statement are to be ignored. This keyword is mutually exclusive with RESET.

RESET

Undoes the effect of a previously executed JSS IGNORE statement. This keyword is mutually exclusive with RESOURCES.

Notes:

If more than one JSS IGNORE statement is specified, the last one encountered takes effect.

JSS INCREMENT

Description: Increment Tape Device Resource Requirements

Type: Action statement.

This statement increments the count of devices of a particular type that a job requires, allowing you to account for dynamic allocations. Normally, you would use this statement in TM DAL, since there is no invocation of DAL for a dynamic allocation.

JSS INCREMENT [3480(nnn)]
             [3480V(nnn)]
             [3490(nnn)]
             [3490V(nnn)]
             [3590-1(nnn)]

3480(nnn)

3480V(nnn)
3490(nnn)
3490V(nnn)
3590-1(nnn)

Indicates the type of device for which the resource count is to be incremented.

nnn

Is a number from 1-255, specifying how many units are to be added to the resource count.

Examples:

JSS INCREMENT 3480(2)

This statement increases the resource count by two for $UNIT_3480_ALL and the DBS Drive Pool for 3480 devices.

Notes:

This statement affects the ThruPut Manager base unit counts ($UNIT_devicetype_ALL) for the type of device specified. See the example.

JSS RECALL

Description: Request DFSMShsm Recall.

Type: Action statement.

Specifies whether ThruPut Manager can initiate recalls for a data set that has been migrated to archival storage by DFSMShsm. This statement is ignored if the DD statement does not see to a migrated data set.

JSS RECALL YES | DASD | TAPE | MAX_WAIT(nnn)]
  or
JSS RECALL NO

RECALL

Indicates that if there is any DFSMShsm migrated data set, a DFSMShsm recall is to be initiated.

NO

Indicates that no DFSMShsm recall is to be initiated. This keyword is mutually exclusive with YES, DASD, TAPE, and MAX_WAIT.

YES

Specifies that a DFSMShsm recall is to be initiated for a migrated data set, regardless of data set location. This keyword is mutually exclusive with NO, DASD, and TAPE.

DASD

Specifies that a DFSMShsm recall is to be initiated only for a data set whose catalog entry indicates that it has been migrated to DASD. This keyword is mutually exclusive with NO, YES, and TAPE.

TAPE

Specifies that a DFSMShsm recall is to be initiated only for a data set whose catalog entry indicates that it has been migrated to tape. This keyword is mutually exclusive with NO, YES, and DASD.

mmm

A number from the range 1-999, indicating how many minutes to delay before automatically releasing the job.

MAX_WAIT(nnn)

Indicates that the job is to be placed in JSS hold, DFSMShsm category. The job will be removed from this hold category automatically when the required data set has been recalled, or after the specified time has expired regardless of whether the data set recall has completed. This keyword is mutually exclusive with NO.

NOTE: If request is also issued by JAL, the higher MAX_WAIT time will be used.

nnn

A number from the range 1-999, indicating the maximum number of minutes to wait before automatically releasing the job.

Notes:

The recall request can be reset at any time during the execution of the DAL. When DAL processing is completed, the value from the last JSS RECALL statement executed is used.

If no JSS RECALL statement is executed, the default is 'NO', that is, no DFSMShsm recalls are initiated.

If MAX_WAIT has not been specified, asynchronous DFSMShsm recalls are issued (the job will not be held).

JSS STAGE

Description: Requests Staging for Virtual Volumes

Type: Action Statement.

This statement requests that virtual volumes be staged.

JSS STAGE [ALL(YES |NO) IBM(YES | NO) STORAGETEK(YES | NO) VTAPE(YES | NO)]
          MAX_HOLD(nnn)

ALL(YES | NO)

Indicates that this staging request applies to virtual volumes for all vendors. This keyword is mutually exclusive with the IBM, STORAGETEK, and VTAPE keywords.

IBM(YES | NO)

Indicates that this staging request applies to IBM virtual volumes. This keyword is mutually exclusive with the ALL, STORAGETEK, and VTAPE keywords.

STORAGETEK(YES | NO)

Indicates that this staging request applies to Sun/StorageTek virtual volumes. This keyword is mutually exclusive with the ALL, IBM, and VTAPE keywords.

VTAPE(YES | NO)

Indicates that this staging request applies to CA-Vtape virtual volumes. This keyword is mutually exclusive with the ALL, IBM, and STORAGETEK keywords.

For all keywords above:

YES

Requests staging for all the vendor's virtual volumes that need to be staged.

NO

Requests that none of the vendor's virtual volumes be staged. This can be used to undo the effect of a previous JSS STAGE statement.

MAX_HOLD(nnn)

Indicates the maximum time that the job will be held by JSS for VVS. If staging is complete before this time, the job is released early. This is a required keyword.

NOTE: If request is also issued by JAL, the higher MAX_HOLD time will be used.

(nnn)

Number of minutes from 1 to 999.

$JTS_DATE

UCS ONLY

Description: JTS "Hold Until" Date

Type: Range Definition Descriptor.

Maximum Value: 9999/366 expressed as year/Julian date.

This Descriptor represents the JTS "hold until" date specified for the job.

$JTS_DATE   [0,]name1,yyyy2/ddd2,name2[,...,yyyyN/dddN,nameN]

yyyy/ddd

The starting point of a segment. The first starting point must be 0, but can be omitted if desired. Starting points are specified as dates as follows:

yyyy

The year.

ddd

The Julian date, including leading zeros.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JTS_DATE    NO_JTS_DATE,2000/001,$,2000/091,APRIL,2000/121,$

See Also: $JTS_TIME.

Notes:

If the job does not contain a JTS JECL statement, this Descriptor returns a zero value (0000/000).

$JTS_TIME

UCS ONLY

Description: JTS "Hold Until" Time

Type: Range Definition Descriptor.

Maximum Value: 23:59 expressed as hours:minutes.

This Descriptor represents the JTS "hold until" time specified for the job.

$JTS_TIME   [0,]name1,hh2:mm2,name2[,...,hhN:mmN,nameN]

hh:mm

The starting point of a segment. The first starting point must be 0, but can be omitted if desired. Starting points are specified as dates as follows:

hh

The hour, using the 24 hour clock.

mm

The minute (0-59).

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$JTS_TIME NO_JTS_TIME,00:01,OVERNIGHT,08:00,DAY,16:00,EVENING

See Also: $JTS_DATE.

Notes:

If the job does not contain a JTS JECL statement, this Descriptor returns a zero value.

$JXFAIL

Description: Test for Job Fail Request

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if a request has already been made by a DAL RETURN statement to fail the job at the end of JAL processing.

$JXFAIL(NO | YES)

NO

A value of TRUE is returned if DAL has not requested that the job be failed.

YES

A value of TRUE is returned if DAL has requested that the job be failed.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$JXJBANY

TM ONLY

Description: JBS ADD BIND Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if at least one JBS ADD BIND statement has been executed without an intervening JBS DELETE BIND statement.

$JXJBANY(NO | YES)

NO

If $JXJBANY returns a TRUE value, no JBS ADD BIND is active.

YES

If $JXJBANY returns a TRUE value, at least one JBS ADD BIND is active.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($JXJBANY(YES))
   ...

See Also: JBS ADD BIND, JBS DELETE BIND, JBS REPLACE BIND, and $JXJBMAX.

$JXJBMAX

TM ONLY

Description: Maximum JBS ADD BIND Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if you have reached the maximum number of JBS ADD BIND requests allowed in this invocation of DAL. The number is 24.

$JXJBMAX(NO | YES)

NO

If $JXJBMAX returns a TRUE value, you can make at least one more JBS ADD BIND request.

YES

If $JXJBMAX returns a TRUE value, there are 24 JBS ADD BIND requests active for this DAL. You cannot make additional successful JBS ADD BIND requests.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($JXJBMAX(YES))
   JBS DELETE BIND
   ...

See Also: JBS ADD BIND, JBS DELETE BIND, JBS REPLACE BIND, and $JXJBANY.

$JXJLANY

TM ONLY

Description: JLS ADD LIMIT Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if, at least, one JLS ADD LIMIT statement has been executed without an intervening JLS DELETE LIMIT statement.

$JXJLANY(NO | YES)

NO

If $JXJLANY returns a TRUE value, no JLS ADD LIMIT is active.

YES

If $JXJLANY returns a TRUE value, at least one JLS ADD LIMIT is active.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($JXJLANY(YES))
   ...

See Also: JLS ADD LIMIT, JLS DELETE LIMIT, JLS REPLACE LIMIT, JLS_LIMITDEF, and $JXJLMAX.

$JXJLMAX

TM ONLY

Description: Maximum JLS ADD LIMIT Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if you have reached the maximum number of JLS ADD LIMIT requests allowed in this invocation of DAL. The number is 24.

$JXJLMAX(NO | YES)

NO

If $JXJLMAX returns a TRUE value, you can make at least one more JLS ADD LIMIT request.

YES

If $JXJLMAX returns a TRUE value, there are 24 JLS ADD LIMIT requests active for this DAL. You cannot make additional successful JBS ADD LIMIT requests.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($JXJLMAX(YES))
   JLS DELETE LIMIT
   ...

See Also: JLS ADD LIMIT, JLS DELETE LIMIT, JLS REPLACE LIMIT, JLS_LIMITDEF, and $JXJLANY.

$JXMHS_HOLD

Description: MHS HOLD Status Indicator

Type: Logic Variable.

Maximum Length: Not applicable.

This Logic Variable allows you to determine if at least one MHS ADD statement has been executed without an intervening MHS DELETE statement.

$JXMHS_HOLD(NO | YES)

NO

If $JXMHS_HOLD returns a TRUE value, no MHS ADD has been applied to the job.

YES

If $JXMHS_HOLD returns a TRUE value, at least one MHS ADD has been applied to the job.

Usage:

This Variable can be used in DAL Logic statements, and also as an insert in message definition statements.

See Also: MHS ADD, MHS REPLACE, and MHS DELETE.

$JXVTAPE

Description: Display VTAPE Setting

Type: Display Variable.

Maximum Value: 3 characters.

This is a DAL execution time Display Variable. It allows you to display the value set by a previous VTAPE SET statement.

$JXVTAPE

This is a valid insert in a MSGDEF statement.

If no VTAPE SET statement has been executed, or a VTAPE SET VIRTUAL(NO) statement has been executed, 'NO' is printed.

If VTAPE SET VIRTUAL(YES) was specified, 'YES' is printed.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: VTAPE SET.

$LAST_DAY_OF_MONTH

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether or not today is the last day of a month.

$LAST_DAY_OF_MONTH(YES | NO)

This descriptor l returns a TRUE/FALSE value depending on whether today is the last day of a month.

YES

Today is the last day of the month.

NO

Today is not the last day of the month.

Usage:

This Variable can be used in DAL Logic statements.

Examples:

$LAST_DAY_OF_MONTH(YES)

$LINES

Description: Output Lines

Type: Range Definition Descriptor.

Maximum Value: 999999 expressed in thousands of lines.

This Descriptor represents the estimated number of output lines.

$LINES   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in thousands of lines as 1-6 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$LINES   FEW_LINES,1000,MANY_LINES

See Also: $BYTES, $CARDS, and $PAGES.

$MEMBER

Description: PDS Member Name

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the member name from the DD statement being analyzed.

$MEMBER($BLANK | pattern | %patid | table-id)

$BLANK

Allows you to test for an "all blanks" condition. See Notes below.

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$MEMBER(???PARMS)
$MEMBER($TABLE2(MEMBERS))

See Also: $BLANK.

Notes:

If no member name was coded, this Descriptor returns blanks. You can test for this condition by using the reserved word $BLANK. Note that the absence of a member name is not a reliable means of determining that the data set is not a PDS.

$MEMLIMIT

Description: Limit for Number of Usable Virtual Pages Above the Bar

Type: Range Definition Descriptor.

Maximum Value: 99999999999999 megabytes.

This Descriptor represents the limit on the number of usable virtual pages above the bar specified by the MEMLIMIT keyword on the EXEC statement in a z/Architecture environment.

$MEMLIMIT   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$MEMLIMIT NONE_ABOVE,1,MEMLIMIT

Notes:

Although the MEMLIMIT keyword allows the user to code a value in megabytes, gigabytes, terabytes, or petabytes, the value returned by $MEMLIMIT is always in megabytes.

When $MEMLIMIT range descriptor is used to display the current MEMLIMIT value, it will be displayed as nnnnnx where x is: M, G, T or P.

MHS ADD

Description: Add MHS_JAL Hold to a Job

Type: Action statement.

This statement allows you to place a job in MHS_JAL hold, optionally including a note.

MHS ADD HOLD(identifier | %stringid) NOTES(notes | %stringid)

HOLD(identifier)

Indicates that you want to place the job in MHS_JAL hold.

identifier

Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.

%stringid

Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

NOTES(notes)

Specifies additional information that can be displayed.

notes

A string of 1-200 characters of additional information. If special characters are used, the string must be enclosed in quotes.

%stringid

As above.

See Also: $JXMHS_HOLD, MHS DELETE and MHS REPLACE.

MHS DELETE

Description: Remove MHS_JAL Hold from a Job

Type: Action statement.

This statement allows you to remove from the job a previously added or replaced MHS_JAL hold.

MHS DELETE HOLD(identifier | %stringid) | ALL_HOLDS

HOLD(identifier | %stringid)

Indicates that you want to remove the MHS_JAL hold.

identifier

Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.

%stringid

Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

ALL_HOLDS

Indicates that you want to remove all MHS HOLDs that have been applied to the job.

See Also: $JXMHS_HOLD, MHS ADD and MHS REPLACE.

Notes:

This facility covers situations where in your main logic you might MHS ADD or MHS REPLACE an MHS HOLD request that in your "exception conditions" logic you might want to eliminate.

If no MHS ADD or MHS REPLACE request has been previously executed, this statement is ignored.


MHS REPLACE

Description: Replace MHS_JAL Hold for a Job

Type: Action statement.

This statement allows you to replace a previously added MHS_JAL hold, optionally including a note.

MHS REPLACE HOLD(identifier | %stringid) NOTES(notes | %stringid)

HOLD(identifier | %stringid)

Indicates that you want to replace the MHS_JAL hold for this job.

identifier

Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.

%stringid

Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

NOTES(notes | %stringid)

Specifies additional information that can be displayed.

notes

A string of 1-16 characters of additional information. If special characters are used, the string must be enclosed in quotes.

%stringid

As above.

See Also: $JXMHS_HOLD, MHS ADD and MHS DELETE.

$MHS_USER_HOLD#

Description: Number of /*MHS_USER HOLD JECL Statements

Type: Range Definition Descriptor.

Maximum Value: 24 statements.

This Descriptor represents the number of /*MHS_USER HOLD JECL statements found in the job stream.

$MHS_USER_HOLD#   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$MHS_USER_HOLD# NO_USER_HOLD,1,USER_HOLD,2,USER_HOLDS

MODELDEF

Description: Message Definition

Type: Definition statement.

Maximum Length: Messages exceeding 121 characters are truncated.

This statement allows you to define a model message with inserts that allow the message to be used repetitively. You can define a message that combines your text with any Descriptor or Property.

MODELDEF name (message) CONSOLE_UCM(ucm) [DESC(desc-list)]
or
MODELDEF name (message) CONSOLE_NAME(console) [DESC(desc-list)]
or
MODELDEF name (message) ROUTCDE(routecde-list) [DESC(desc-list)]

name

A name used as the message identifier, consisting of 1-24 alphabetic, numeric, national (#, @, $), or underscore characters. The first character cannot be a dollar sign ($) or underscore (_). This operand is positional and required.

message

The text of the message, using the form:

[(COL,n,align)],variable | 'hard-coded-text',[(COL,n,align)]...

The message can consist of a combination of text and Job Descriptors and Properties, in any order. Text is enclosed in apostrophes ('). To code an apostrophe, two consecutive apostrophes must be used. Each portion of the message is separated from the others by commas.

(COL,n,align)

This is an optional text definition construct that indicates you want column alignment.

COL

This must be coded as shown.

n

Specifies the reference column, and can be a value from 1 to 60.

align

Specifies the desired alignment, and must be one of:

- L, indicating left alignment.

- R, indicating right alignment.  

The considerations for data alignment are:

- For left-aligned data, the column number represents the first column for the first character of data, and subsequent characters are inserted on the left, i. e. in ascending column order.

- For right-aligned data, the column number represents the last column for the last character of data, and subsequent characters are inserted on the right, i. e. in descending column order.

- If you miscalculate and some of your data is overlaid, it might help you solve your problem if you remember that alignment is performed element by element from left to right.

variable | 'hard-coded-text'

A description of the text to be displayed. For variable, this can be any Job Descriptor or Job Property. 'hard-coded text' can be any text. After any substitution required for the variable text is resolved, the maximum length must not exceed the limit allowed. This includes the "blanks" that have to be inserted to satisfy the alignment. Data lines longer than the maximum length are truncated.

The basic rules when building a line of text are:

- Separate each element with commas.

- Include text within apostrophes ('). To code an apostrophe in the text to be displayed, you must use two consecutive apostrophes.

- When formatting text lines, also keep the following in mind:

    - To separate Job Descriptors and Job Properties from your text, you must insert padding blanks.

   - Character string Job Descriptors are left-justified, stripped of trailing blanks.

    - Job Properties and Logic Variables print 'T' for TRUE and 'F' for FALSE.

    - For the values displayed for Display Variables (variables with a name starting with $JX) see to the description for the variable.

    - EVENT Switches display as 'ON' and 'OFF'.

   - Numeric Job Descriptors are right-justified, stripped of leading zeros.

    - For numeric Descriptors, the inserted value is in the units normally used for that Job Descriptor. For example, CPU time is shown in minutes and seconds.

   - A value in thousands is shown by the character K.

   - A value in millions is shown by the character M.

- Lines that are longer than the maximum length of 121 characters are truncated.

For a complete discussion of the facilities provided for formatting messages and displays, see to "Section. Defining-and-using-messages-and-displays" in the publication DAL and JAL User Guide.

CONSOLE_NAME(console)

Specifies a valid console name to which the message is written.

This keyword is mutually exclusive with CONSOLE_UCM and ROUTCDE.

console

Is a 2-8 character console name, consisting of alphabetic, national (#, @, $), or numeric characters, the first of which must be alphabetic or national.

CONSOLE_UCM(ucmid)

Indicates UCMID of the console to which the message is written.

This keyword is mutually exclusive with CONSOLE_NAME and ROUTCDE.

ucmid

A decimal number between 0-99 inclusive.

DESC(desc-list)

Indicates the descriptor code of the message.

desc-list

A list of the form (d1[,d2,...,d16]), where dn represents a decimal numbers between 1-16 inclusive.

ROUTCDE(routecde-list)

Indicates the routing code of the message.

This keyword is mutually exclusive with CONSOLE_NAME and CONSOLE_UCM.

routecde-list

A list of the form (rc1[,rc2,...,rc128]) where rcn represents a decimal number between 1-128 inclusive.

$MSGCLASS_OUTCLASS_DUMMY

Description: Dummy Associated with MSGCLASS

Type: Logic Variable.

Maximum Length: 3 characters.

This Descriptor allows you to determine whether the job's MSGCLASS was specified as a dummy class by JES2 initialization.

$MSGCLASS_OUTCLASS_DUMMY(value)

value

Is the value that will cause this Descriptor to be set to TRUE, and can be one of:


NO 
Y
YES

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

EVALUATE MSGCLASS_DUMMY ($MSGCLASS_OUTCLASS_DUMMY(YES))

In this example, if JES2 initialization has specified that the current MSGCLASS is to be treated as a dummy class, the Property MSGCLASS_DUMMY evaluates to TRUE.

$MSGCLASS_OUTDISP_ABNORM

Description: Abnormal Disposition Associated with MSGCLASS

Type: Character string Descriptor.

Maximum Length: 5 characters.

This Descriptor represents the output disposition for abnormal job termination that is associated with the job's MSGCLASS by JES2 initialization.

$MSGCLASS_OUTDISP_ABNORM(disposition)

disposition

Is the disposition that will cause this Descriptor to assume a TRUE value, and can be one of:

HOLD 
KEEP 
LEAVE 
PURGE
WRITE

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

 In JLS_LIMITDEF and JLS_CNTLDEF statements.

Examples:

EVALUATE MSGCLASS_ABNORM_PURGE ($MSGCLASS_OUTDISP_ABNORM(PURGE))

In this example, if JES2 initialization has assigned the current MSGCLASS a disposition of PURGE for jobs that terminate abnormally, the Property MSGCLASS_ABNORM_PURGE evaluates to TRUE.

$MSGCLASS_OUTDISP_NORM

Description: Normal Disposition Associated with MSGCLASS

Type: Character string Descriptor.

Maximum Length: 5 characters.

This Descriptor represents the output disposition for normal job termination that is associated with the job's MSGCLASS by JES2 initialization.

$MSGCLASS_OUTDISP_NORM(disposition)

disposition

Is the disposition that will cause this Descriptor to assume a TRUE value, and can be one of:

HOLD 
KEEP 
LEAVE 
PURGE
WRITE

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

 In JLS_LIMITDEF and JLS_CNTLDEF statements.

Examples:

EVALUATE MSGCLASS_NORM_HOLD ($MSGCLASS_OUTDISP_NORM(HOLD))

In this example, if JES2 initialization has assigned the current MSGCLASS a disposition of HOLD for jobs that terminate normally, the Property MSGCLASS_NORM_HOLD evaluates to TRUE.

MSGDEF | MSG

Description: Message Definitions

Type: Definition statement.

Maximum Length: Messages exceeding 121 characters (60 characters for CA7) are truncated.

DAL provides a way to communicate with either or both of the operations staff and the job submitter. You can define message text that includes any Descriptor or Property combined with your text.

MSGDEF name (message) CA7LTERM(terminal)

MSGDEF name (message) CONSOLE_NAME(console) [DESC(desc-list)] [LOG]

MSGDEF name (message) CONSOLE_UCM(ucmid) [DESC(desc-list)] [LOG]

MSGDEF name (message) ROUTCDE(routecde-list) [DESC(desc-list)] [LOG]

MSGDEF name (message) USERID(userid | %stringid)

name

A name used as the message identifier, consisting of 1 to 24 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The first character cannot be a dollar sign ($) or underscore (_). This operand is positional and required.

To issue the message defined by this statement, use this name with the Communication statements SEND, WTCA7, WTO, and WTU.

message

The text of the message, using the form:

[(COL,n,align)],variable | 'hard-coded-text',[(COL,n,align)]...

The message can consist of a combination of text and Descriptors and Properties, in any order. Text is enclosed in apostrophes ('). To code an apostrophe, two consecutive apostrophes must be used. Each portion of the message is separated from the others by commas.

(COL,n,align)

This is an optional text definition construct that indicates you want column alignment.

COL<

    This must be coded as shown.

n<

    Specifies the reference column, and can be a value from 1 to 60.

align<>

    Specifies the desired alignment, and must be one of:

                        - L, indicating left alignment.

                        - R, indicating right alignment.  

The considerations for data alignment are:

- For left-aligned data, the column number represents the first column for the first character of data, and subsequent characters are inserted on the left, i. e. in ascending column order.

- For right-aligned data, the column number represents the last column for the last character of data, and subsequent characters are inserted on the right, i. e. in descending column order.

- If you miscalculate and some of your data is overlaid, it might help you solve your problem if you remember that alignment is performed element by element from left to right.

variable | 'hard-coded-text'

A description of the text to be displayed. For variable, this can be any Descriptor or Property. 'hard-coded text' can be any text. After any substitution required for the variable text is resolved, the maximum length must not exceed the limit allowed. This includes the "blanks" that have to be inserted to satisfy the alignment. Data lines longer than the maximum length are truncated.

The basic rules when building a line of text are:

- Separate each element with commas.

- Include text within apostrophes ('). To code an apostrophe in the text to be displayed, you must use two consecutive apostrophes.

- When formatting text lines, also keep the following in mind:

    - To separate Descriptors and Properties from your text, you must insert padding blanks.

   - Character string Descriptors are left-justified, stripped of trailing blanks.

    - Properties and Logic Variables print 'T' for TRUE and 'F' for FALSE.

    - For the values displayed for Display Variables (variables with a name starting with $JX) see to the description for the variable.

   - Numeric Descriptors are right-justified, stripped of leading zeros.

    - For numeric Descriptors, the inserted value is in the units normally used for that Descriptor. For example, job CPU time is shown in minutes and seconds.

   - A value in thousands is shown by the character K.

   - A value in millions is shown by the character M.

- Lines that are longer than the maximum length are truncated:

    - For messages issued by WTO and WTU, lines longer than 121 characters including the resolved length of any Descriptors are truncated.

    - For messages issued by WTCA7, lines longer than 60 characters including the resolved length of any Descriptors are truncated. If a message issued by WTCA7 contains commas, parentheses are added automatically for you.

For a complete discussion of the facilities provided for formatting messages and displays, see to "Section. Defining-and-using-messages-and-displays" in the publication DAL and JAL User Guide.

CA7LTERM(terminal)

Indicates a CA7 terminal to which a message is written using WTCA7.

This keyword is mutually exclusive with CONSOLE_NAME, CONSOLE_UCM, and ROUTCDE.

terminal

Is a valid 1 to 8 character CA7 logical terminal name.

CONSOLE_NAME(console)

Specifies a valid console name to which a message is written using WTO.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_UCM, ROUTCDE, and USERID.

If the message is written using WTU, this keyword is ignored.

console

Is a 2-8 character console name, consisting of alphabetic, national (#, @, $), or numeric characters, the first of which must be alphabetic or national.

CONSOLE_UCM(ucmid)

Indicates UCMID of the console to which a message is written using WTO.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_NAME, ROUTCDE, and USERID.

If the message is written using WTU, this keyword is ignored.

ucmid

A decimal number between 0-99 inclusive.

DESC(desc-list)

Indicates the descriptor code of a message written using WTO.

If the message is written using WTU, this keyword is ignored.

desc-list

A list of the form (d1[,d2,...,d16]), where dn is a decimal number between 1-16 inclusive.

LOG

This keyword is applicable only to messages issued with a WTU.

When LOG is coded, the messages appears in the job log.

If LOG is not coded, the default for a WTU is the job's SYSMSGS file.

This keyword is ignored for a WTO.

ROUTCDE(routecde-list)

Indicates the routing code of a message written using WTO.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_NAME, CONSOLE_ UCM, and USERID.

If the message is written using WTU, this keyword is ignored.

routecde-list

A list of the form (rc1[,rc2,...,rc128]) where rcn is a decimal number between 1-128 inclusive.

USERID(userid | %stringid)

Specifies a TSO user ID to which the message is to be sent. If the user is not logged on, the message is received at the next logon.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_NAME, CONSOLE_ UCM, and ROUTCDE.

If the message is not written using SEND, this keyword is ignored.

%stringid

You can specify the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

Examples:

MSGDEF BAD_ACCT_MSG ($ACCT,’ IS AN INVALID ACCOUNT.’) LOG
MSGDEF SAMPLE_MSG   (‘MESSAGE WITH NO INSERTS.’) ROUTCDE(29)
MSG    AUTO_MSG     (‘STEP ‘,$STEPNAME,’ USES ‘,$VOL_AUTO,’ AUTOMATED VOLUMES.’) +
CONSOLE_NAME(LIB)

See Also: SEND, WTCA7, WTO, and WTU.

$NEWDSN

Description: New data set Indicator

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine if the data set being processed is new.

$NEWDSN(NO | YES)

NO

Returns a TRUE value if this is not a NEW data set.

YES

Returns a TRUE value if this is a NEW data set.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$NJEUSER | $NJEU

Description: NJE Userid From JES2 Network Job Header

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the userid in the JES2 network job header.

$NJEUSER(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

If the job was submitted from a virtual machine and forwarded to JES2 through RSCS, this field contains the VM userid.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$NJEUSER(ACCTNG)
$NJEU(ENGNEER)
$NJEU($TABLE1(USERS))

$NOTIFY

Description: NOTIFY Parameter From JOB Statement or /*NOTIFY

Type: Character string Descriptor.

Maximum Length: 7 characters.

This Descriptor represents the NOTIFY parameter from the JOB statement or the userid from the /*NOTIFY statement.

$NOTIFY(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-7 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$NOTIFY(SYSTEMS)
$NOTIFY(AB111)
$NOTIFY($TABLE5(USERS))

ORIF

Description: Specify Alternative IF Statement

Type: Logic statement.

The ORIF statement is used together with a previous IF statement and possibly previous ORIF statement(s), and specifies an expression to be evaluated when the IF and all preceding ORIF statements have a FALSE value.

IF (expression1)
 ...

ORIF (expression2)
 true-action
 ...
ENDIF

expression2

A Job Property, Descriptor, or expression combining Job Properties and/or Descriptors. This expression is only evaluated when the IF statement and all prior ORIF statements, if any, have resulted in a FALSE value.

true-action

The action statements to be executed when the ORIF expression evaluates to TRUE. After completion of the action statements, execution then resumes at the statement that follows the ENDIF.

Examples:

IF (ILLEGAL) 
  WTU ERROR1 
 RETURN FAIL
ORIF(MOUNT) 
 SET CLASS(H)
  RETURN CONTINUE
OTHERWISE
  SET CLASS(I)
  RETURN CONTINUE 
ENDIF

See Also: ELSE, ENDIF, IF, and OTHERWISE.

Notes:

Any number of ORIF statements can be used as part of an IF construction. ORIF expressions are only evaluated if the IF expression and all previous ORIF statements evaluate as FALSE.

Once an ORIF evaluates as TRUE, the actions specified are taken, and DAL execution resumes after the next ENDIF.

$ORIGINAL_INSYSID

Description: Determine the Original System ID if the Job Came from Another Node.

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the JES2 system ID where the job was originally read. If the job was submitted at node X and transmitted to node Y, $ORIGINAL_INSYSID would be the system at node X that read the job.

$ORIGINAL_INSYSID(pattern | %patid | table-id)
pattern

This is a hard-coded string. It can be 1-4 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

 In JLS_LIMITDEF and JLS_CNTLDEF statements.

Examples:

EVALUATE IS_SYS1 ($ORIGINAL_INSYSID(SYS1))

In this case, for $ORIGINAL_INSYSID to return a TRUE value, the job must have been submitted on 'SYS1'.

EVALUATE IS_VALID_SYSID ($ORIGINAL_INSYSID($TABLE1(SYSTEMS)))

See Also: $INSYSID

Notes:

If job did not come from another node the value of this descriptor will contain the same value as $INSYSID.

OTHERWISE

Description: Specify Alternative Action

Type: Logic statement.

The OTHERWISE statement is part on an IF logical construction. It must follow at least one ORIF statement, and specifies the alternate action(s) taken when the expression evaluated with the IF and any previous ORIF statement resulted in FALSE values.

IF (expression)
  true-action
ORIF (expression)
  true-action
OTHERWISE
  false-action
  ...
ENDIF

expression

A logical expression combining Job Properties and/or Descriptors.

true-action

Any valid DAL statements which are to be performed should the IF or the ORIF expression evaluate to TRUE.

false-action

Any valid DAL statements which are to be performed should the IF and ORIF expressions evaluate to FALSE.

See Also: ELSE, ENDIF, IF, and ORIF.

Examples:

IF (ILLEGAL) 
  WTU ERROR1 
 RETURN FAIL
ORIF(MOUNT) 
 SET CLASS(H)
  RETURN CONTINUE
OTHERWISE
  SET CLASS(I)
  RETURN CONTINUE
ENDIF

Notes:

OTHERWISE statements are used in IF logical constructions when there is at least one ORIF statement. The OTHERWISE statement is mutually exclusive with the ELSE statement.

$PAGES

Description: Output Pages

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in 1000's of pages.

This Descriptor represents the estimated number of output pages.

$PAGES [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of pages as 1-5 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$PAGES FEW_PAGES,100,MANY_PAGES,10000,TOO_MANY_PAGES

See Also: $BYTES, $CARDS, and $LINES.

$PATH

Description: Name of an HFS File

Type: Character string Descriptor.

Maximum Length: 254 characters.

This Descriptor allows you to determine the path name (name for the HFS file) currently being processed by DAL.

$PATH(pattern | %patid | table-id)

pattern

This is a hard-coded valid path name pattern (name of a file in an HFS) to be matched against the data set name on the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned. See the Notes below for further information.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Example:

EVALUATE  HFS_FILE  ($PATH(Z5900/**/DOCUMENTS))
...
IF (HFS_FILE)
   ...

See Also: $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATHDISP1, $PATHDISP2, $PATHMODE and $PATHOPTS.

Notes:

The path name pattern follows the same conventions as the pattern for data set names, as described in "Section. Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide, with these exceptions:

 The delimiters are slashes (/) rather than periods (.).

 Qualifiers (characters between slashes) can be larger than 8 characters.

$PATHDISP1

Description: Normal Termination Disposition of an HFS File

Type: Logic Variable.

Maximum Length: Not applicable.

This Logic Variable lets you determine the normal termination disposition of an HFS file.

$PATHDISP1($BLANK | DELETE | KEEP)

$BLANK

Allows you to test for an "all blanks" condition.

DELETE

Indicates that you want to know whether the DELETE normal termination subparameter was coded for the PATHDISP keyword on the DD statement. If DELETE was coded, $PATHDISP1 returns a TRUE value.

KEEP

Indicates that you want to know whether the KEEP normal termination subparameter was coded for the PATHDISP keyword on the DD statement. If KEEP was coded, $PATHDISP1 returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP2, $PATHMODE and $PATHOPTS.

$PATHDISP2

Description: Abnormal Termination Disposition of an HFS File

Type: Logic Variable.

Maximum Length: Not applicable.

This Logic Variable lets you determine the abnormal termination disposition of an HFS file.

$PATHDISP2($BLANK | DELETE | KEEP)

$BLANK

Allows you to test for an "all blanks" condition.

DELETE

Indicates that you want to know whether the DELETE abnormal termination subparameter was coded for the PATHDISP keyword on the DD statement. If DELETE was coded, $PATHDISP2 returns a TRUE value.

KEEP

Indicates that you want to know whether the KEEP abnormal termination subparameter was coded for the PATHDISP keyword on the DD statement. If KEEP was coded, $PATHDISP2 returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP1, $PATHMODE and $PATHOPTS.

$PATHMODE

Description: Access Attributes of an HFS File

Type: Logic variable.

Maximum Length: Not applicable.

This Logic Variable lets you determine the access attributes of an HFS file.

$PATHMODE(SIRUSR | SIWUSR | SIXUSR | SIRWXU |
         SIRGRP | SIWGRP | SIXGRP | SIRWXG |
         SIROTH | SIWOTH | SIXOTH | SIRWXO |
         SISUID | SISGID)

SIRUSR

Indicates that you want to know whether the SIRUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIRUSR was coded, $PATHMODE returns a TRUE value.

SIWUSR

Indicates that you want to know whether the SIWUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIWUSR was coded, $PATHMODE returns a TRUE value.

SIXUSR

Indicates that you want to know whether the SIXUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIXUSR was coded, $PATHMODE returns a TRUE value.

SIRWXU

Indicates that you want to know whether the SIRWXU subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXU was coded, $PATHMODE returns a TRUE value.

SIRGRP

Indicates that you want to know whether the SIRGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIRGRP was coded, $PATHMODE returns a TRUE value.

SIWGRP

Indicates that you want to know whether the SIWGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIWGRP was coded, $PATHMODE returns a TRUE value.

SIXGRP

Indicates that you want to know whether the SIXGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIXGRP was coded, $PATHMODE returns a TRUE value.

SIRWXG

Indicates that you want to know whether the SIRWXG subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXG was coded, $PATHMODE returns a TRUE value.

SIROTH

Indicates that you want to know whether the SIROTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIROTH was coded, $PATHMODE returns a TRUE value.

SIWOTH

Indicates that you want to know whether the SIWOTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIWOTH was coded, $PATHMODE returns a TRUE value.

SIXOTH

Indicates that you want to know whether the SIXOTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIXOTH was coded, $PATHMODE returns a TRUE value.

SIRWXO

Indicates that you want to know whether the SIRWXO subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXO was coded, $PATHMODE returns a TRUE value.

SISUID

Indicates that you want to know whether the SISUID subparameter was coded for the PATHMODE keyword on the DD statement. If SISUID was coded, $PATHMODE returns a TRUE value.

SISGID

Indicates that you want to know whether the SISGID subparameter was coded for the PATHMODE keyword on the DD statement. If SISGID was coded, $PATHMODE returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP1, $PATHDISP2, and $PATHOPTS.

$PATHOPTS

Description: Access or Status Group for an HFS File

Type: Logic variable.

Maximum Length: Not applicable.

This Logic variable allows you to determine the access or status group set for an HFS file by the PATHOPTS keyword on the DD statement.

$PATHOPTS($BLANK | ORDONLY | OWRONLY| ORDWR | OAPPEND | OCREAT |
         OEXCL | ONOCTTY | ONONBLOCK | OSYNC | OTRUNK)

$BLANK

Allows you to test for an "all blanks" condition.

ORDONLY

Indicates that you want to know whether the ORDONLY subparameter was coded for the PATHOPTS keyword on the DD statement. If ORDONLY was coded, $PATHOPTS returns a TRUE value.

OWRONLY

Indicates that you want to know whether the OWRONLY subparameter was coded for the PATHOPTS keyword on the DD statement. If OWRONLY was coded, $PATHOPTS returns a TRUE value.

ORDWR

Indicates that you want to know whether the ORDWR subparameter was coded for the PATHOPTS keyword on the DD statement. If ORDWR was coded, $PATHOPTS returns a TRUE value.

OAPPEND

Indicates that you want to know whether the OAPPEND subparameter was coded for the PATHOPTS keyword on the DD statement. If OAPPEND was coded, $PATHOPTS returns a TRUE value.

OCREAT

Indicates that you want to know whether the OCREAT subparameter was coded for the PATHOPTS keyword on the DD statement. If OCREAT was coded, $PATHOPTS returns a TRUE value.

OEXCL

Indicates that you want to know whether the OEXCL subparameter was coded for the PATHOPTS keyword on the DD statement. If OEXCL was coded, $PATHOPTS returns a TRUE value.

ONOCTTY

Indicates that you want to know whether the ONONCTTY subparameter was coded for the PATHOPTS keyword on the DD statement. If ONONCTTY was coded, $PATHOPTS returns a TRUE value.

ONONBLOCK

Indicates that you want to know whether the ONONBLOCK subparameter was coded for the PATHOPTS keyword on the DD statement. If ONONBLOCK was coded, $PATHOPTS returns a TRUE value.

OSYNC

Indicates that you want to know whether the OSYNC subparameter was coded for the PATHOPTS keyword on the DD statement. If OSYNC was coded, $PATHOPTS returns a TRUE value.

OTRUNC

Indicates that you want to know whether the OTRUNC subparameter was coded for the PATHOPTS keyword on the DD statement. If OTRUNC was coded, $PATHOPTS returns a TRUE value.

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.

See Also: $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP1, $PATHDISP2 and $PATHMODE.

pattern matching function

Description: To match a pattern against a string

Type: Pattern Matching Function.

Maximum Value: Not applicable.

This is a built-in function provided to allow the interrogation of a character Descriptor to see whether its contents match a pattern.

Descriptor-name(pattern)

Descriptor-name

A Descriptor that contains character strings.

pattern

The pattern to be used in the comparison, resulting in either a TRUE (equal) or FALSE (not equal) value returned by the function.

Patterns must be constructed according to the rules listed below.

Usage:

This function can be used in EVALUATE and DAL Logic statements. It returns a TRUE/FALSE value.

Examples:

The pattern matching function can be viewed as having a "left" portion and a "right" portion.

 On the left is a Descriptor name, which represents a field containing a character string.

 On the right is a pattern that is matched against the character string contained in the Descriptor named on the left.

Here is an example of how this function works:

$ACCT(MMPAY910)

The Descriptor $ACCT contains the character string representing the account number for the job. If it happens to be 'MMPAY910', the function returns a value of TRUE, otherwise it returns a value of FALSE.

This function can be tested by an IF or EVAL statement and the outcome used to determine what actions to take:

IF ($ACCT(MMPAY910)) ...

Rules:

General Pattern Matching Rules

 If the pattern you want to specify includes blanks, or any non-alphabetic, numeric, or national characters then you enclose it in single quote marks, also known as apostrophes.

 In patterns, the question mark '?' and asterisk '*' characters have special meanings, and are called "wildcard" characters.

  A question mark indicates that this position in the pattern is to be ignored. Any character satisfies the match, including a blank. There must be a character in that position.

  An asterisk indicates that any number of characters can be substituted for it in the target string, including blanks or the absence of any character. Note that the asterisk can either be at the beginning of the pattern, at the end of the pattern, or in both places. An asterisk cannot appear in the middle of a string as a wild character.

  If the question mark or the asterisk character is encountered in a string enclosed within apostrophes it is still treated as a wildcard character.

 If you want a question mark or an asterisk to be treated as a normal character, you must use the escape character double quote ( " ) in front of it.

  A question mark or asterisk immediately following the escape character does not signify a wildcard character (i.e., it has no special meaning). For example, in the string A"? the question mark is not a wildcard character.

  If you want to match on the escape character then use two double quote ( "" ) characters in succession. For example, you would code A""B if you wanted to match A"B.

  The character following the escape character ( " ) must be either a wildcard character (* or ?) or another escape character ( " ). Any other character is flagged as an error.

 The length of the pattern is extended on the right with blanks until it matches the length of the Descriptor string. A pattern longer than the maximum allowed for the Descriptor is invalid.

Dataset Name Pattern Matching Rules

 The question mark is used in the same manner as when matching character strings, but it works at the qualifier level.

 The asterisk is used in the same manner as when matching character strings, but it works at the qualifier level.

 An asterisk matches any character or number of characters, but only affects the qualifier in which it is used. The question mark requires the presence of a character but only within the qualifier where it is coded.

 Coding an asterisk (for example, A.*.B) implies that there is a qualifier at that position.

 The special pattern '**' (two asterisks coded in succession) matches any number of qualifiers, including the absence of a qualifier. This is used in place of complete qualifiers. For example, A.**.B matches A.B, A.X.B, A.X.Y.B, and so on.

PATTERNDEF

Description: To Construct Patterns Dynamically

Type: Definition statement.

Maximum Value: 255 characters.

A pattern definition statement is provided to allow you to create patterns dynamically at DAL execution time.

PATTERNDEF %patid (source1) [ || (source2)]

%patid

Is the identification name for the pattern that is created with this statement. The first character must be %, followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

Up to two source fields can used for the construction of the pattern. If you want to construct a pattern from more than two sources then you have to use multiple PATTERNDEF statements, where 'source' is a %patid from a previously constructed pattern.

source1

Represents the first field or value to be used for the construction of the pattern.

A pattern can be constructed from one, and only one, of the following sources:

 A 'hard-coded character string' enclosed in quotation marks. For example:

PATTERNDEF %CHARS ('DEV*')

 A character Descriptor. For example:

PATTERNDEF %FROM_RACFU ($RACFU)

The length of the pattern is the length of the Descriptor.

 The substring function. For example:

PATTERNDEF %FROM_USERC1 ($USERC1,5)

Here, at DAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function see to substring function.

 %PATID

A previously defined pattern. You specify the pattern id.

 %STRID

A previously defined character string, created by a STRINGDEF statement. You specify the string id.

||

Indicates that source2 is to be concatenated to source1.

source2

If present, the same rules as source1.

Usage:

A %patid can be used in any construct that allows pattern matching.

Examples:

Let us assume that in your installation the first three characters of the job name must match the third, fourth, and fifth characters of the job account. There are several ways of doing this. The following is one possible way.

Treat the job name as your character string. Then use the PATTERNDEF to create a matching pattern using the $ACCOUNT Descriptor.

PATTERNDEF %1ST_3_ACCT_CHARS ($ACCT,3,3) || ('*')

The above statement creates a pattern with the desired 3 characters from the account field and the wildcard character '*'. The name of this pattern is %1ST_3_ACCT_CHARS.

Then you can code an EVALUATE statement:

EVALUATE JOB_OK ($JOBNAME(%1ST_3_ACCT_CHARS))

The Property JOB_OK is TRUE only when the first three characters of the job name and the third, fourth, and fifth characters of the job account are equal.

Notes:

With PATTERNDEF the characters ‘*’ or ‘?’, unless especially noted, are treated as a wildcard character. If you want ‘*’, and ‘?’ not to be treated as wildcard characters you have to use the escape character.

The resulting pattern must be a complete valid pattern even if you intend to use it as part of another PATTERNDEF for the construction of a larger pattern.

PATTERNDEFX | PATDEFX

Description: Extended Pattern Definitions

Type: Definition statement.

Maximum Value: 255 characters.

Pattern definition extensions allow you to check for specific types of data in string Descriptors.

PATTERNDEFX %patid (source)

%patid

Is the identification name for the pattern that is created with this statement. The first character must be %, followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

source

Represents value to be used for the construction of the pattern. A pattern can be constructed from any combination of the following sources:

 A quoted string. Characters within a quoted string must match exactly, position for position. For example:

PATTERNDEFX %PROD ('PROD')

 The wildcard characters (? and *). If '*' is coded, it must be the last character in the pattern. For example:

PATTERNDEFX %ALL_PROD ('PROD',*)

 A Property defined by a prior STRINGDEF statement. Characters within the string must match exactly, position for position. For example, for a string that must begin with the first three characters of the RACF userid followed by the string 'TEST':

STRINGDEF   %RACF_1_2_3   ($RACFU,3)
PATTERNDEFX %TEST_NAME    (%RACF_1_2_3,’TEST’)

 One of the special definition characters:

@

Matches a single alphabetic character.

A

Matches a single alphabetic or national (#, @, $) character.

#

Matches a single numeric character.

N

Matches a single numeric or national (#, @, $) character.

 For example, to test for job names that must begin with 'PROD' followed by three numbers and a letter:

PATTERNDEFX %PROD_JOB ('PROD',###@)

 One or more character sets defined with the CHARSET statement. The position being compared must match one of the characters in the set. To test for a four digit odd number, for example:

CHARSET     %ODD          (‘13579’)
PATTERNDEFX %TEST_ODD_NUM (###,%ODD)

Usage:

A %patid can be used in any construct that allows pattern matching, except for these statements:

DCS NAG
DCS REPO

See Also: CHARSET, PATTERNDEF, and STRINGDEF.

Notes:

With PATTERNDEFX, to use the wildcard characters '?' and '*' you must code them outside a quoted string. Inside a quoted string, the '?' and '*' characters are not interpreted as wildcards.

$PERFORM

Description: Test for JOB Statement PERFORM Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the PERFORM= keyword was coded on the JOB statement.

$PERFORM(NO | YES)

NO

When TRUE, it indicates that the keyword PERFORM= was not coded on the JOB statement.

YES

When TRUE, it indicates that the keyword PERFORM= was coded on the JOB statement.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($PERFORM(YES))
   WTU...

See Also: $JOB_PERFORM.

$PGMNAME

Description: Program Name

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor allows you to determine the program name for the step that includes the DD currently being processed by DAL.

$PGMNAME(pattern | %patid | table-id)

pattern

This is a hard-coded string representing a valid program name. It can also include the wildcard characters '?' and '*'. It is matched against the program name for the step that includes the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$PGMNAME(IMS*)

$PGMR

Description: Programmer Name From JOB Statement

Type: Character string Descriptor.

Maximum Length: 20 characters.

This Descriptor represents the programmer name field from the JOB statement.

$PGMR(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-20 alphabetic, numeric, or national (#, @, $) characters. It can also include the period (.) and the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$PGMR('APPLICATIONS TESTING')
$PGMR($TABLE1(NAMES))

PROCEDURE | PROC

Description: Indicate Type of Action Language

Type: Language Directive.

This statement is a language directive. Its purpose is to indicate the type of Action Language to be processed. That is, it distinguishes DAL from JAL. It is mandatory to identify DAL.

The short form for this directive is PROC.

PROCEDURE ID(DAL) [TYPE( DCS | SOS | TM )] [DESC(‘description’)]

ID

Indicates that you are identifying the type of Action Language to be processed.

DAL

Specifies that the language is DAL.

TYPE( DCS | SOS | TM)

This keyword is valid for DAL only. It indicates the type of DAL being processed.

DCS

Specifies that DAL is being processed for DCS. This is the default.

SOS

Specifies that DAL is being processed for SOS.

TM

Specifies that TM DAL is being processed.

DESC('description')

Allows you to specify a description that is included in the output from DISPLAY and REFRESH commands for identification purposes.

'description'

Is a string of up to 24 characters, enclosed in apostrophes. To include an apostrophe, code two successive apostrophes.

Examples:

PROCEDURE ID(DAL) TYPE(TM) DESC('PRODUCTION')

$PROCSTEP

Description: Step Procedure Name

Type: Character string DD Descriptor.

Maximum Length: 8 characters.

This Descriptor allows you to determine the name of the 8-character step procedure name on the EXEC statement. The EXEC statement is associated with the DD statement being processed and is calling an in-stream or a cataloged JCL procedure.

$PROCSTEP($BLANK | pattern | %patid | table-id)

$BLANK

Allows you to test for an "all blanks" condition.

pattern

A hard-coded valid step name pattern to be matched against the step procedure name for the step that includes the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $BLANK.

$RACFG | $RG

Description: GROUP Parameter From JOB Statement

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the GROUP parameter from the JOB statement.

$RACFG(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$RACFG(AP100)
$RG(TESTING)
$RACFG($TABLE1(GROUPS))

See Also: $RACFU and $SUBMITTER_RACFG.

$RACFU | $RU

Description: USER Parameter From JOB Statement

Type: Character string Descriptor.

Maximum Length: 7 characters.

This Descriptor represents the USER parameter from the JOB statement.

$RACFU(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-7 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$RACFU(MKTING)
$RU(OPSSHF2)
$RACFU($TABLE2(USERS))

See Also: $RACFG and $SUBMITTER_RACFU.

Notes:

Under certain circumstances this field may be internally supplied (as opposed to JCL coded). In that case you may want to look at an 8-character field. The Descriptor $RACFU8 is provided for that purpose.

Range

Description: Range Definitions

Type: Definition statement.

Maximum Value: Not applicable.

This is not a Descriptor. It has been included here for completeness. It describes a "type" of definition statement. When a Descriptor can assume one of a range of values, DAL allows you to divide the range up into segments. You assign Property Names and specify the starting point for each segment. With this type of definition, multiple Properties can be defined with a single statement, but only one can assume a TRUE value.

desc [start,]name,[start1,name1,...,startN,nameN]

desc

The DD or User Descriptor.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Syntax for specifying the starting point and the permissible range of values depends on the specific Descriptor. See the detailed descriptions.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

It is important to remember that starting points and Property Names are paired. The first Property Name is paired with the starting point 0, by default, even if you omit coding the 0. The starting point always is paired with the following Property Name, and defines the lower end of the named segment. All values below the starting point belong to the previous segment. This enforces a continuous scale, with no overlaps or gaps.

The following rules govern range definition statements:

 Each starting point in a range definition must be higher than any preceding starting point.

 DAL always assumes that a range begins at 0 and ends with the highest legal value for that Descriptor.

 The upper limit for a specific Descriptor is shown in this reference section.

 There is no practical limit to the number of segments that you can define.

 While it is not a syntax error to code a range definition that consists of simply one segment name, this defines a segment that covers all values from 0 to the upper limit for that Descriptor. The defined Property must therefore always be TRUE.

Usage:

This statement can be used only in the DAL definition section.

The following illustrates the conventions used to assign names to segments of a range:

$VOL_AUTO   0,NO_AUTO_VOLS,1,FEW_AUTO_VOLS,5,MANY_AUTO_VOLS

This statement is interpreted as follows:

$VOL_AUTO 0 <= NO_AUTO_VOLS < 1 <= EW_AUTO_VOLS < 5 <= MANY_AUTO_VOLS

Where:

0

is the optional first starting point. All ranges begin with 0, whether it is specifically coded or omitted.

NO_AUTO_VOL

is the Property Name for the segment "less than 1 automated volume" (i.e., no automated cartridges requested).

FEW_AUTO_VOLS

is the Property Name for the segment "greater than or equal to 1 automated volume but less than 5 automated volumes."

MANY_AUTO_VOLS

is the Property Name for the segment "greater than or equal to 5 automated volumes but less than 9999 volumes."

Examples:

$VOL_AUTO NO_AUTO,1,SOME_AUTO

In this example, the Property NO_AUTO is TRUE for jobs not requiring automated volumes, while the SOME_AUTO Property is TRUE for jobs requiring the use of automated volumes.

$READER_DATE

Description: Reader Date

Type: Display Variable.

Maximum Value: 99.365

This Display Variable provides the date on which the job was read into the system.

$READER_DATE

$READER_DATE

Is a valid insert in a MSGDEF statement.

The date is displayed in the form "yy.ddd", where "yy" represents the last two digits of the year and "ddd" represents the Julian date.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR.

$READER_DAY_OF_MONTH

Description: Reader Day of the Month

Type: Range Definition Descriptor.

Maximum Value: 31

This Descriptor provides a number representing the day of the month that the job was read into the system.

$READER_DAY_OF_MONTH    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_DAY_OF_MONTH WEEK_1,8,WEEK_2,15,WEEK_3,22,WEEK_4

See Also: $READER_DATE, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR.

$READER_DAY_OF_WEEK

Description: Reader Day of the Week

Type: Range Definition Descriptor.

Maximum Value: 7

This Descriptor provides a number representing the day of the week that the job was read into the system, with Monday returning a value of 1 and Sunday returning a value of 7.

$READER_DAY_OF_WEEK    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_DAY_OF_WEEK WEEKDAY,6,WEEKEND

See Also: $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR.

$READER_DAY_OF_YEAR

Description: Reader Day of the Year

Type: Range Definition Descriptor.

Maximum Value: 366

This Descriptor provides a number representing the day of the year that the job was read into the system, counting from January 1 as day 1. This is the ddd portion of the Julian date (yyddd).

$READER_DAY_OF_YEAR    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_DAY_OF_YEAR Q1,91,Q2,181,Q3,271,Q4

See Also: $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR.

$READER_MONTH

Description: Reader Month

Type: Range Definition Descriptor.

Maximum Value: 12

This Descriptor provides a number representing the month that the job was read into the system, with January returning a value of 1 and December returning a value of 12.

$READER_MONTH    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_MONTH Q1,4,Q2,7,Q3,10,Q4

See Also: $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR.

$READER_TIME

Description: Reader Time

Type: Display Variable.

Maximum Value: 23:59:59

This Display Variable provides the time at which the job was read into the system in the format hh:mm:ss, using the 24-hour clock.

$READER_TIME

$READER_TIME

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

See Also: $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME_OF_DAY, and $READER_YEAR.

$READER_TIME_OF_DAY

Description: Reader Time of Day

Type: Range Definition Descriptor.

Maximum Value: 23:59

This Descriptor provides the time of day that the job was read into the system, in the format hh:mm, using the 24-hour clock.

$READER_TIME_OF_DAY [00:00,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 00:00, but can be omitted if desired.

Starting points are specified in hours and minutes on a 24-hour clock, with 00:00 representing midnight.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_TIME_OF_DAY MORNING,12:00,AFTERNOON,18:00,EVENING

See Also: $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, and $READER_YEAR.

$READER_YEAR

Description: Reader Year

Type: Range Definition Descriptor.

Maximum Value: 9999

This Descriptor provides a number representing the year the job was read into the system, including the century designation. The format is ccyy, for example 2005.

$READER_YEAR    [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_YEAR PRE_PRD,2009,PRD,2010,POST_PRD

See Also: $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, and $READER_TIME_OF_DAY.

$REQUIRES_ZOS

Description: Indicate z/OS Release

Type: Range Definition Descriptor.

Maximum Value: 9999.

This Descriptor represents the z/OS release number.

$REQUIRES_ZOS [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in k-bytes of memory as 1-7 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$REQUIRES_ZOS 0,No_Req, + 
1.11,zOS1_11, + 
1.12,zOS1_12, + 
1.13,zOS1_13, + 
2.1,zOS2_1

$RESTART

Description: Test for Coded Restart=

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates that RESTART= is coded on a job card.

$RESTART(NO | YES)

NO

RESTART= was not coded on a job card.

YES

RESTART= was coded on a job card.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Note:

If you code RESTART= step1 it will be considered that RESTART= is not coded.

RETURN

Description: Terminate DAL Processing

Type: Action statement.

The RETURN statement signals ThruPut Manager to terminate DAL processing and continue the analysis process. If coded without a keyword, the RETURN statement indicates to the DAL processor to terminate the execution of DAL normally. If there is another DD statement to be processed, DAL is invoked again. If it was the last DD statement, then JAL is invoked.

RETURN [CONTINUE | DONE | FAIL | FLUSH]
 or
RETURN REDRIVE [COUNT(nnn)]

CONTINUE

This optional keyword represents a normal return after the execution of DAL. This is the only valid return from SOS DAL that is being re-driven.

It is the default if no keyword is coded.

DONE

This keyword indicates that for the type of DAL being executed, all processing for this job has been completed. If this keyword is used, DAL will not be invoked again even if there are unprocessed DD statements; however, JAL is invoked and JAL processing continues.

FAIL

This keyword indicates to the DAL processor that the job is to be failed at the end of JAL processing. If there is another DD statement to be processed, DAL is invoked again. If it was the last DD statement, then JAL is invoked. At the end of JAL execution, the job is failed.

You can determine if a RETURN FAIL statement has been executed by testing the logic variable $JXFAIL.

FLUSH

This keyword requests that the job be terminated immediately.

REDRIVE

Indicates that SOS DAL is to be reinvoked for the current SYSOUT DD statement and OUTPUT JCL statement (if present), with a copy of the current data set's original information. If the current invocation of SOS DAL resulted from a RETURN REDRIVE, use of this keyword is an error.

COUNT(nnn)

Indicates how many times SOS DAL is to be reinvoked for the current SYSOUT DD statement and OUTPUT JCL statement (if present).

nnn

Is a number from the range 1-127.

The default for this keyword is 1.

Examples:

IF (NO_SOS)
   RETURN DONE
ENDIF

In this case, the Property NO_SOS has been evaluated elsewhere in the DAL logic, and it has been determined that SOS DAL does not apply to this job. The DONE keyword tells the DAL processor not to call SOS DAL again for the job.

IF (ADD_SOME)
   RETURN REDRIVE COUNT(2)
ENDIF

This example causes the DAL processor to call SOS DAL 2 more times, using the data set information from the current SYSOUT DD statement and, if present, OUTPUT JCL statement. This has the effect of adding two more SYSOUT data sets.

$ROOM

Description: JES2 Room Number

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor function represents the JES2 room number.

$ROOM(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-4 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the hyphen (-) and the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$ROOM(1700)
$ROOM(TEST)
$ROOM($TABLE2(ROOMS))

$SAF_ACEE

Description: Extract Substring from SAF Accessor Environment Element

Type: Character string Descriptor.

Maximum Length: 168 characters.

This Descriptor allows you to extract a substring from the SAF Accessor Environment Element.

STRINGDEF %stringid ($SAF_ACEE,length[,start])

%stringid

Is the identification name for the character string that is extracted. The first character must be

% followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

Is the number of characters to be extracted, from the range 1-168.

start

Is the starting position within the SAF Accessor Environment Element at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character).Usage:

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %SAF_INFO ($SAF_ACEE,20,8)

In this example, the 20 bytes starting at byte 8 in the SAF Accessor Environment Element are extracted and placed in the string variable %SAF_INFO.

Notes:

This field is padded with blanks before extraction is performed. If no data has been entered into the SAF Accessor Environment Element, STRINGDEF will return a string of blanks.

$SAF_ACEEINST

Description: Extract Substring from Installation Portion of SAF Accessor Environment Element

Type: Character string Descriptor.

Maximum Length: 255 characters.

This Descriptor allows you to extract a substring from the installation portion of the SAF Accessor Environment Element.

STRINGDEF %stringid ($SAF_ACEEINST,length[,start])

%stringid

Is the identification name for the character string that is extracted. The first character must be % followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

Is the number of characters to be extracted, from the range 1-255.

start

Is the starting position within the installation portion of the SAF Accessor Environment Element at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character). Usage:

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %SAF_INSTINFO ($SAF_ACEEINST,16,12)

In this example, the 16 bytes starting at byte 12 in the SAF user information are extracted and placed in the string variable %SAF_USERINFO.

Notes:

This field is padded with blanks before extraction is performed. If no data has been entered into the installation portion of the SAF Accessor Environment Element, STRINGDEF will return a string of blanks.

$SAF_USERNAME

Description: Extract Substring from SAF User Name

Type: Character string Descriptor.

Maximum Length: 20 characters.

This Descriptor allows you to extract a substring from the SAF user information.

STRINGDEF %stringid ($SAF_USERNAME,length[,start])

%stringid

Is the identification name for the character string that is extracted. The first character must be

% followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

Is the number of characters to be extracted, from the range 1-20.

start

Is the starting position within the SAF user name at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character).

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %USERNAME ($SAF_USERNAME,20)

In this example, the entire SAF user name is extracted and placed in the string variable %USERNAME.

Notes:

This field is padded with blanks. If no data has been entered for the SAF user name, STRINGDEF will return a string of blanks.

SEND

Description: Write a Message to a TSO User

Type: Communication statement.

This DAL statement causes a message to be written to a TSO user. If the user is not logged on, the message I received at the next logon.

TSO SEND (id1[,id2,...idN])

id

Specifies the symbol or list of symbols associated with TSO messages, as established by prior MSGDEF statements.

Examples:

MSGDEF OVERNITE_MSG ('JOB ',$JOBNAME,' WILL BE QUEUED FOR OVERNIGHT SERVICE.') +
                    USERID($SUBMITTER_RACFU)
...
SEND OVERNITE_MSG

See Also: MSGDEF, WTCA7, WTO, and WTU.

Notes:

You can omit the parentheses () if a single message identifier is specified.

The message must have been defined with the USERID keyword, otherwise the SEND statement is ignored.

$SETUP

Description: JES2 /*SETUP control statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor returns a TRUE/FALSE value depending on the presence or absence of a JES2 /*SETUP control statement. This Descriptor is only meaningful if this type of job is to be handled by ThruPut Manager.

$SETUP(NO | YES)

NO

Returns a TRUE value if there is no /*SETUP statement in the job.

YES

Returns a TRUE value if there is a /*SETUP statement in the job.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Notes:

There is a ThruPut Manager initialization parameter to indicate whether jobs that have a JES2 /*SETUP card are held before ThruPut Manager processing, or they are passed to ThruPut Manager processing. This Descriptor only applies when SETUP has been coded in the TMPARM JES2 initialization statement.

If SETUP has been coded in the TMPARM JES2 initialization statement, jobs are not held after the Analysis process unless it is explicitly requested with one of a SET JES2_HOLD directive or a JSS INSTRUCT directive.

SET $USERLn_type

Description: Set User Logic Variable

Type: Action Statement.

This form of the SET statement is used in DAL to assign a TRUE or FALSE value to a User Logic Variable. Each type of DAL provides nine User Logic Variables that can be tested in subsequent iterations of DAL of the same type and in JAL. This provides a means of communicating the results of current DAL processing.

SET $USERLn_type(TRUE | FALSE)

n

Is a digit from the range 1-9.

type

Indicates the type of User Logic Variable that is being set, and is one of:

DCS

Indicates a DCS DAL User Logic Variable.

SOS

Indicates an SOS DAL User Logic Variable.

TM

Indicates a TM DAL User Logic Variable.

TRUE

Assigns a TRUE value to the User Logic Variable.

FALSE

Assigns a FALSE value to the User Logic Variable.

Examples:

SET $USERL3_TM(TRUE)

This SET statement must be from TM DAL because it assigns a TRUE value to $USERL3_TM.

See Also: $USERLn_DCS, $USERLn_SOS, and $USERLn_TM.

Notes:

Although the SET statement can be used in the logic section of any type of DAL, it can set only the User Logic Variable for the type of DAL in which it is being executed.

SET FAIL

Description: Set Job to Fail at Termination of DAL and JAL

Type: Action statement.

Specifies that the job will be failed when DAL and JAL processing is completed.

SET FAIL

FAIL

Indicates that ThruPut Manager is to queue the job for output (JCL error) instead of execution after DAL and JAL processing has completed.

See Also: RETURN.

Notes:

This statement allows you to indicate that a job will be failed, but continue DAL and JAL processing so that full checking can be completed. Subsequent invocations of DAL will be honored.

SET FAIL cannot be reset.

SET FLUSH

Description: Set Job to Flush at Termination of DAL

Type: Action statement.

Specifies that the job will be failed when the current invocation of DAL processing is completed.

SET FLUSH

FLUSH

Indicates that ThruPut Manager is to queue the job for output (JCL error) instead of execution after the current invocation of DAL processing has completed.

See Also: RETURN.

Notes:

This statement allows you to indicate that a job will be failed, but continue the current invocation of DAL processing so that full checking can be completed. The job is failed immediately after the RETURN statement is processed.

Note: SET FLUSH cannot be reset.

SMF DESCRIPTORS

Type: Descriptors available within the TYPE(STEPTERM) or TYPE(JOBTERM) DAL.

Maximum Length: Descriptor dependent.

The STEPTERM/JOBTERM DALs have access to all fields within the SMF Type 30 record. Along with the SMF record fields, the JOB level fields are also available, such as $JOBNAME, $ACCT, and $ACCTFLD.

Rather than describe the vast number of descriptors that are available to the STEPTERM and JOBTERM DAL, it is easier to explain that all of the fields within the SMF 30 record described in z/ OS MVS System Management Facilities (SMF) SA38-0667-30 are available as DAL descriptors. The "SMF30..." fields in the SMF record are available via "$SMF30..." DAL descriptors. An example of this is SMF30JBN, which is available as $SMF30JBN within the STEPTERM or JOBTERM DAL.

As with other DALs, Numeric descriptors can be used in RANGE statements and Character descriptors can be used in EVALUATE statements, STRINGDEF statements, and so on. The normal descriptor rules apply to these fields. Character descriptors can be compared to hard-coded strings, STRINGDEFs, or PATTERNDEFs (or PATTERNDEFX) statements. All fields may be used within a MSGDEF statement. The flag fields within the SMF record can also be used within an EVALUATE statement. The flags associated with that byte can be used as OPERANDs to determine whether these flags are ON or OFF. An example of this is SMF30WMI. This flag, which is within the SMF30PF1 field indicates that the job is executing in a Workload Manager Batch Initiator. To test this flag, you could code "EVALUATE WLM_INIT ($SMF30PF1(SMF30WMI))". In this example, WLM_INIT would be TRUE if the initiator in which the job was executing is a Work Load Manager initiator.

When fields are used within a MSGDEF statement, they are formatted according to their type. Many numeric fields will be suffixed with K, M, G, T or P. Other numeric fields may be formatted as a TIME field in the format HH:MM:SS.TH. The Step Completion Code field is specially formatted when it is displayed within a MSGDEF. When the step completes nomally with a return code, that number is printed. If the step abends due to a USER abend, it contains Unnnn, where nnnn is the decimal user abend code. If the step abends due to a SYSTEM abend, it displays as Snnn, wherennn is the hexadecimal abend code. When a step is bypassed due to condition codes, this descriptor displays as 'STEP WAS NOT EXECUTED'.

Special Numeric Descriptors that do not exist within the SMF 30 record: 

$SMF30_STEP_CPUTIME

Calculated by adding SMF30CPT, SMF30CPS, SMF30_TIME_ON_IFA and SMF30_ TIME_ON_ZIIP

$SMF30_STEP_ELAPSED_TIME   

Calculated by subtracting the current time from the time that ThruPut Manager noted that the step began.

$SMF30BLK_DISK
$SMF30BLK_TAPE
$SMF30BLK_VIO

-The above 3 are calculated by totalling all the SMF30BLK fields in the SMF record for each of the specific device types.

Stepterm DAL Example:

Proc Id(DAL) Type(STEPTERM) Desc(Sample Step TermDAL)
/*
$SMF30STN                         $,1,Step1,2,$
/*
EvalFlushed ($SMF30STI(SMF30FLH))   /* Bypassed Due To Condition Codes
/*
StringDef %MSGID (‘DALS’)      /* StepTerm DAL Message Prefix */

/*
MsgDef MSG1   (%MSGID,’1 ‘,+
             ‘*-*-*-*-*-’ +
             ‘J o b S t e p S u m m a r y’ +
             ‘ *-*-*-*-*-’) +
             ROUTCDE(11)
MsgDef MSG2 (%MSGID,’2 ‘,+
             ‘Job    Proc    Program Ret.    Elapsed    CPU ‘,+
             ‘      Region      Real Service ‘,+
             ‘ ----I/O ----’) +
             ROUTCDE(11)
MsgDefMSG3 (%MSGID,’3 ‘,+
             ‘Step    Step    Name    Code    Time      Time’,+
             ‘     Below/Above 64-Bit Units   ‘, +
             ‘ DISK   TAPE    VIO’) +
             ROUTCDE(11)
MsgDef MSG4 (%MSGID,’4’, +
             (COL,7),$SMF30STM, +
             (COL,16),$SMF30PSN, +
             (COL,25),$SMF30PGM, +
             (COL,37,R),$SMF30SCC, +
             (COL,50,R),$SMF30_STEP_ELAPSED_TIME +
             (COL,62,R),$SMF30CPT, +
             (COL,68,R),$SMF30URB, +
             (COL,74,R),$SMF30EUR, +
             (COL,82,R),$SMF30HVR, +
             (COL,88,R),$SMF30SRV_L, +
             (COL,98,R),$SMF30BLK_DISK +
             (COL,105,R),$SMF30BLK_TAPE +
             (COL,112,R),$SMF30BLK_VIO) +
             (COL,112,R),$SMF30BLK_VIO) +
             ROUTCDE(11)
MsgDef MSG5 (%MSGID,’4’, +
             (COL,7),$SMF30STM, +
             (COL,16),$SMF30PSN, +
             (COL,25),$SMF30PGM, +
             (COL,34),$SMF30SCC) +
             ROUTCDE(11)
/*
If (Step1)                        /* Check For 1st Step */

 WTO (MSG1,MSG2,MSG3)           /* If So, Write Headings */
EndIf
If (Flushed)                      /* Short Line If Step Flushed */
 WTO MSG5
Else                              /* Long Line If Not */
 WTO MSG4
EndIf
/*
END

Output Generated:

DALS1 *-*-*-*-*-J o b   S t e p   S u m m a r y *-*-*-*-*-
DALS2 Job       Proc     Program  Ret.    Elapsed     CPU        Region        Real  Service    ----I/O ----
DALS3 Step      Step     Name     Code    Time        Time     Below/Above    64-Bit  Units      DISK  TAPE  VIO
DALS4 DCLCOPY   DCLCOPY  DCLCOPY     0 00:00:00.24 00:00:00.04   52K    4K        8G    562        15    0    0
DALS4 EXECSTEP  STEP001  IEFBR14     0 00:00:00.07 00:00:00.01   4K     4K        0      81         0    0    0
DALS4 RC04      ******** RETCODE     4 00:00:00.10 00:00:00.01   12K    4K        0     126         2    0    0
DALS4 RC12      ******** RETCODE    12 00:00:00.11 00:00:00.01   12K    4K        0     135         2    0    0
DALS4 USER99    ******** RETCODE U0099 00:00:00.20 00:00:00.06   12K    4K        0     554         2    0    0
DALS4 BYPASSED  ******** IEFBR14  STEP WAS NOT EXECUTED
DALS4 SYSTEM99  ******** RETCODE  S099 00:00:00.26 00:00:00.06   12K    4K        0     497         2    0    0
DALS4 SUBMIT    RESUB    IEBGENR 0     00:00:00.28 00:00:00.09  184K    4K        0     961         2    0    0


$SMS_DATACLAS

Description: Data Class for SMS-managed data set

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the name of the Data Class for an SMS-managed data set.

$SMS_DATACLAS(pattern | %patid | table-id)

pattern

Is a 1-8 character pattern to be matched against the name for the SMS Data Class, as assigned by the SMS storage administrator for your installation.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $SMS_MANAGED, $SMS_MGMTCLAS, and $SMS_STORCLAS.

$SMS_MANAGED

Description: Test for SMS-managed data set

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor returns a TRUE/FALSE value depending on whether the data set is managed by SMS.

$SMS_MANAGED(NO | YES)

NO

Returns a TRUE value if the data set is not managed by SMS.

YES

Returns a TRUE value if the data set is managed by SMS.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $SMS_DATACLAS, $SMS_MGMTCLAS, and $SMS_STORCLAS.

$SMS_MGMTCLAS

Description: Management Class for SMS-managed data set

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the name of the Management Class for an SMS-managed data set.

$SMS_MGMTCLAS(pattern | %patid | table-id)

pattern

Is a 1-8 character pattern to be matched against the name for the SMS Management Class, as assigned by the SMS storage administrator for your installation.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $SMS_DATACLAS, $SMS_MANAGED, and $SMS_STORCLAS.

$SMS_STORCLAS

Description: Storage Class for SMS-managed data set

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the name of the Storage Class for an SMS-managed data set.

$SMS_STORCLAS(pattern | %patid | table-id)

pattern

Is a 1-8 character pattern to be matched against the name for the SMS Storage Class, as assigned by the SMS storage administrator for your installation.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $SMS_DATACLAS, $SMS_MANAGED, and $SMS_MGMTCLAS.

SOS ALTER

SOS ONLY

Description: Alter Sysout data set Characteristics

Type: Action Statement.

SOS allows you to alter characteristics of the sysout data set being processed. The characteristics you can alter correspond to characteristics described by the OUTPUT JCL statement, and are listed in the Table of Characteristics below.

SOS ALTER characteristic(operand,[operand,...])
  or
SOS ALTER REMOVE

characteristic

Is one of the characteristics of a sysout data set, taken from the Table of Characteristics.

operand[,operand,...]

Is one or more operands, depending on the characteristic being set. You can code operands directly or use a %strid created with a STRINGDEF statement.

These operands use the syntax described in the IBM manual MVS JCL Reference, with the following extension:

 If an asterisk (*) is coded for a field, the current value for that field is retained. To replace a field with a single asterisk, the asterisk must be enclosed in apostrophes: '*'. See the examples below.

Note: Unless you use an asterisk to retain the value, any characteristic altered by SOS ALTER is treated as a complete replacement of anything coded in JCL or JECL.

REMOVE

Indicates that the sysout data set is to be purged regardless of how the job terminates. This is the equivalent of coding OUTDISP=(PURGE,PURGE) on the OUTPUT JCL statement.

Examples:

SOS ALTER CLASS(D)

In this example, the sysout class for the data set is altered to sysout class D.

STRINGDEF %NAME ($PGMR)
...
SOS ALTER ADDRESS(%NAME,'CIS DEPT')

This example inserts the programmer name into a custom address field.

SOS ALTER ADDRESS('ACCTNG DEPT','5TH FLOOR')

This example alters the first ADDRESS field to 'ACCTNG DEPT' and the second field to '5TH FLOOR'. Note that if the OUTPUT JCL statement included a value for the third or fourth ADDRESS fields, this SOS ALTER statement will replace them with blank fields.

This effect is more obvious in this example:

SOS ALTER ADDRESS(,,'123 ANY ST')

Here the first and second ADDRESS fields are replaced with blank fields, and the third ADDRESS field is replaced with '123 ANY ST'. This duplicates the effect you would get if you coded the same operand on the OUTPUT JCL statement. It is possible, however, that you want to alter one field and leave the others alone. You can do this by coding:

SOS ALTER ADDRESS(*,*,'123 ANY ST')

Because an asterisk is coded for the first and second ADDRESS fields, the values for those fields remains unchanged from whatever was coded on the OUTPUT JCL statement. The third ADDRESS field, however, is replaced with '123 ANY ST'.

See Also: STRINGDEF.

Table of Characteristics:

Characteristic

Description

ADDRESS

Address lines on the separator pages of an output data set.

AFPPARMS

References the data set name which specifies the parameter file that contains the parameters and values for the AFP print distributor feature of PSF.

AFPSTATS

Specifies whether the Print Services Facility is to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

BUILDING

Building identification.

BURST

Specifies whether the output for the sysout data set printed on a 3800 Printing Subsystem is to go to a burster-trimmer-stacker or a continuous forms stacker.

CHARS

Name of one or more character-arrangement tables for printing the sysout data set.

CKPTLINE

Maximum number of lines in a logical page.

CKPTPAGE

Number of logical pages to be printed or transmitted before JES takes a checkpoint.

CKPTSEC

Number of seconds between checkpoints of the sysout data set.

CLASS

Sysout class of the output data set.

COLORMAP

Specifies the AFP Resource (object) for the data set that contains color translation information.

COMPACT

Compaction table for JES to use when sending the sysout data set, which is a systems network architecture (SNA) data set, to a SNA remote terminal.

COMSETUP

Name of a microfile setup resource that contains setup information.

CONTROL

Specifies either that each logical record starts with a carriage control character or that the output is to be printed with single, double, or triple spacing.

COPIES

Number of copies to be printed for the sysout data set.

COPYCNT

Defines the number of copies of output. The COPYCNT keyword supersedes the COPIES keyword on the output statement. Where COPIES is limited to 255 maximum size, COPYCNT can be 0 - 2147483647 in size.

DATACK

Indicates whether or not print-positioning and invalid-character data-check errors are to be blocked or unblocked for printers accessed through the functional subsystem PSF.

DDNAME

Specifies the DD statements to apply the specifications on the OUTPUT statement to.

DEPT

Department identification on the separator pages of output for a sysout data set.

DEST

Destination for the sysout data set.

DPAGELBL

Specifies whether the system should print the security label on each page.

DUPLEX

Specifies whether or not printing is to be done on both sides of the sheet.

FCB

The forms control buffer (FCB) image JES is to use to guide printing of the sysout data set.

FLASH

Forms overlay to be used in printing the sysout data set on a 3800 Printing Subsystem.

FORMDEF

Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3).

FORMLEN

Allows PSF/MVS users to set the length of pages for print without reconfiguring the printer.

FORMS

Forms on which the sysout data set is to be printed or punched.

FSSDATA

Data to be passed, dependent on the subsystem.

GROUPID

Output group to which the sysout data set belongs.

HOLD

Specifies whether the sysout data set is to be held.

INDEX

Value to set for the left margin for output on a 3211 Printer with the indexing feature.

INTRAY

Specifies the paper source.

LINDEX

Value to set for the right margin for output on a 3211 Printer with the indexing feature.

LINECT

Maximum number of lines JES2 is to print on each output page.

MERGE

Specifies whether or not the parameters which are specified on the OUTPUT JCL statement will be merged with the output statement for the job.

MODIFY

Copy-modification module that tells JES how to print the sysout data set on a 3800 Printing Subsystem.

NAME

Preferred name printed on the separator pages of the output for a sysout data set.

NOTIFY

Users to be notified by PFS upon completion of printing.

OFFSETXB

Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the back side of each page of output.

OFFSETXF

Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the front side of each page of output.

OFFSETYB

Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the back side of each page of output.

OFFSETYF

Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the front side of each page of output.

OUTBIN

Specifies the printer output bin identifier to be used for the sysout data set.

OUTDISP

Specifies the disposition of the sysout data set.

OUTLIM

Sets a limit for the number of logical records in the sysout data set.

OVERLAYB

Specifies that the named medium overlay is to be placed on the back side of each sheet to be printed.

OVERLAYF

Specifies that the named medium overlay is to be placed on the front side of each sheet to be printed.

PAGEDEF

Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3).

PIMSG

Indicates the handling of messages by Print Services Facility (PSF).

PORTNO

Specifies the TCP/IP port number at which the FSS (for example, IP Printway) connects to the printer.

PRTATTRS

Specifies one or more job attributes for Infoprint Server.

PRTERROR

Specifies the disposition of the SYSOUT data set used if a terminating error occurs during printing through the PSF/MVS functional subsystem.

PRMODE

Specifies the process mode required to print the sysout data set.

PRTOPTNS

Named entity that refers to additional print options the FSS can use when printing a data set routed to DEST=’IP:ipaddr’.

PRTQUEUE

Name of the target print queue on a remote host system.

PRTY

Priority at which the sysout data set enters the output queue.

RESFMT

Specifies the resolution used to format the print data set.

RETAINF

Instructs the FSS how long to retain the data set if the transmission fails.

RETAINS

Instructs the FSS how long to retain the data set if the transmission succeeds.

RETRYL

Sets the number of transmissions that the FSS attempts before the RETAINF options take affect.

RETRYT

Specifies how long the FSS is to wait between transmission retries.

ROOM

Room identification printed on the separator pages of the output for a sysout data set.

SEGMENT

Sets the number of pages produced for a sysout data set before the system processes the segment of the data set.

SPIN

Specifies whether the output for the sysout data set is made available for processing immediately upon unallocation or at the end of the job.

SYSAREA

Specifies whether the system should reserve an area on each page of printed output for the security label.

TITLE

Description of the output printed on the separator pages of the output of a sysout data set.

TRC

Specifies whether the logical record for each output line in the sysout data set contains table reference character (TRC) codes.

UCS

UCS image, print chain, or character arrangement table to be used in printing the sysout data set.

USERDATA

User data, usage defined by your installation.

USERLIB

Libraries containing AFP resources to be used by Print Services Facility (PSF) when processing sysout data sets.

WRITER

External writer to be used to process the sysout data set rather than JES.

$SOS_AFPSTATS

SOS ONLY

Description: AFPSTATS Report

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the Print Services Facility (PSF) is to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

$SOS_AFPSTATS(NO | YES)

NO

When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if PSF was not requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

YES

When this subparameter is coded, $SOS_AFPSTATS is TRUE if PSF was requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

$SOS_AFPSTATS(YES)

This Variable evaluates to TRUE if PSF was requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

SOS Character

SOS ONLY

Description: SOS Character Descriptors

Type: Character string Descriptor.

Maximum Length: Descriptor dependent.

SOS provides a character Descriptor for each sysout data set characteristic that can be described with a character string. The Descriptor names and descriptions are included in the Table of SOS Character Descriptors below.

descriptor(pattern | %patid | table-id | value)

descriptor

Is the SOS Descriptor name, taken from the Table of SOS Character Descriptors.

pattern

Is a hard-coded string. The contents of the string must follow the syntax rules for the applicable sysout data set characteristic.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

value

Is one of a list of specific values that are the only valid entries for a particular Descriptor. The values for each Descriptor of this type are shown in the Table of SOS Character Descriptors.

The pattern, %patid, table entry, or value is matched against the Descriptor. If a match occurs, a TRUE value is returned. Otherwise, the value is FALSE.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

These Descriptors can be used in EVALUATE definition statements and DAL Logic statements.

These Descriptors can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$SOS_ADDRESS_2('123 4TH ST')

In this example, the Descriptor evaluates to TRUE if address line 2 contains '123 4TH ST'.

Table of SOS Character Descriptors:

Note: The Descriptors in this table reflect values for the sysout data set after the effects of any applicable OUTPUT JCL or JECL statements have been applied.

Descriptor Name

Description

Length

$SOS_ADDRESS_n

Address lines on the separator pages of an output data set, where n ranges from 1 to 4.

1-60 per line

$SOS_AFPPARMS

References the data set name which specifies the parameter file that contains the parameters and values for the AFP print distributor feature of PSF.

1-54

$SOS_BUILDING

Building identification.

1-60

$SOS_BURST

Specifies whether the output for the sysout data set printed on a 3800 Printing Subsystem is to go to a burster-trimmer-stacker or a continuous forms stacker.

Values:
N
NO
Y
YES

N/A

$SOS_CHARS_n

Name of one or more character-arrangement tables for printing the sysout data set, where n ranges from 1 to 4.

1-4 per name

$SOS_CLASS

Sysout class of the output data set.

1

$SOS_COLORMAP

Specifies the AFP Resource (object) for the data set that contains color translation information.

1-8

$SOS_COMPACT

Compaction table for JES to use when sending the sysout data set, which is a systems network architecture (SNA) data set, to a SNA remote terminal.

1-8

$SOS_COMSETUP

Name of a microfile setup resource that contains setup information.

1-8

$SOS_CONTROL

Specifies either that each logical record starts with a carriage control character or that the output is to be printed with single, double, or triple spacing.

Values:
SINGLE DOUBLE TRIPLE PROGRAM

N/A

$SOS_DATACK

Indicates whether or not print-positioning and invalid-character data-check errors are to be blocked or unblocked for printers accessed through the functional subsystem PSF.

Values:
BLOCK UNBLOCK BLKCHAR BLKPOS

N/A

$SOS_DEFAULT

Specifies whether this OUTPUT JCL statement can or cannot be implicitly referenced by a sysout DD statement.

Values:
N
NO
Y
YES

N/A

$SOS_DEPT

Department identification on the separator pages of output for a sysout data set.

1-60

$SOS_DEST

Destination for the sysout data set.

1-127

$SOS_DPAGELBL

Specifies whether the system should print the security label on each page.

Values:
N
NO
Y
YES

N/A

$SOS_DUPLEX

Specifies whether or not printing is to be done on both sides of the sheet.

Values:
N
NO
Y
YES

N/A

$SOS_FCB

The forms control buffer (FCB) image JES is to use to guide printing of the sysout data set.

1-4

$SOS_FLASH

Forms overlay to be used in printing the sysout data set on a 3800 Printing Subsystem.
NOTE: See also the related range Descriptor $SOS_FLASH_COUNT.

1-4

$SOS_FORMDEF

Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3).

1-6

$SOS_FORMLEN

Allows PSF/MVS users to set the length of pages for print without reconfiguring the printer.

4-8

$SOS_FORMS

Forms on which the sysout data set is to be printed or punched. If the forms name is actually a code name for a JECL OUTPUT statement, the value returned by $SOS_FORMS is "STD".

1-4

$SOS_FSSDATA

Data to be passed, dependent on the subsystem.

1-127

$SOS_GROUPID

Output group to which the sysout data set belongs.

1-8

$SOS_HOLD

Indicates whether the system is to hold the sysout data set.

Values:
N
NO
Y
YES

N/A

$SOS_MODIFY

Copy-modification module that tells JES how to print the sysout data set on a 3800 Printing Subsystem.
NOTE: See also the range Descriptor $SOS_MODIFY_TRC.

1-4

$SOS_NAME

Preferred name printed on the separator pages of the output for a sysout data set.

1-60

$SOS_NOTIFY_n

Users to be notified by PFS upon completion of printing, where n ranges from 1 to 4.

1-17

$SOS_OFFSETXB

Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the back side of each page of output.

5-13

$SOS_OFFSETXF

Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the front side of each page of output.

5-13

$SOS_OFFSETYB

Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the back side of each page of output.

5-13

$SOS_OFFSETYF

Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the front side of each page of output.

5-13

$SOS_OUTCLASS_TYPE

Specifies the OUTPUT value for the current output class.

Values:
DUMMY PRINT PUNCH

N/A

$SOS_OUTDISP_ABNORM

Specifies the disposition of the sysout data set if the job does not complete normally.
NOTE: See also the related Descriptor $SOS_OUTDISP_NORM.

Values:
WRITE HOLD KEEP LEAVE PURGE

N/A

$SOS_OUTDISP_NORM

Specifies the disposition of the sysout data set if the job completes normally.
NOTE: See also the related Descriptor $SOS_OUTDISP_ABNORM.

Values:
WRITE HOLD KEEP LEAVE PURGE

N/A

$SOS_OUTPUTJECL_CODE

The code name associated with the JECL OUTPUT statement associated with the sysout data set being processed.

1-4

$SOS_OUTPUTJCL_LABEL

The label (name) of the current OUTPUT JCL statement.

1-8

$SOS_OUTPUTJCL_ PROCSTEP

The PROCSTEP for the current OUTPUT JCL statement.

1-8

$SOS_OUTPUTJCL_ STEPNAME

The STEPNAME for the current OUTPUT JCL statement.

1-8

$SOS_OVERLAYB

Specifies that the named medium overlay is to be placed on the back side of each sheet to be printed.

1-8

$SOS_OVERLAYF

Specifies that the named medium overlay is to be placed on the front side of each sheet to be printed.

1-8

$SOS_PAGEDEF

Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3).

1-6

$SOS_PIMSG

Specifies whether PSF is to print all error messages.
NOTE: See also the related range Descriptor $SOS_PIMSG#.

Values:
NO
YES

N/A

$SOS_PRMODE

Process mode required to print the sysout data set.

1-8

$SOS_PRTATTRS

Specifies one or more job attributes for Infoprint Server.

1-127

$SOS_PRTERROR

Specifies the disposition of the SYSOUT data set used if a terminating error occurs during printing through the PSF/MVS functional subsystem.

Values:
DEFAULT
HOLD
QUIT

N/A

$SOS_PRTOPTNS

Named entity that refers to additional print options the FSS can use when printing a data set routed to DEST='IP:ipaddr'.

1-16

$SOS_PRTQUEUE

Name of the target print queue on a remote host system.

1-127

$SOS_RESFMT

Specifies the resolution used to format the print data set.

Values:
P240
P300

N/A

$SOS_RETAINF

Instructs the FSS how long to retain the data set if the transmission fails.

1-8

$SOS_RETAINS

Instructs the FSS how long to retain the data set if the transmission succeeds.

1-8

$SOS_RETRYT

Specifies how long the FSS is to wait between transmission retries.

1-8

$SOS_ROOM

Room identification printed on the separator pages of the output for a sysout data set.

1-60

$SOS_SPIN

Specifies whether the output for the sysout data set is made available for processing immediately upon unallocation or at the end of the job.

Values:
NO
UNALLOC

N/A

$SOS_SYSAREA

Specifies whether the system should reserve an area on each page of printed output for the security label.

Values:
N
NO
Y
YES

N/A

$SOS_TITLE

Description of the output printed on the separator pages of the output of a sysout data set.

1-60

$SOS_TRC

Specifies whether the logical record for each output line in the sysout data set contains table reference character (TRC) codes.

Values:
N
NO
Y
YES

N/A

$SOS_UCS

UCS image, print chain, or character arrangement table to be used in printing the sysout data set.

1-4

$SOS_USERDATA_n

User data, usage defined by your installation, where n ranges from 1 to 16.

1-60 per field

$SOS_USERLIB_n

Libraries containing AFP resources to be used by Print Services Facility (PSF) when processing sysout data sets, where n ranges from 1 to 8.

1-44 per library

$SOS_WRITER

External writer to be used to process the sysout data set rather than JES.

1-8

$SOS_OUTCLASS_DUMMY

SOS ONLY

Description: Dummy SYSOUT Class

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the class for the sysout data set was specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.

$SOS_OUTCLASS_DUMMY(NO | YES)

NO

When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if the sysout data set was not specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.

YES

When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if the sysout data set was specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

$SOS_OUTCLASS_DUMMY(YES)

This Variable evaluates to TRUE if the class for the sysout data set was specified as a DUMMY class using the OUTCLASS keyword for JES2.

$SOS_OUTPUTJECL

SOS ONLY

Description: JECL Code Name

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.

$SOS_OUTPUTJECL(NO | YES)

NO

When this subparameter is coded, $SOS_OUTPUTJECL is TRUE if the forms name coded for the SYSOUT keyword is not a code name for a JECL OUTPUT statement.

YES

When this subparameter is coded, $SOS_OUTPUTJECL is TRUE if the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

$SOS_OUTPUTJECL(YES)

This Variable evaluates to TRUE if the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.

See Also: $SOS_FORMS.

Notes:

If the forms name is actually a code name for a JECL OUTPUT statement, the value returned by the $SOS_FORMS Descriptor is "STD".

$SOS_OUTPUTJCL_REF

SOS ONLY

Description: Effect of OUTPUT JCL Statement

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor lets you determine how the SYSOUT data set being processed is affected by an OUTPUT JCL statement.

$SOS_OUTPUTJCL_REF name (output-type)

name

Specifies a Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

output-type

Is a unique value that represents a specific characteristic of the SYSOUT data set, and is one of the following keywords:

EXPLICIT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that is specified on the DD statement.

IMPLICIT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that is either a job or step default.

JOB_DEFAULT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that has DEFAULT=YES at the job level.

STEP_DEFAULT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that has DEFAULT=YES at the step level.

NONE

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is not modified by an OUTPUT JCL statement.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Examples:

$SOS_OUTPUTJCL_REF OUTPUT_CODED (EXPLICIT)

This assigns a TRUE value to the Property OUTPUT_CODED if a OUTPUT JCL statement is present and the DD statement describing the SYSOUT data set referred to it specifically.

$SOS_OUTPUTJCL_REF OUTPUT_DEFAULT (IMPLICIT)

This assigns a TRUE value to the Property OUTPUT_DEFAULT if a OUTPUT JCL statement with the keyword DEFAULT=YES is present at either the job or step level and affects the SYSOUT data set being processed.

$SOS_OUTPUTJCL_REF NO_OUTPUT (NONE)

This assigns a TRUE value to the Property NO_OUTPUT if no OUTPUT JCL statement affects the SYSOUT data set being processed. Note that this does not mean that there is no OUTPUT JCL statement present in the JCL stream.

 $SOS_OUTPUTJCL_STMT

SOS ONLY

Description: OUTPUT JCL Statement Number

Type: Display Variable.

Maximum Value: 65535

This Display Variable allows you to insert into a message the statement number of the JCL OUTPUT statement being processed.

$SOS_OUTPUTJCL_STMT#

$SOS_OUTPUTJCL_STMT#

Is a valid insert in a MSGDEF statement.

Usage:

This Variable can be used only as an insert in message definition statements.

SOS Range

SOS ONLY

Description: SOS Range Descriptors

Type: Range Descriptor.

Maximum Value: Descriptor dependent.

SOS provides a range Descriptor for each sysout data set characteristic that can be described with a numeric value. The Descriptor names and descriptions are included in the Table of SOS Range Descriptors below.

descriptor [0,]name1,start2,name2[,...startN,nameN]

descriptor

Is the SOS Descriptor name, taken from the Table of SOS Range Descriptors.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

The possible values for starting points depend on the Descriptor, and are shown in the Table of SOS Range Descriptors.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

Usage:

These Descriptors can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$SOS_COPIES SINGLE,2,MULTIPLE

In this example, the Property SINGLE evaluates to TRUE if COPIES has been set to 1, otherwise MULTIPLE evaluates to TRUE.

Table of SOS Range Descriptors:

Note: The Descriptors in this table reflect values for the sysout data set after the effects of any applicable OUTPUT JCL or JECL statements have been applied.

Descriptor

Description

Values

$SOS_CKPTLINE

Maximum number of lines in a logical page.

1-32767

$SOS_CKPTPAGE

Number of logical pages to be printed or transmitted before JES takes a checkpoint.

1-32767

$SOS_CKPTSEC

Number of seconds between checkpoints of the sysout data set.

1-32767

$SOS_COPIES

Number of copies to be printed for the sysout data set.

1-255

$SOS_COPIES_GROUP_n

Number of copies of a page to be printed before printing the next page. n ranges from 1 to 8, corresponding to the nth group value in the COPIES keyword.

1-255

$SOS_FLASH_COUNT

Number of copies that JES is to flash with the overlay, beginning with the first copy printed.
NOTE: See also the character Descriptor $SOS_FLASH.

0-255

$SOS_INDEX

Value to set for the left margin for output on a 3211 Printer with the indexing feature.

1-31

$SOS_INTRAY

Specifies the paper source.

1-255

$SOS_LINDEX

Value to set for the right margin for output on a 3211 Printer with the indexing feature.

1-31

$SOS_LINECT

Maximum number of lines JES2 prints per output page.

0-255

$SOS_MODIFY_TRC

Identifies which character arrangement table from the CHARS keyword is to be used.
NOTE: See also the character Descriptor $SOS_MODIFY.

0-3

$SOS_OUTBIN

Specifies the printer output bin identifier to be used for the sysout data set.

1-65535

$SOS_OUTLIM

Number of logical records in the sysout data set defined by this DD statement.

1-16777215

$SOS_PIMSG#

Indicates the handling of messages by Print Services Facility (PSF).
NOTE: See also the related Logic Variable $SOS_PIMSG.

0-999

$SOS_PORTNO

Specifies the TCP/IP port number at which the FSS (for example, IP Printway) connects to the printer.

1-65535

$SOS_PRTY

Priority at which the sysout data set enters the output queue.

0-255

$SOS_REDRIVE

SOS ONLY

Description: Indicate REDRIVE Status

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the current invocation of SOS DAL results from a RETURN REDRIVE statement.

$SOS_REDRIVE(NO | YES)

NO

When this subparameter is coded, $SOS_REDRIVE is TRUE if the current invocation of SOS DAL did not result from a RETURN REDRIVE statement.

YES

When this subparameter is coded, $SOS_REDRIVE is TRUE if the current invocation of SOS DAL did result from a RETURN REDRIVE statement.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

$SOS_REDRIVE(YES)

This Variable evaluates to TRUE if the current invocation of SOS DAL resulted from a RETURN REDRIVE statement.

See Also: RETURN, $SOS_REDRIVE_COUNT, and $SOS_REDRIVE_CURRENT#.

$SOS_SYSOUT_DS

SOS ONLY

Description: Type of Sysout data set

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor lets you determine the type of sysout data set currently being processed.

$SOS_SYSOUT_DS name (sysout-type)

name

Specifies a Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

sysout-type

Is a unique value that represents a specific type of sysout data set, and is one of the following keywords:

DD

Indicates the Property is to be assigned a TRUE value if the sysout data set is defined by a DD statement.

JCL

Indicates the Property is to be assigned a TRUE value if the sysout data set is the system JCL data set.

LOG

Indicates the Property is to be assigned a TRUE value if the sysout data set is the system LOG data set.

MSG

Indicates the Property is to be assigned a TRUE value if the sysout data set is the system MSG data set.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Examples:

$SOS_SYSOUT_DS NOT_SYSTEM (DD)

This assigns a TRUE value to the Property NOT_SYSTEM if the sysout data set being processed is described by a specific DD statement as opposed to being one of the standard system sysout data sets.

$STEP#

Description: Current Step Number

Type: Range Definition Descriptor.

Maximum Value: 255

This descriptor represents the current job step number.

$STEP#   [1,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 1, but can be omitted if desired.

 name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Example:

$STEP# 1,FIRST_STEP,2,EARLY_STEP,5,MIDDLE_STEP,10,LATE_STEP

$STEP_FIRST_DD

Description: Recognize First DD Within a Step

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the DD statement currently being processed is the first one in the step.

$STEP_FIRST_DD(NO | YES)

NO

Returns a value of TRUE when the DD statement is not the first one in a step.

YES

Returns a value of TRUE when the DD statement is the first one in a step.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $STEP_LAST_DD.

Notes:

This Logic Variable always evaluates to FALSE for JES data sets not associated with any step (JESMSGLG, JESJCL, and JESYSMSG).

$STEP_LAST_DD

Description: Recognize Last DD Within a Step

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the DD statement currently being processed is the last one in the step.

$STEP_LAST_DD(NO | YES)

NO

Returns a value of TRUE when the DD statement is not the last one in a step.

YES

Returns a value of TRUE when the DD statement is the last one in a step.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $STEP_FIRST_DD.

Notes:

This Logic Variable always evaluates to FALSE for JES data sets not associated with any step (JESMSGLG, JESJCL, and JESYSMSG).

$STEPNAME

Description: Step Name

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor allows you to determine the name of the 8-character step name on the EXEC PGM= statement. The EXEC statement is associated with DD statement being processed.

$STEPNAME($BLANK | pattern | %patid | table-id)

$BLANK

Allows you to test for an "all blanks" condition.

pattern

A hard-coded valid step name pattern to be matched against the name for the step that includes the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

See Also: $BLANK.

STRINGDEF

Description: To Define Character Strings Dynamically

Type: Definition statement.

Maximum Value: 255 characters.

This definition statement is provided to allow you to define character strings dynamically at DAL execution time.

STRINGDEF %strid (source1) [ || (source2)]

%strid

Is the identification name for the character string that is created with this statement. The first character must be % followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

You can use up to two fields for the construction of the character string.

source1

Represents the first field or value to be used for the construction of the character string.

It can be one, and only one, of the following sources:

 A 'hard-coded character string'. For example:

STRINGDEF %STRING ('DEVELOP')

 A character Descriptor. For example:

STRINGDEF %FROM_RACFU ($RACFU)

The length of the character string is the length of the Descriptor.

 An installation system symbol. Any string that begins with an ampersand (&) is treated as a system symbol. If the symbol is not defined at the time of Job Analysis, the resulting value is blank. System symbol are accepted only in a STRINGDEF.

 The substring function. For example:

STRINGDEF %NAME1 ($USERC1,5)

Here, at DAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function see to Substring-function.

 %PATID

A previously defined pattern. You specify the pattern id. The pattern is converted to a character string. That is, any wildcard characters are treated as normal characters.

 %STRID

A character string that was previously defined with STRINGDEF. You specify the string id.

||

Indicates that source2 is to be concatenated to source1.

source2

Represents the second field or value to be used in the construction of the character string. source2 is optional and if present its value is concatenated to the value from source1.

The rules are the same as source1.

Usage:

The STRINGDEF has been provided to allow you to construct character strings from any character Descriptor, or a portion of it. The resulting character string represented by a %strid can be used in any construct that allows character descriptors.

Examples:

STRINGDEF %NAME ($PGMR,4)
...
...
IF (%NAME('MIKE'))

is a valid construct.

EVALUATE PRODJOB (%NAME('MIKE'))
...
IF (PRODJOB)

is also a valid construct.

Notes:

With STRINGDEF the characters '*' or '?' are treated as normal characters.

The maximum length for the resulting character string is 255 characters.

$SUBMITTER_RACFG

Description: RACF Group of Job Submitter

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the RACF GROUP parameter of the submitter of the job, which could vary from the RACF GROUP parameter used on the JOB statement.

$SUBMITTER_RACFG(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$SUBMITTER_RACFG(AP100)
$SUBMITTER_RACFG($TABLE1(GROUPS))

See Also: $RACFG, $RACFU, and $SUBMITTER_RACFU.

$SUBMITTER_RACFU

Description: RACF USER Parameter of Job Submitter

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the RACF USER parameter of the submitter of the job, which could vary from the RACF USER parameter used on the JOB statement.

$SUBMITTER_RACFU(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management"

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$SUBMITTER_RACFU(MKTING)
$SUBMITTER_RACFU($TABLE1(USERS))

See Also: $SUBMITTER_RACFG, $RACFG, and $RACFU.

$SUBMITTER_TSSU

Description: TSS User ID of Job Submitter

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the TSS USER parameter of the submitter of the job, which could vary from the TSS USER parameter used on the JOB statement.

$SUBMITTER_TSSU(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$SUBMITTER_TSSU(PM800MP)
$SUBMITTER_TSSU($TABLE1(TSSUSERS))

See Also: $TSSUSER.

Notes:

This Descriptor is applicable to TOP SECRET security environments.

substring function

Description: To extract character substrings

Type: Character String Function.

Maximum Value: Not applicable.

This is a built-in function provided to facilitate the creation of character strings from character Descriptors.

(character-descriptor[,length[,starting-position]])
(%strid[,length[,starting-position]])
(%patid[,length[,starting-position]])

character descriptor

Represents a character Descriptor.

%strid

The name of a character string created with the STRINGDEF statement.

%patid

Represents a dynamically constructed pattern created with the PATTERNDEF statement.

If any wildcard characters are found they are treated as string characters. For example, asterisks.

length

The number of characters to be used. If this operand is omitted the length of the Descriptor is used.

The substring function allows a value from 1 to 255.

starting position

The starting position of the character string within the Descriptor. If this operand is omitted the default value is 1.

Usage:

The substring function can be used to construct strings with the PATTERNDEF and STRINGDEF definition statements.

Notes:

If the combined value of length and starting position is more than the length of the Descriptor, then:

 If the length and starting position are coded, the statement is failed with an error message.

 If only the starting position has been coded, allowing the length to default, a warning message is issued.

$SUBSYS

Description: Current Subsystem

Type: Character String Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the current Subsystem name.

$SUBSYS(name)

name

Current Subsystem name Identifies the subsystem. The subsystem name is 1 through 4 alphanumeric or national ($, #, @) characters; the first character must be alphabetic or national ($, #, @).

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$SUBSYS(TEST)

$TABLEn

Description: Specify a Table

Type: Table Construct.

This is not a DAL statement. It is a special construct that extends the capabilities of any pattern matching function by allowing you to match against a table containing several patterns. Each table contains one or more subtables, or groups of patterns, and you can search either a specific subtable or the entire table.

For more information about tables and how they are used, see to "Section DAL-and-JAL-table-management" in the DAL-and-JAL-user-guide.

descriptor($TABLEn[(subtable-name | *)])

descriptor($TABLEn[(subtable-name | *)

Represents any Descriptor that supports pattern matching.

n

Is a number from the range 1 to 9, used to identify the specific table.

subtable-name

Is a 1-24 character name identifying the specific portion of the table that you wish to use. This must match a name coded on one of the SUBTABLE statements in the table.

*

Indicates that you want to search all subtables in the table.

Usage:

This construct can be used as the right portion of any pattern matching function. Additionally, it can be used in place of a pattern or %patid in certain Unique Descriptors.

The table search is linear, and terminates as soon as a match is found. If any pattern contained in the specified subtable (or the entire table if '*' is coded) matches the character string contained in the Descriptor named in the left portion of the pattern matching function, a TRUE value is returned.

Examples:

EVALUATE   RACF_OK   ($RACFU($TABLE1(USERS))

In this example, the Property RACF_OK is set to TRUE if the RACF userid for the job matches any of the entries in the subtable USERS, which is found in the table identified as TABLE1.


$TSSUSER | $TSSU

Description: USER Parameter From JOB Statement

Type: Character string Descriptor.

Maximum Length: 7 characters.

This Descriptor represents the USER parameter from the JOB statement.

$TSSUSER(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-142 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$TSSUSER(PM800MP)
$TSSUSER($TABLE1(TSSUSERS))

See Also: $SUBMITTER_TSSU.

Notes:

This Descriptor is applicable to TOP SECRET security environments.

Under certain circumstances this field may be internally supplied (as opposed to JCL coded). In that case you might want to look at an 8-character field. The Descriptor $TSSUSER8 is provided for that purpose.

$TYPHOLD

Description: Job Submission TYPRUN=HOLD

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable returns a TRUE/FALSE value depending on how the job was submitted.

Jobs submitted with TYPRUN=HOLD will only be processed (before they are released from JES2 HOLD) if the keyword TYPHOLD was coded in the TMPARM JES2 initialization statement.

$TYPHOLD(NO | YES)

NO

When TRUE, it indicates that the job has not been submitted with TYPRUN=HOLD.

YES

When TRUE, it indicates that the job has been submitted with TYPRUN=HOLD.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($TYPHOLD(YES))
   WTU...

Notes:

The default for jobs submitted TYPRUN=HOLD is to be held at the end of the Job Analysis phase. You can override this via the action statement SET.

ThruPut Manager will not process a job submitted with TYPRUN=HOLD (before job being released from JES2 HOLD) unless the keyword TYPHOLD has been coded in the TMPARM JES2 initialization statement.

$TYPSCAN

Description: Job Submission TYPRUN=SCAN

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable returns a TRUE/FALSE value depending on how the job was submitted.

Note that ThruPut Manager will process jobs submitted with TYPRUN=SCAN only if TYPSCAN has been coded in TMPARM JES2 initialization statement.

$TYPSCAN(NO | YES)

NO

When TRUE, it indicates that the job has not been submitted with TYPRUN=SCAN.

YES

When TRUE, it indicates that the job has been submitted with TYPRUN=SCAN.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

Examples:

IF ($TYPSCAN(YES))
   WTU...

Notes:

Jobs that are submitted with TYPRUN=SCAN are not allowed to continue to execution regardless of what you code in DAL. This variable is provided in case you may want to alter DAL processing.

ThruPut Manager will not process jobs submitted as TYPRUN=SCAN unless the TYPSCAN keyword was included in the TMPARM JES2 initialization statement.

$UNIT_AFF

Description: Unit Affinity In Effect

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether unit affinity is in effect for this DD statement.

$UNIT_AFF(NO | YES)

NO

Returns a value of TRUE when unit affinity is not in effect for this DD statement.

YES

Returns a value of TRUE when unit affinity is in effect for this DD statement.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

See Also: $JCL_CODED.

Notes:

Unit affinity could have been requested for the DD statement but not granted due to inconsistent device types. To test whether UNIT=AFF was requested, use $JCL_CODED.

$UNIT_COUNT

Description: Count of Units Allocated

Type: Range Definition Descriptor.

Maximum Value: 59

This descriptor returns the number of units allocated to the current DD statement. These units might already have been counted for a previous DD statement.

$UNIT_COUNT [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Notes:

If no count is coded for the UNIT keyword on the DD statement, this Descriptor returns a value of 1 (the JCL default).

If UNIT=AFF is coded on the DD statement, this Descriptor returns the value coded for the referenced DD statement.

$UNITNAME

Description: UNIT Name from DD Statement

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the unit name originally coded on the DD statement that is being analyzed. If no UNIT name is coded, this Descriptor returns the generic unit name unless the data set is not cataloged. In that case, the Descriptor returns blanks.

$UNITNAME(pattern | %patid | table-id)

pattern

This is a hard-coded string. It can be 1-8 alphabetic, numeric, or national (#, @, $) characters, the first of which must be alphabetic or national. It can also include the wildcard characters '?' and '*'.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$UNITNAME(WORK)

See Also: $JCL_CODED and $JCL_UNITNAME_MATCH.

Notes:

This Descriptor should be used together with $JCL_CODED to determine whether the unit name was coded on the DD statement.

If the data set described by the DD statement is not found, this Descriptor returns blanks.

$USERCnn

Description: Character User Descriptor

Type: Character string User Descriptor.

Maximum Length: 50 characters.

One of 99 character User Descriptors provided for use by installation exits. These Descriptors are initialized to 50 blanks each time ThruPut Manager starts analyzing a job. Your exits can then assign values.

$USERCnn(pattern | %patid | table-id)

$USERCnn(pattern | %patid | table-id)

Identifies a character User Descriptor.

nn

Is one or two digits from the range 1 to 99.

pattern

This is a hard-coded string. It can be 1-50 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'. If pattern contains a blank, or any characters other than those previously listed, it must be enclosed in apostrophes.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table and indicates which subtable is to be searched.

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.

For a description of character string facilities see to "Section Character-string-facilities-tutorial" in the DAL-and-JAL-user-guide. For a description of table support, see to "Section DAL-and-JAL-table-management".

Usage:

This Descriptor can be used in EVALUATE definition statements and DAL Logic statements.

This Descriptor can also be used:

 As an insert in message definition statements.

 In a substring function.

 In STRINGDEF and PATTERNDEF statements.

Examples:

$USERC1(SAMP*)
$USERC5($TABLE3(*))

See Also: $USERNnn.

$USERLn_DCS

DCS ONLY

Description: User Logic Variable

Type: User Logic Variable.

Maximum Value: Not applicable.

Nine User Logic Variables are provided to communicate the results of DCS DAL processing to JAL or subsequent iterations of DCS DAL. These Logic Variables are initialized to FALSE.

$USERLn_DCS(FALSE | TRUE)

$USERLn_DCS

Identifies a User Logic Variable.

n

Is a digit from the range 1-9.

FALSE

Indicates the User Logic Variable is being tested for a FALSE value.

TRUE

Indicates the User Logic Variable is being tested for a TRUE value.

Usage:

This Variable can be used in the DCS DAL action statement SET $USERLn_DCS, in EVALUATE definition statements in JAL and DCS DAL, and also as an insert in message definition statements in JAL and DCS DAL.

See Also: SET $USERLn_type.

$USERLn_SOS

SOS ONLY

Description: User Logic Variable

Type: User Logic Variable.

Maximum Value: Not applicable.

Nine User Logic Variables are provided to communicate the results of SOS DAL processing to JAL or subsequent iterations of SOS DAL. These Logic Variables are initialized to FALSE.

$USERLn_SOS(FALSE | TRUE)

$USERLn_SOS

Identifies a User Logic Variable.

n

Is a digit from the range 1-9.

FALSE

Indicates the User Logic Variable is being tested for a FALSE value.

TRUE

Indicates the User Logic Variable is being tested for a TRUE value.

Usage:

This Variable can be used in the SOS DAL action statement SET $USERLn_SOS, in EVALUATE definition statements in JAL and SOS DAL, and also as an insert in message definition statements in JAL and SOS DAL.

See Also: SET $USERLn_type.

$USERLn_TM

Description: User Logic Variable

Type: User Logic Variable.

Maximum Value: Not applicable.

Nine User Logic Variables are provided in TM DAL to communicate the results of TM DAL processing to JAL or subsequent iterations of DAL. These Logic Variables are initialized to FALSE.

$USERLn_TM(FALSE | TRUE)

$USERLn_TM

Identifies a TM DAL User Logic Variable.

n

Is a digit from the range 1-9.

FALSE

Indicates the User Logic Variable is being tested for a FALSE value.

TRUE

Indicates the User Logic Variable is being tested for a TRUE value.

Usage:

This Variable can be used in the TM DAL action statement SET $USERLn_TM, in EVALUATE definition statements in JAL and TM DAL, and also as an insert in message definition statements in JAL and TM DAL.

See Also: SET $USERLn_type.

$USERNnn

Description: Numeric User Descriptor

Type: Range Definition User Descriptor.

Maximum Value: 99,999,999.

One of 99 numeric User Descriptors provided for use by your installation exits. These Descriptors are initialized to zero each time ThruPut Manager starts analyzing a job. Your exits can then assign values.

$USERNnn [0,]name1,start2,name2[,...,startN,nameN]

$USERNnn

Identifies a numeric User Descriptor.

nn

Is one or two digits from the range 1 to 99.

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points can be any value up to 99,999,999.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$USERN3   NONE,1,SOME,99999,LOTS

See Also: $USERCnn.

$VERIFY

Description: Table Verification

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Descriptor allows you to verify whether or not a particular table/subtable has been loaded. When using tables, a return of FALSE can indicate either:

 o   The table/subtable does not exist, or

 o   The table exists, but all subtables have been disabled.

$VERIFY name TABLEn(subtable-name-list | *) [TABLEn(subtable-name-list | *) ...]
or
$VERIFY name SACTABLE

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

TABLEn(subtable-name-list | *)

The name of the table whose status you want to verify. n can be a value from the range 1 to 9. This keyword is mutually exclusive with SACTABLE.

If you specify more than one table in a single $VERIFY statement, the result is TRUE only if all conditions are satisfied. In other words, it is treated as an "AND" verification request.

subtable-name-list

The subtable names whose status you want to verify. This is an "and" list. That is, all subtables must be present to result in a TRUE value.

This parameter is mutually exclusive with '*'. You must code one of them.

*

This parameter allows you to verify that the table has been loaded and at least one of its subtables is active.

This parameter is mutually exclusive with subtable-name. You must code one of them.

SACTABLE

Requests verification that the SAC table has been properly loaded. This keyword is mutually exclusive with TABLEn.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

Examples:

$VERIFY  PROD_TABLE_OK   TABLE1(PRODUCTION_TABLE)
$VERIFY  DEV_TABLE_1_OK  TABLE1(DEVICE_TABLE_1)
$VERIFY  DEV_TABLE_2_OK  TABLE1(DEVICE_TABLE_2)

In this example, the verifications for subtables are done individually. As a result, you can take different actions depending on the condition of each subtable:

IF (PROD_TABLE_OK)
...
OTHERWISE
...

If you want to treat it as an all or nothing test you can code:

$VERIFY   ALL_TABLES_OK   TABLE1(PRODUCTION_TABLE,DEVICE_TABLE_1,DEVICE_TABLE_2)
...
...
IF (ALL_TABLES_OK)
...

If you simply want to ensure that table 1 has been loaded and contains at least one active subtable you can code:

$VERIFY   TABLE_1_OK   TABLE1(*)

Note that the SAC table must be verified independently:

$VERIFY   SAC_TABLE_OK   SACTABLE

See Also: $TABLEn.

$VOL_AUTO

Description: Automated Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 cartridge volumes.

This Descriptor represents the number of non-scratch automated cartridge volumes required by the DD statement, including the number of volumes represented by the value in $VOL_TO_ENTER.

$VOL_AUTO   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of volumes as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$VOL_AUTO   NO_AUTO_VOLS,1,AUTO_VOLS,16,SPECIAL_AUTO

See Also: $VOL_TO_ENTER.

$VOL_MANUAL

Description: Cartridge Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 cartridge volumes.

This Descriptor represents the number of non-scratch cartridge volumes required by a non-automated DD statement that must be fetched before step execution.

$VOL_MANUAL [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of volumes as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$VOL_MANUAL   NO_CART_VOLS,1,CART_VOLS,16,SPECIAL_CART_VOLS

See Also: $VOL_AUTO and $VOL_REEL.

$VOL_MATCH

Description: Match the Volumes Requested

Type: Unique Descriptor.

Maximum Value: Not applicable.

This Unique Descriptor allows you to match the volume serial numbers required by the DD statement against a list of volumes, either hard-coded or contained in a ThruPut Manager Table.

$VOL_MATCH name VOLUMES(vol-list | %patid | table-id)
                [CART(AUTOMATED | MANUAL | ALL) | DASD | REEL]
                [ALL | NONE | SOME]

name

Specifies the Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).

CART(AUTOMATED | MANUAL | BOTH)

Indicates that cartridge volume serial numbers are to be matched. This keyword is mutually exclusive with DASD and REEL.

AUTOMATED

Only automated cartridges are included in the list to match.

MANUAL

Only manual cartridges are included in the list to match.

BOTH

Indicates that both automated and manual cartridges are included in the list to match.

DASD

Indicates that DASD volume serial numbers are to be matched. This keyword is mutually exclusive with CART and REEL.

REEL

Indicates that volume serial numbers for reels are to be matched. This keyword is mutually exclusive with CART and DASD.

VOLUMES(vol-list | table-id)

Specifies the source of the list of volumes to be matched.

vol-list

A hard coded volume list, separated by commas.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

Identifies a specific table to be matched against.

ALL

The Property is TRUE if all the volumes in the DD statement are found in the list or table, or if the volume count is 0. This keyword is mutually exclusive with NONE and SOME.

NONE

The Property is TRUE only if none of the volumes in the DD statement are found in the list or table. This keyword is mutually exclusive with ALL and SOME.

SOME

The Property is TRUE if at least one volume in the DD statement is found in the list or table. This keyword is mutually exclusive with ALL and NONE.

This is the default.

Usage:

This Descriptor can be used only in the Definition Section of DAL.

$VOL_REEL

Description: Non-Cartridge Tape Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 non-cartridge tape volumes.

This Descriptor represents the number of non-scratch non-cartridge tape volumes required by the DD statement that must be fetched before step execution.

$VOL_REEL   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of volumes as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$VOL_REEL NO_TAPE_REELS,1,TAPE_REELS

See Also: $VOL_AUTO and $VOL_MANUAL.

$VOL_SCRATCH

Description: Indicates the Type of Volume Request

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the request was for a scratch volume (non-specific) or a specific volume.

$VOL_SCRATCH(NO | YES)

NO

Returns a value of TRUE for a specific volume request, i.e. when a volume serial number was hard-coded in JCL or the data set is cataloged.

YES

Returns a value of TRUE for a scratch request, i.e. when no volume serial number was coded for a non-cataloged data set.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

$VOL_TO_EJECT

Description: Automated Volumes Required Outside the Automated Library

Type: Range Definition Descriptor.

Maximum Value: 9999 cartridge volumes.

This Descriptor represents the number of non-scratch cartridge volumes required by the DD statement that are within the automated system but are required in non-automated drives.

$VOL_TO_EJECT   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of volumes as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$VOL_TO_EJECT NONE_RESIDENT,1,CARTS_TO_EJECT

See Also: $VOL_AUTO, $VOL_REEL, and $VOL_TO_ENTER.

$VOL_TO_ENTER

Description: Automated Volumes Outside the Automated Library

Type: Range Definition Descriptor.

Maximum Value: 9999 cartridge volumes.

This Descriptor represents the number of non-scratch cartridge volumes required by the DD statement that are outside the automated system but are to be treated as automated. This situation occurs when an "AUTOMATED" UNIT name has been coded in the JCL and the volumes associated with that DD are not resident in any automated library system.

$VOL_TO_ENTER   [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

Starting points are specified in number of volumes as 1-4 decimal digits.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$VOL_TO_ENTER ALL_RESIDENT,1,CARTS_OUT

See Also: $VOL_AUTO, $VOL_REEL, and $VOL_TO_EJECT.

$VOLUME_COUNT

Description: Volume Count from JCL

Type: Range Definition Descriptor.

Maximum Value: 255 volumes.

This Descriptor represents the volume count that was coded as a subparameter of the VOLUME keyword of the DD statement being analyzed.

$VOLUME_COUNT [0,]name1,start2,name2[,...,startN,nameN]

start

The starting point of a segment. The first starting point must be 0, but can be omitted if desired.

name

The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.

Usage:

This Descriptor can be used in the Definition Section of DAL, and also as an insert in message definition statements.

Notes:

If no volume count was coded, this Descriptor returns the default value of 1.

VTAPE SET

Description: Specify a VTAPE data set

Type: Action Statement.

In a CA-Vtape environment, this statement allows you to control whether a data set should be treated as a virtual tape data set:

 The data set must be new.

 The data set must reside on a cartridge.

 The DD statement must not specify UNIT=AFF.

VTAPE SET VIRTUAL(YES | NO)

VIRTUAL(YES | NO)

Indicates whether or not the data set being allocated by the current DD statement should be treated as a CA-Vtape virtual data set.

YES | NO

Self-explanatory.

Notes:

If the data set is already virtual, VIRTUAL(NO) is ignored.

$WLM_MODE

Description: Detect Workload Manager Mode

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable lets you determine if the system that is analyzing the job is in WLM GOAL or COMPATIBILITY mode.

$WLM_MODE(COMPAT | GOAL)

COMPAT

Returns a value of TRUE if the analyzing system is running in COMPATIBILITY mode, otherwise it returns a value of FALSE.

GOAL

Returns a value of TRUE if the analyzing system is running in GOAL mode, otherwise it returns a value of FALSE.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.

WTCA7

Description: Write a Message to a CA7 Logical Terminal

Type: Communication statement.

This DAL statement causes a message to be written to a CA7 logical terminal associated with the CA7 instance of the current job.

WTCA7 (id1[,id2,...idN])

id

Specifies the symbols or list of symbols associated with CA7 messages, as established by prior MSGDEF statements.

Examples:

MSGDEF AUTO_MSG (‘STEP ‘,$STEPNAME,’ USES ‘,$VOL_AUTO,’ AUTOMATED VOLUMES.’) +
                CA7LTERM(LIBRARY)
...
WTCA7 AUTO_MSG

See Also: $CA7, MSGDEF, SEND, WTO, and WTU.

Notes:

You can omit the parentheses () if a single message identifier is specified.

The routing of CA7 messages is controlled by the CA7LTERMkeywordofthe MSGDEFstatement.

WTO

Description: Write a Message to Operator

Type: Communication statement.

This DAL statement causes a message to be written to an operator console.

WTO (id1[,id2,...idN])

id

Specifies the symbols or list of symbols associated with operator messages, as established by prior MSGDEF statements.

Examples:

MSGDEF AUTO_MSG (‘STEP ‘,$STEPNAME,’ USES ‘,$VOL_AUTO,’ AUTOMATED VOLUMES.’) +
                ROUTCDE(120)
...
WTO AUTO_MSG

See Also: MSGDEF, SEND, WTCA7, and WTU.

Notes:

You can omit the parentheses () if a single message identifier is specified.

The routing of operator messages is controlled by keywords of the MSGDEF statement.

WTU

Description: Write a Message to User

Type: Communication statement.

This DAL statement causes a message to be written to the job's SYSMSGS file or the Job LOG.

WTU (id1[,id2,...idN])

id

Specifies the symbols or list of symbols associated with user messages, as established by prior MSGDEF statements.

Examples:

MSGDEF BAD_ACCT_MSG ($ACCT,’ IS AN INVALID ACCOUNT.’)
...
WTU BAD_ACCT_MSG

See Also: MSGDEF, SEND, WTCA7, and WTO.

Notes:

The default destination for WTU is the SYSMSGS file.

You can omit the parentheses () if a single message identifier is specified.

If you want the message to appear in the job's log, then you must code the LOG keyword in the MSGDEF statement.





 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*