List of JAL elements (M-S)


$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 JOB 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 JAL, and also as an insert in message definition statements.

Examples:

$MEMLIMIT  NONE_ABOVE,1,MEMLIMIT

See Also: SET 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-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 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 JAL, and also as an insert in message definition statements.

Examples:

$MHS_USER_HOLD#  NO_USER_HOLD,1,USER_HOLD,2,USER_HOLDS

 MHS_VOL SET EXEMPT

Description: Makes Job Ineligible for MHS_VOL Processing

Type: Action statement.

This statement allows you to make a job exempt from MHS_VOL processing.

MHS_VOL SET EXEMPT(YES | NO)


EXEMPT(YES | NO)

Indicates that you want to specify whether the job being analyzed is eligible to be placed in the MHS_VOL hold category.

YES

Indicates that the job being analyzed is to be EXEMPTed from MHS_VOL processing and is, therefore, not eligible to be placed in the MHS_VOL hold category.

NO

Indicates that the job being analyzed is eligible to be placed in the MHS_VOL hold category. This is the default.

See Also: $JXMHS_VOL_EXEMPT.

 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) refer 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, refer to “ Defining and Using Messages and Displays” in the DAL/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_ALTERED

Description: 

SOS ONLY

Description: Test for Altered MSGCLASS

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the MSGCLASS for the SYSOUT data set was altered by an SOS SET MSGCLASS statement.


YES

When this subparameter is coded, $MSGCLASS_ALTERED is TRUE if the MSGCLASS

was altered by an SOS SET MSGCLASS statement.

NO

When this subparameter is coded, $MSGCLASS_ALTERED is TRUE if the SYSOUT data set

was not altered by an SOS SET MSGCLASS statement.

Usage:

This Variable can be used in JAL Logic statements only.

Examples:

$MSGCLASS_ALTERED(YES)

This Variable evaluates to TRUE if the MSGCLASS has been changed by an SOS SET MSGCLASS statement.

See Also: $CURMSGCLASS, $JXMSGCLASS, and SOS SET MSGCLASS.

 $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:

N
NO
Y
YES

Usage:

This Variable can be used in EVALUATE definition statements and JAL 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 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:

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 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:

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.

JAL 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) refer 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, refer to “ Defining and Using Messages and Displays” in the DAL/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.

 $MSSVOLS

Description: Volumes Staged By MSS

Type: Range Definition Descriptor.

Maximum Value: 9999 MSS staged volumes.

This Descriptor represents the number of virtual volumes that must be staged by the Mass Storage Subsystem (MSS).

$MSSVOLS   [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 JAL, and also as an insert in message definition statements.

Examples:

$MSSVOLS    NO_MSS_VOLS,1,MSS_VOLS,9,MSS_VOLS_ERROR

  $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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$NJEUSER(ACCTNG)
$NJEU(ENGNEER)
$NJEU($TABLE1(USERS))

  $NOTIFY

Description: NOTIFY Parameter From the JOB statement or /*NOTIFY

Type: Character string Descriptor.

Maximum Length: 8 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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$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
 EXIT FAIL
ORIF(MOUNT)
 SET CLASS(H)
 EXIT REQUEUE
OTHERWISE
 SET CLASS(I)
 EXIT REQUEUE
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 JAL 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 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:

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

Note: 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 JAL statements which are to be performed should the IF or the ORIF expression evaluate to TRUE.

false-action

Any valid JAL statements which are to be performed should the IF and ORIF expressions evaluate to FALSE.

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

Examples:

IF (ILLEGAL)
 WTU ERROR1
 EXIT FAIL
ORIF(MOUNT)
 SET CLASS(H)
 EXIT REQUEUE
OTHERWISE
 SET CLASS(I)
 EXIT REQUEUE
ENDIF

Note: 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.

 $OUTCLASS

Description: JAL Assigned Requeue Class

Type: Character string Descriptor.

Maximum Length: 8 character.

This Descriptor represents a JAL requeue class (the execution class assigned to the job by JAL).

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


pattern

This is a hard-coded string. It can be 1-8 alphabetic or numeric 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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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.

Examples:

     $OUTCLASS(A)

See Also: $XEQCLASS

Notes:

In SMF records $OUTCLASS will be shown as JAL assigned class rather than SLM assigned.

In an uncommon situation when there is no SET CLASS statement in JAL, the $OUTCLASS descriptor will represent the input class.

 $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 JAL, 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.

 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 JAL 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.

In JAL, this function can be tested by an IF or EVAL statement and the outcome used to determine what actions to take:

IF ($ACCT(MMPAY910)) ...

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 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.

Binding Agent Name Rules:

The rules for matching Binding Agent Names are identical to the rules for matching data set names, with the following exception:

 The use of the double-asterisk (**) as a wildcard character is meaningless, since Binding Agents cannot have more than two levels for a name.

 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 JAL 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 JAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function refer to the “Substring Function” in this reference section.

  %PATID

A previously defined pattern. You specify the pattern id.

  %STRINGID

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 Job 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.

See Also: PATTERNDEFX.

Notes:

With PATTERNDEF the characters ‘*’ or ‘?’, unless especially noted, are treated as wildcard characters. 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
JOB USER_DISPLAY

See Also: CHARSET, PATTERNDEF, and STRINGDEF.

Note: 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: 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(YES | NO)


This function call returns a TRUE/FALSE value depending on the presence of the PERFORM= keyword on the JOB statement.

YES

When TRUE, it indicates that the keyword PERFORM= was coded on the JOB statement.

NO

When TRUE, it indicates that the keyword PERFORM= was not coded on the JOB statement.

Usage:

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

Examples:

IF ($PERFORM(YES))
  WTU...

See Also: $JOB_PERFORM, $JXPERFORM, and SET PERFORM.

  $PGMR

Description: Programmer Name From the 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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$PGMR(‘APPLICATIONS TESTING’)
$PGMR($TABLE1(NAMES))

 PROCEDURE | PROC

Description: Indicate Type of Action Language

Type: Language Directive.

Maximum Value: Not applicable.

This statement is a language directive. Its purpose is to indicate the type of Action Language to be processed. For JAL, it is an optional statement. If present, it must be the first statement in your source input to the Language Processor.

The short form for this directive is PROC.

PROCEDURE ID(JAL) [DESC(‘user-description’)]


ID(JAL)

Indicates that you are identifying the type of Action Language to be processed.

JAL

Specifies that the language is JAL.

If the statement is not coded, JAL is the default.

DESC(‘user-description’)

Allows you to specify a description that is included in the output from DISPLAY and REFRESH commands for identification purposes.

‘user-description’

Is a string of up to 24 characters, enclosed in apostrophes. To include an apostrophe, code two successive apostrophes.

Examples:

PROCEDURE ID(JAL) DESC(‘PRODUCTION’)

 $PROCEDURE | $PROC

Description: Procedure Name/Library

Type: Unique Descriptor. Maximum Length: Not applicable.

This Descriptor lets you determine whether or not a particular procedure name pattern has been coded within the job.

$PROCEDURE name (proc-list)
[LIB(dsname-pattern | % patid | table)] |
[TYPE (INSTREAM |PRIVATE | SYSTEM]


name

Specifies the procedure name to be associated with this $PROCEDURE Descriptor. This symbol must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore(_) characters. The first character must be alphabetic or national. The name must be unique and cannot start with the character $.

proc-list

A pattern list for a procedure name. The list can have 1 or many elements (up to 20) and it can be either a hard-coded pattern, a %patid representing a pattern created with a PATTERNDEF, a $TABLEn construct, or a combination of these types.

The procedure list is an “OR” list. That is, any one of the procedures satisfies the condition.

LIB(dsname-pattern | %patid | table-id)

The data set name from which the procedures procname was retrieved.

dsname-pattern

A hard-coded data set name pattern.

%patid

The name of a pattern created with a PATTERNDEF statement.

table-id

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

For a complete description of data set name patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

TYPE

TYPE defines where the procedure was found. It is one of the following:

 INSTREAM – The procedure was found in an input stream procedure.

 PRIVATE – The procedure was found in a private library

 SYSTEMS – The procedure was found in a system library.

Usage:

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

Examples:

$PROCEDURE PR333 (AMASPZAP,ZAPVTOC)

In this case any reference to the procedures AMASPZAP or ZAPVTOC will make the procedure property ‘PR333’ TRUE.

$PROCEDURE PR333_QA (SAS*,GL*,AR*,AP*) LIB(PROD.**.LOAD)

In this example, for ‘PR333_QA’ to be TRUE, procedure name should much the pattern and the procedure is retrieved from a data set which matches the data set name pattern defined by the LIB keyword.

$PROCEDURE ONLINE_DATABASE (DC8*,DC9*) TYPE(PRIVATE)

In the example above, ‘ONLINE_DATABASE’ is TRUE when procedure name matches the pattern and it is found in a PRIVATE library.

 $PROGRAM | $PGM

Description: Program Name/Library

Type: Unique Descriptor.

Maximum Length: Not applicable.

This Descriptor lets you determine whether or not a particular program name pattern has been coded on an EXEC statement. The program library reference can also be established.

$PROGRAM name (name-list)
             [EXEC_ACCT(pattern | %patid | table-id | $BLANK) |
              EXEC_ACCTFLD(field#,pattern | %patid | table-id | $BLANK)]
             [LINKLIST | LIB(dsname-pattern | % patid | table-id)]
             [ONLY]
             [PARM(pattern | %patid | table-id | $BLANK) |
              PARMFLD(field#,pattern | %patid | table-d | $BLANK)|
              PARMDD]
             [STEPNAME(pattern | %patid | table-id)]


name

Specifies the Job Property name to be associated with this $PROGRAM Descriptor. This symbol must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore(_) characters. The first character must be alphabetic or national. The name must be unique and cannot start with the character $.

name-list

A pattern list for a program name. The list can have 1 or many elements (up to 20) and it can be either a hard-coded pattern, a %patid representing a pattern created with a PATTERNDEF, a $TABLEn construct, or a combination of these types.

The program list is an “OR” list. That is, any one of the programs satisfies the condition.

EXEC_ACCT(pattern | %patid | table-id)

When coded, indicates that you want to match the character pattern against the entire ACCT string found on the EXEC statement of a matching program name. The Job Property returns a TRUE value only if both match.

This keyword is mutually exclusive with EXEC_ACCTFLD.

pattern

A hard-coded pattern of 1-8 characters.

%patid

The name of a pattern created with a PATTERNDEF statement.

table-id

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

$BLANK

Is a special subparameter that allows you to check for blanks.

For a complete description of patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

EXEC_ACCTFLD(field#,pattern | %patid | table-id)

When coded, indicates that you want to match the character pattern against a specific field    of the ACCT string found on the EXEC statement of a matching program name. The Job Property returns a TRUE value only if both match.

This keyword is mutually exclusive with EXEC_ACCTFLD.

field#

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

pattern

A hard-coded pattern of 1-8 characters.

%patid

The name of a pattern created with a PATTERNDEF statement.

table-id

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

$BLANK

Is a special subparameter that allows you to check for blanks.

For a complete description of patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

LIB(dsname-pattern | %patid | table-id)

When coded, the LIB parameter requests that the presence of either a STEPLIB or JOBLIB be determined. If there is both a JOBLIB and a STEPLIB, the STEPLIB takes precedence. The Job Property assumes a TRUE value only if there is a JOBLIB or STEPLIB and the first data set name matches the pattern.

This keyword is mutually exclusive with the LINKLIST keyword.

dsname-pattern

A hard-coded data set name pattern.

%patid

The name of a pattern created with a PATTERNDEF statement.

table-id

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

For a complete description of data set name patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

LINKLIST

If this keyword is present, the presence of a JOBLIB or STEPLIB DD statement in the job stream causes the Job Property to be set to FALSE.

This keyword is mutually exclusive with the LIB keyword.

ONLY

If this keyword is present, the Job Property is set to TRUE when the specified program name is the only program name referenced in the job. There could be multiple references.

STEPNAME(pattern | %patid | table-id)

When coded indicates that you want to match the stepname of the statement that is calling a program that satisfies the program list. The Job Property returns a TRUE value only if both match.

pattern

A hard-coded pattern of 1-8 characters.

%patid

The name of a pattern created with a PATTERNDEF statement.

table-id

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

For a complete description of patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

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

When coded, indicates that you want to match the character pattern against the entire parameter string found on the EXEC statement of a matching program name. The Job Property returns a TRUE value only if both match.

This keyword is mutually exclusive with PARMFLD.

pattern

This is a hard-coded string. It can be 1-100 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 a PATTERNDEF statement.

table-id

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

$BLANK

Is a special subparameter that allows you to check for blanks.

For a complete description of patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

PARMFLD(field#,pattern | %patid | table-id | $BLANK)

When coded, indicates that you want to match the pattern against a specific field in the parameter string found on the EXEC statement of a matching program name. The Job Property returns a TRUE value only if both match.

This keyword is mutually exclusive with PARM.

field#

A number 1-50 indicating the particular field for pattern matching. Fields within a parameter character string are separated by commas.

pattern

This is a hard-coded string. It can be 1-100 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 a PATTERNDEF statement.

table-id

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

$BLANK

Is a special subparameter that allows you to check for blanks.

For a complete description of patterns refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a complete description of table support, refer to “ DAL and JAL Table Management”.

PARMDD

Is a keyword that specifies a DD statement that contains the PARM data. This DD is read and the data is automatically passed to the calling program. The maximum amount of data is 32760 bytes.

PARMDD is mutually exclusive with the PARM and PARMFLD keywords.

Usage:

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

Examples:

$PROGRAM ILLEGAL (AMASPZAP,ZAPVTOC)

In this case any reference to the programs AMASPZAP or ZAPVTOC in the job stream will make the Job Property ‘ILLEGAL’ TRUE.

$PROGRAM PRODUCTION_JOB (PAY*,GL*,AR*,AP*) LIB(PROD.**.LOAD)

In this example, for ‘PRODUCTION_JOB’ to be TRUE, the following conditions must occur:

 There is a reference to a program that matches one of the program patterns

 For the step where the program name matches, the STEPLIB if present, must match the LIB pattern

 If there is no STEPLIB in the matching step, then the JOBLIB, if present, must match the LIB pattern

If the number of patterns you want to match is large, you can use one or more tables instead of hardcoded patterns.

$PROGRAM ONLINE_DATABASE (DC8*,DC9*) PARM(*IMSS5*)

In the example above, ‘ONLINEDB’ is TRUE when:

 There is an EXEC statement with a program that matches the program name pattern

 For that EXEC statement, the PARM keyword has been coded and contains the characters ‘IMSS5’ anywhere in the string

Notes:

This Descriptor can be used to ensure that a particular program is always executed from a specific library.

The PARM and PARMFLD keywords can be used to detect BMPs.

  $RACFG | $RG

Description: GROUP Parameter From the 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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$RACFG(AP100)
$RG(TESTING)
$RACFG($TABLE1(GROUPS))

See Also: $RACFU.

  $RACFU | $RU

Description: USER Parameter From the JOB statement

Type: Character string Descriptor.

Maximum Length: 8 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-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 “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to the “ 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:

$RACFU(MKTING)
$RU(OPSSHF2)
$RACFU($TABLE2(USERS))

See Also: $RACFG.

 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, JAL allows you to divide the range up into segments. You assign Job Property names and specify the starting point for each segment. With this type of definition, multiple Job 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 Job 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 Job Property names are paired. The first Job 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 Job 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.

 JAL 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 Job Property must therefore always be TRUE.

Usage:

This statement can be used only in the JAL definition section.

The following illustrates the conventions used to assign names to segments of a range:

$VOL_CART_ALL   0,NO_CART_VOLS,1,FEW_CART_VOLS,5,MANY_CART_VOLS

This statement is interpreted as follows:

$VOL_CART_ALL   0 ?€NO_CART_VOLS < 1 ?  FEW_CART_VOLS < 5 ? MANY_CART_VOLS

Where:

0

is the optional first starting point. All ranges begin with 0, whether it is specifically coded or omitted.

NO_CART_VOL

is the Job Property name for the segment “less than 1 cartridge volume” (i.e., no private cartridges requested).

FEW_CART_VOLS

is the Job Property name for the segment “greater than or equal to 1 cartridge volume but less than 5 cartridge volumes.”

MANY_CART_VOLS

is the Job Property name for the segment “greater than or equal to 5 cartridge volumes but less than 9999 volumes.”

Examples:

$VOL_CART_ALL NO_CARTS,1,CARTS

In this example, the Job Property NO_CARTS is TRUE for jobs not requiring cartridge volumes, while the CARTS Job Property is TRUE for jobs requiring the use of cartridge volumes.

$CPU  LOW_CPU,1:30,MEDIUM_CPU,3,HIGH_CPU

In the second example, any job with a CPU time request greater than or equal to zero but less than    1 minute and 30 seconds has the Job Property LOW_CPU set to TRUE. Any job with a CPU time request greater than or equal to 1 minute and 30 seconds and less than 3 minutes has the MEDIUM_ CPU Job Property set to TRUE, while any job with a CPU time request greater than 3 minutes has the HIGH_CPU Job Property set to TRUE.

 $RD

Description: Checkpoint/Restart Parameter

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to check the value of the checkpoint/restart parameter. This parameter is set by the RD keyword on the JOB statement or the SET RD Action statement.

$RD(NC | NR | R | RNC)


NC

Returns a value of TRUE when the RD parameter is set to NC.

NR

Returns a value of TRUE when the RD parameter is set to NR.

R

Returns a value of TRUE when the RD parameter is set to R.

RNC

Returns a value of TRUE when the RD parameter is set to RNC.

Usage:

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

See Also: SET RD.

  $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 JAL, 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 JAL, 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 JAL, 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 JAL, 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.

$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 JAL, 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 2010.

$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 JAL, and also as an insert in message definition statements.

Examples:

$READER_YEAR  PRE_2010,2010,YEAR_2010,2011,POST_2010

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.

 $REGION

Description: Maximum Region Size

Type: Range Definition Descriptor.

Maximum Value: 2096128 expressed in K-bytes.

This Descriptor represents the maximum region size (in K-bytes) required during execution, as determined by the largest region requested by a job step or the region size specified on the JOB statement.

$REGION   [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 JAL, and also as an insert in message definition statements.

Examples:

$REGION  HUGE_REGION,4,SMALL_REGION,1024,BIG_REGION

See Also: SET REGION.

Notes:

All REGION= values specified in JCL are rounded up to the next highest multiple of 4. This is consistent with how the REGION= parameter is handled by MVS when the job executes. When a job contains REGION=0K, MVS treats this as a request for all storage left in the MVS private area, if required by the program that is executing. Since the amount of storage in the private area varies from installation to installation, ThruPut Manager  has no consistent way of treating this request. You can detect and handle this condition in JAL by coding:

$REGION   HUGE_REGION,4,SMALL_REGION,1024,BIG_REGION,6192,CANT_RUN

Here, HUGE_REGION is assigned only to jobs requesting REGION=0K (requests for 1K to 3K are rounded up to 4K), and can be used later to make a classing decision based on your installation’s standards. Also in this example, jobs requesting more than 6192K are given the name CANT_RUN and can be failed if you do not want jobs that large to run.

 $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 JAL 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.

  $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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$ROOM(1700)
$ROOM(TEST)
$ROOM($TABLE2(ROOMS))

 $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 JAL, 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   

 $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.

Note: 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:

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.

Note: 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_CHECK

Description: Check Security Authorization

Type: Unique Descriptor.

Maximum Value: Not applicable.

ThruPut Manager  creates a System Authorization Facility (SAF) compatible secure environment in which to do Job Analysis. This Descriptor allows you to check the SAF authorization for the SAF user or group associated with the job.

$SAF_CHECK name [ATTR(ALTER | CONTROL | READ | UPDATE)]
               CLASS(‘class’ | %stringid)
               RESOURCE(‘resource’ | %stringid)


name

Specifies a unique name that consists of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of the name cannot be a dollar sign ($) or underscore (_).

This is not equivalent to a Property Name, in that Property Names are assigned TRUE/FALSE values. This name can be used only in EVAL statements, and is assigned one of the following values:

 AUTHORIZED

 DENIED

 NOT_DEFINED

 ERROR

 JALTEST

ATTR(ALTER | CONTROL | READ | UPDATE)

Indicates that you want to check the access authority.

ALTER

Checks whether the SAF user or group has total control over the resource.

CONTROL

Checks whether the SAF user or group has CONTROL authority for the resource.

READ

Checks whether the SAF user or group can open the resource only to read. This is the default.

UPDATE

Checks whether the SAF user or group can open the resource to read or write.

CLASS(‘class’ | %stringid)

Specifies that SAF authorization checking is to be performed for a resource of the specified class.

‘class’

Is a 1-8 byte SAF resource class, enclosed in apostrophes.

%stringid

You can specify the name of a dynamically constructed character string that has been defined with a STRINGDEF statement. The length can be up to 8 characters.

RESOURCE(‘resource’ | %stringid)

Specifies that SAF authorization checking is to be performed for the specified resource.

‘resource’

Is a 1-255 byte SAF resource entity, enclosed in apostrophes.

%stringid

You can specify the name of a dynamically constructed character string that has been defined with a STRINGDEF statement. The length can be up to 255 characters.

Usage:

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

Examples:

$SAF_CHECK SECURITY CLASS(‘FACILITY’) RESOURCE(‘IMS’)
...
EVAL  AUTHORIZED      (SECURITY(AUTHORIZED))
EVAL  UNAUTHORIZED    (SECURITY(DENIED))
EVAL  UNKNOWN         (SECURITY(NOT_DEFINED))
      EVAL  ERROR           (SECURITY(ERROR))
...
IF (UNAUTHORIZED)
  WTU UNAUTHORIZED_MSG /* Notify user of security violation */
  EXIT FAIL
ENDIF
...

Note: The ThruPut Manager  security environment is identical to the security environment when the job executes.

 $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:

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.

Note: This field is padded with blanks. If no data has been entered for the SAF user name, STRINGDEF will return a string of blanks.

 $SCRATCH

Description: Scratch Volumes Requested

Type: Range Definition Descriptor.

Maximum Value: 9999 scratch tapes.

This Descriptor represents the minimum number of requested scratch cartridges and reels. It is the sum of the values contained in $SCRATCH_AUTO, $SCRATCH_MANUAL and $SCRATCH_ REEL.

$SCRATCH [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 JAL, and also as an insert in message definition statements.

Examples:

$SCRATCH  NO_SCRATCH,1,SCRATCH

See Also: $SCRATCH_AUTO, $SCRATCH_CART_ALL, $SCRATCH_MANUAL, $SCRATCH_REEL, and $SCRATCH_VTS.

Notes:

This descriptor includes tape reels and all cartridges.

It is possible for a given file requesting a scratch volume to go to several volumes. This Descriptor assumes only one volume, therefore it represents the minimum number of scratch volumes.

 $SCRATCH_AUTO

Description: Automated Scratch Cartridge Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 scratch cartridges.

This Descriptor represents the minimum number of scratch cartridge volumes to be served by the automated system as recorded in the selected Job Profile.

$SCRATCH_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 JAL, and also as an insert in message definition statements.

Examples:

$SCRATCH_AUTO   NO_AUTO_SCRATCH,1,AUTO_SCRATCH,25,AUTO_SCRATCH_ERR

See Also: $SCRATCH_CART_ALL and $SCRATCH_MANUAL.

Note: It is possible for a given file requesting a scratch volume to go to several volumes. This Job Descriptor assumes only one volume, therefore it represents the minimum number of scratch volumes.

 $SCRATCH_CART_ALL

Description: Scratch Cartridge Volumes Requested

Type: Range Definition Job Descriptor.

Maximum Value: 9999 scratch cartridge volumes.

This Job Descriptor represents the minimum number of requested scratch cartridge volumes as recorded in the selected Job Profile. It is the sum of the values contained in $SCRATCH_AUTO and $SCRATCH_MANUAL.

$SCRATCH_CART_ALL [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 JAL, and also as an insert in message definition statements.

Examples:

$SCRATCH_CART_ALL  NO_SCRATCH_CARTS,1,SCRATCH_CARTS

See Also: $SCRATCH_AUTO and $SCRATCH_MANUAL.

Notes:

This descriptor includes regular cartridges and automated cartridges.

It is possible for a given file requesting a scratch volume to go to several volumes. This Descriptor assumes only one volume, therefore it represents the minimum number of scratch volumes.

 $SCRATCH_MANUAL

Description: Manual Scratch Cartridge Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 scratch cartridges.

This Descriptor represents the minimum number of cartridge scratch volumes requested that are to be served manually as recorded in the selected Job Profile.

$SCRATCH_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 JAL, and also as an insert in message definition statements.

Examples:

$SCRATCH_MANUAL   NO_CART_SCRATCH,1,CART_SCRATCH,25,CART_SCRATCH_ERR

See Also: $SCRATCH_AUTO and $SCRATCH_CART_ALL.

Note: It is possible for a given file requesting a scratch volume to go to several volumes. This Descriptor assumes only one volume, therefore it represents the minimum number of scratch volumes.

 $SCRATCH_REEL

Description: Scratch Non-Cartridge Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 scratch tape reels.

This Descriptor represents the minimum number of non-cartridge scratch tape volumes requested.

$SCRATCH_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 JAL, and also as an insert in message definition statements.

Examples:

$SCRATCH_REEL   NO_SCRATCH_REEL,1,SCRATCH_REELS

See Also: $SCRATCH, $SCRATCH_AUTO, and $SCRATCH_MANUAL.

Note: It is possible for a given file requesting a scratch volume to go to several volumes. This Descriptor assumes only one volume, therefore it represents the minimum number of scratch volumes.

 $SCRATCH_VTS

Description: Scratch VTS Volumes

Type: Range Definition Descriptor.

Maximum Value: 9999 scratch VTS volumes.

This Descriptor represents the minimum number of VTS scratch volumes requested.

$SCRATCH_VTS [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 JAL, and also as an insert in message definition statements.

Examples:

$SCRATCH_VTS   NO_SCRATCH_VTS,1,SCRATCH_VTS

Notes:

It is possible for a given file requesting a scratch volume to go to several volumes. This Descriptor assumes only one volume, therefore it represents the minimum number of scratch volumes.

Because this Descriptor describes virtual volumes, its count is not included in summary Descriptors such as $SCRATCH and $SCRATCH_CART_ALL.

 SEND

Description: Write a Message to a TSO User

Type: Communication statement.

This JAL statement causes a message to be written to a TSO user. If the user is not logged on, the message is received at the next logon.

SEND (id1[,id2,...idN])


id

Specifies the symbol or list of symbols associated with TSO messages, as established by prior MSGDEF statements.

Examples:

STRINGDEF %USERID ($SUBMITTER_RACFU)
MSGDEF OVERNITE_MSG (‘JOB ‘,$JOBNAME,’ WILL BE QUEUED FOR OVERNIGHT SERVICE.’) +   USERID(%USERID)
...
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.

 SET

Description: Set Job Attributes

Type: Action statement.

The SET statement allows you to set the attributes of the job.

Requests made with the SET statement can be reset at any time during the execution of JAL. The value used at EXIT REQUEUE time is the value from the last SET statement executed for a particular type of request. To find information on the actions resulting from a particular keyword, for example LABEL, refer to SET LABEL section in this reference.

SET ARRIVAL_TIME(nnn)
   CATALOG_LOOKUP(NO | YES)
   CLASS(class | REPROCESS | $)
   CPUCAP(mmmm[:nn] | NO)
   FAIL
   JES2_HOLD(YES | NO)
   LABEL(name | %stringid)
   NORMALIZE(YES | NO) [FACTOR(n)]
   NOTIFY(nodename.userid | %stringid)
   PERFORM(nnn | NO)
   PRIORITY(prio | $)
   RD(NC | NR | R | RNC)
   REGION(nnnK | nnnM [, VIRT | REAL])
   SCHENV(envname)
   SERVICE_CLASS(srvclass)

For simplification purposes each ‘SET keyword’ has been documented in a separate section and as such it appears that each request requires a separate SET action statement. In reality you can specify several keywords in a single SET statement. This point is illustrated below with several examples.

Examples:

SET CLASS(T) PRIORITY(10) JES2_HOLD(YES)

The above SET statement includes three requests. It causes jobs to be queued in job class T with an execution priority of 10, and to be placed in a JES2 hold.

SET CLASS(D) PRIORITY($) LABEL(OVERNIGHT)

This statement queues jobs to class D with the same queue priority they had when they entered ThruPut Manager . The jobs will have OVERNIGHT as a label.

SET CPUCAP(2:30) NORMALIZE(YES)

This statement sets a CPU limit of 2:30 minutes and requests that ThruPut Manager  adjusts the time, at execution time, according to the CPU time factors for the “executing” CPU.

 SET ARRIVAL_TIME

Description: Set Job Arrival Time

Type: Action statement.

The SET ARRIVAL_TIME statement allows you to change the job’s arrival time to make it appear that it arrived in its Service Class a specified number of hours earlier.

SET ARRIVAL_TIME(nnn)


ARRIVAL_TIME(nnn)

Requests that the arrival time for the job be set back a specified number of hours. The short form for this keyword is ARRIVAL.

nnn

A number in the range 1-255, representing the number of hours that the arrival time should be set back.

See Also: $JXARRIVAL.

Note: The SET ARRIVAL_TIME statement gives you some control over the selection order of jobs in the same Service Class. You can promote a job over jobs that have arrived earlier by setting its arrival time; however, jobs with arrival times that are earlier than the newly set arrival time are still selected first.

 SET CATALOG_LOOKUP

Description: Execution-time Catalog Lookup

Type: Action statement.

The SET CATALOG_LOOKUP statement controls whether or not the MHS_VOL function of ThruPut Manager  resolves cataloged volume references at execution time. This is useful when you expect catalog changes after Job Analysis but before job execution.

SET CATALOG_LOOKUP(NO | YES)


CATALOG_LOOKUP(NO | YES)

Indicates whether catalog lookups are to be performed at execution time.

NO

The MHS_VOL function uses the list of DASD volumes created at Job Analysis. This is the default.

YES

When the job is about to be selected for execution, the MHS_VOL function does catalog lookups to refresh the list of DASD volumes.

See Also: $JXCATALOG_LOOKUP.

Note: Setting CATALOG_LOOKUP(YES) adds an extra cycle of catalog lookups for DASD volumes at execution time.

 SET CLASS | SET CL

Description: Set Execution Class

Type: Action statement.

The SET CLASS statement assigns the execution class to the job.

SET CLASS(class | REPROCESS | $ )


CLASS(class | REPROCESS | $)

Sets an execution class for this job. The short form for this keyword is CL.

class

Any character A-Z or 0-9.

REPROCESS

Indicates that the job is to be placed in the Job Analysis Class to be reprocessed later. This implies that the job will be placed in JES2 HOLD.

$

This indicates to ThruPut Manager  to set the class equal to the Job Submission Class.

See Also: $JXCLASS.

Notes:

The CLASS can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET CLASS statement executed.

If no SET CLASS statement is executed, the default is the job submission class.

The status of this request can be displayed using the JAL execution time variable $JXCLASS.

The TIME and REGION default values are associated with the job based on the job Submission class. The values stay with the job regardless of the Execution class assigned in JAL.

The TIME and REGION values can be altered by ThruPut Manager  CPU Capping and Normalization (TIME=) and SET REGION (REGION=) respectively.

 SET CPUCAP

Description: Cap Job CPU

Type: Action statement.

Allows you to set a limit to the amount of CPU time a job can consume. To the system this parameter has the same effect as if TIME= had been coded in the JOB statement.

SET CPUCAP(mmmmmm[:ss] | NO)


CPUCAP(mmmmmm[:ss] | NO)

Requests that the CPU time for job be capped. The CPU cap is specified in minutes and seconds:

mmmmmm

Specifies the maximum number of CPU minutes. The value can range from 0 to 357912.

ss

Specifies the number of seconds. The value can range from 0 to 59.

mmmmmm can be specified without seconds but ss must be preceded by mmmmmm (e.g., 0:30 = 30 sec).

NO

This parameter indicates that CPUCAP is not to be used. Allows you to override a previous SET CPUCAP statement.

Note: For an explanation of CPU Capping, refer to the System Programming Guide: Base Product.

See Also: $CPU, $JOBCPU, $JXCPUCAP, and $STEPCPU.

Notes:

Since SET CPUCAP replicates the behavior of the TIME keyword on the JOB statement, if a value of 1440 is specified then any TIME keyword specified on an EXEC statement is nullified.

CPU capping can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET CPUCAP statement executed.

If no SET CPUCAP statement is executed, the default is ‘NO’.

The status of this request can be displayed using the JAL execution time variable $JXCPUCAP. If no SET CPUCAP has been executed, or if a SET CPUCAP(NO) has been executed, this variable displays ‘NO’.

 SET FAIL

Description: Set Job to FAIL at Termination

Type: Action statement.

Specifies that the job will be FAILed when JAL processing is completed.

SET FAIL


FAIL

Indicates that ThruPut Manager  is to queue the job for output (JCL error) instead of execution after JAL processing has completed.

See Also: EXIT.

Notes:

This statement allows you to indicate that a job will be failed, but continue JAL processing so that full checking can be completed.

SET FAIL cannot be reset.

 SET JES2_HOLD

Description: Set Job JES2 Hold Status

Type: Action statement.

Specifies whether or not a job is to be held by JES2 at the end of Job Analysis.

SET JES2_HOLD(YES | NO)


JES2_HOLD(YES | NO)

Indicates that the status of the JES2 HOLD action is to be specified.

YES | NO

       Self-explanatory.

See Also: $JXJES2HOLD.

Notes:

The hold status can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET JES2_HOLD statement executed.

If no SET JES2_HOLD statement is executed the JES2 “hold status” of the job is preserved. That is, a job that is submitted with TYPRUN=HOLD will continue to be in “hold status” at the end of the Job Analysis. Conversely, if a SET JES2_HOLD(NO) statement is executed, the JES2 hold will be removed for jobs that are submitted with TYPRUN=HOLD.

The status of this request can be displayed using the JAL execution time variable $JXJES2HOLD. If no SET JES2_HOLD has been executed, or if a SET JES2_HOLD(NO) has been executed, this variable displays ‘NO’.

 SET LABEL

Description: Set Job Label

Type: Action statement.

You can set an identifier which appears in job logs, operator messages, and system message data sets. It allows you to “label” a job or type of job. It also appears in Volume List headings.

SET LABEL(character-string | %stringid)


LABEL(character-string | %stringid)

Indicates a job label is to be set.

character-string

A string of 1-20 characters. If special characters are used, the string must be enclosed in apostrophes. An apostrophe can be included by coding two consecutive apostrophes.

%stringid

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

See Also: $JXLABEL.

Notes:

The job label can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET LABEL statement executed.

If no SET LABEL statement is executed, no identifier is assigned to the job.

The LABEL can be displayed using the JAL execution time variable $JXLABEL. If no SET LABEL has been executed it displays as 8 asterisks.

 SET MEMLIMIT

Description: Set MEMLIMIT Parameter

Type: Action statement.

This statement allows you to set the MEMLIMIT parameter for the job that is being analyzed.

SET MEMLIMIT(value)


LABEL(value)

Requests that the MEMLIMIT parameter be set.

value

It can be one of the following:

nnnnnM
nnnnnG
nnnnnT
nnnnnP

Specifies a value to be used as the limit on the total size of usable virtual storage above the bar in a single address space. The value may be expressed in megabytes (M), gigabytes (G), terabytes (T), or petabytes (P). nnnnn may be a value from 0 to 99999, with a maximum value of 16384P.

NOLIMIT

Specifies that there is no limit on the virtual storage to be used above the bar.

See Also: $MEMLIMIT.

 SET NORMALIZE

Description: Request CPU Normalization

Type: Action statement.

This statement allows you to adjust the CPU time for a job to reflect the different speeds of processors. The factors to be applied are CPU dependent and are specified on the TMPARM initialization statement. For further information on the CPU factors, refer to the publication System Programming Guide: Base Product.

This feature normally applies to installations with more than one CPU, each with a different processor speed. Note that the factors are applied to the JOB CPU time as well as the step times. For this function to take effect, you must code ‘YES’ and TMPARM must provide factors for the CPU where the job executes.

SET NORMALIZE(YES | NO) [FACTOR(n)]


NORMALIZE(YES | NO)

Requests that the CPU times be normalized for this job. The short form for this keyword is NORM.

YES | NO

Self-explanatory.

FACTOR(n)

Indicates which set of normalization factors in TMPARM should be used. This keyword is valid only if NORMALIZE(YES) has been specified.

n

Is an integer from the range 1-8, used as an index into the set of normalization factors specified by TMPARM. The default factor set is 1.

See Also: $JXFACTOR and $JXNORM.

Notes:

The request to normalize CPU times can be reset at any time during the execution of the JAL. When JAL processing is finished, the value from the last SET NORMALIZE statement executed is used.

If no SET NORMALIZE statement is executed, the default is ‘NO’.

The status of normalization can be displayed using the JAL execution time variable $JXNORM. If   no SET NORMALIZE has been executed, or if a SET NORMALIZE(NO) has been executed, this variable displays ‘NO’.

The set of normalization factors selected can be displayed using the execution time variable $JXFACTOR.

 SET NOTIFY

Description: Set NOTIFY Parameter

Type: Action statement.

This statement allows you to set the NOTIFY parameter for the job that is being analyzed.

SET NOTIFY([nodename.]userid | %stringid)


NOTIFY([nodename.]userid] | %stringid)

Requests that the NOTIFY parameter be set.

[nodename.]userid

Identifies a node and a TSO userid at that node. The nodename is the symbolic name defined by your installation, and is 1 to 8 alphanumeric or national ($, #, @) characters. The first character of nodename must be alphabetic or national ($, #, @). The userid must be defined at the node. It is 1 to 7 alphanumeric or national ($, #, @) characters, and the first character must be alphabetic or national ($, #, @).

This subparameter follows the conventions used in JCL, therefore you can specify a userid alone, a nodename and userid, or simply a nodename.

%stringid

The name of a character string created with a STRINGDEF statement. The string must evaluate to one of:

 a valid TSO userid, optionally including a nodename.

 blanks, allowing the NOTIFY parameter to be removed.

Example:

STRINGDEF %BLANK(‘  ‘)
SET NOTIFY(%BLANK)

See Also: $JXNOTIFY and $NOTIFY.

Note: If more than one SET NOTIFY is encountered, the last one executed takes effect.

 SET PERFORM

Description: Set Performance Group

Type: Action statement.

This statement allows you to set the Job Performance Group as if an operator command to reset the performance group has been issued.

SET PERFORM(nnn | NO)


PERFORM

Requests that the performance group be set.

nnn

1 to 999 as normally specified in the MVS RESET command.

NO

Reverts to whatever the job had. This allows you to “reset” the value in a situation where you have previously set it in JAL.

See Also: $JOB_PERFORM, $JXPERFORM, and $PERFORM.

Notes:

The performance group can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET PERFORM statement executed.

If no SET PERFORM statement is executed, the default is ‘NO’

The status of normalization can be displayed using the JAL execution time variable $JXPERFORM. If no SET PERFORM has been executed, or if a SET PERFORM(NO) has been executed, this variable displays ‘NO’.

 SET PRIORITY

Description: Set Execution Priority

Type: Action statement.

Set the initial execution priority for job. After completion of the Analysis phase the job is requeued with this priority.

SET PRIORITY(prio | $)


PRIORITY(prio | $)

Indicates that the execution priority is to be set.

The short form for this keyword is PR.

prio

The desired priority, which can be expressed in one of two ways:

 PRIORITY(n), where n is a number in the range 0-15. This is the usual way of expressing this parameter.

 PRIORITY(n1,n2), where n1 and n2 are both numbers in the range 0-15. This method complements the priority aging technique used by JES2. It allows you to set the initial priority as if the job had already “aged”. n2 represents the amount of initial “aging” in units of 1/16th.

$

Coding this character indicates to ThruPut Manager  that you want the job submission priority.

See Also: $JXPRIORITY.

Notes:

The execution priority can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET PRIORITY statement executed.

If no SET PRIORITY statement is executed, the default is the priority that the job had when it was selected for analysis.

TheexecutionpriorityvaluecanbedisplayedusingtheJALexecutiontimevariable$JXPRIORITY.

 SET RD

Description: Set Checkpoint/Restart Options

Type: Action statement.

Set the checkpoint/restart options for the job.

SET RD(NC | NR | R | RNC)


RD(NC | NR | R | RNC)

Requests that checkpoint/restart options are to be set.

NC

Suppresses automatic and deferred checkpoint restarts.

NR

Suppresses automatic checkpoint restart but permits deferred checkpoint restarts.

R

Restart, checkpoints allowed. Indicates that the operator can perform automatic step restart if the job fails, and does not suppress checkpoint restarts.

RNC

Restart, no checkpoints. Indicates that the operator can perform automatic step restart if the job fails, but suppresses automatic and deferred checkpoint restarts.

See Also: $RD.

 SET REGION

Description: Set Amount and Type of Storage Required

Type: Action statement.

Set the amount and type of central or virtual storage that the job requires.

SET REGION(nnnnnnnK | nnnnM [,REAL | VIRT])


REGION(nnnnnnnK | nnnnM [,VIRT | REAL])

Indicates that you want to specify the amount of central or virtual storage that the job requires.

nnnnnnnK

1-7 digits specifying the required storage in kilobytes, up to a value of 2096128. If this value is not a multiple of 4, the system rounds it up to the next highest multiple of 4.

nnnnM

1-4 digits specifying the required storage in megabytes, up to a value of 2047.

REAL

Requests central (real) storage.

VIRT

Requests virtual storage.

Examples:

SET REGION(1024K)
SET REGION(3M,VIRT)

See Also: $ADDRSPC and $REGION.

Notes:

This SET statement combines the functionality of the REGION and ADDRSPC keyword on the JOB statement.

Since this statement sets the region size for the job, the system applies the value coded to each step of the job.

 SET SCHENV

Description: Set Scheduling Environment

Type: Action statement.

Set the scheduling environment for the job. After completion of the Analysis phase, the job is requeued with this scheduling environment.

SET SCHENV(envname | $NO_SCHENV)


SCHENV(envname | $NO_SCHENV)

envname

A valid scheduling environment name, which can be 1-16 alphanumeric, national ($, #, @) characters, or the underscore (_). Underscores (_) must be embedded.

$NO_SCHENV

A reserved word that indicates that a SCHENV keyword coded on the JOB statement is to be ignored.

See Also: $CURSCHENV and $IN_SCHENV.

Notes:

If no SET SCHENV statement is executed, the default is the scheduling environment that the job had when it was selected for analysis.

The scheduling environment can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET SCHENV statement executed.

Setting the scheduling environment can result in a new service class after JAL processing is complete unless a specific service class is assigned by a SET SERVICE_CLASS statement.

The $NO_SCHENV keyword is provided to allow conversion from IBM’s SCHENV to JBS Environments without any JCL changes.

If you use $NO_SCHENV to remove the job’s scheduling environment and the class of the job is altered after Job Analysis, the job acquires any scheduling environment associated with the new class.

 SET SERVICE_CLASS

Description: Set WLM Service Class

Type: Action statement.

Set the WLM service class for the job. After completion of the Analysis phase, the job is requeued with this WLM service class.

SET SERVICE_CLASS(srvclass)


SERVICE_CLASS(srvclass)

srvclass

A valid WLM service class name, which can be 1-8 alphanumeric, national ($, #, @) characters, or the underscore (_). Underscores (_) must be embedded.

See Also: $CURSERVICE_CLASS and $IN_SERVICE_CLASS.

Notes:

The WLM service class can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SET SERVICE_CLASS statement executed.

If no SET SERVICE_CLASS statement is executed, the default is the WLM service class that the job had when it was selected for analysis.

 $SETUP

Description: JES2 /*SETUP control statement

Type: Logic Variable.

Maximum Value: Not applicable.

This Descriptor allows you to determine if a job was submitted with a JES2 /*SETUP statement.

$SETUP(YES | NO)


This function call 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 .

YES

Returns a TRUE value if there is a /*SETUP statement in the job.

NO

Returns a TRUE value if there is no /*SETUP statement in the job.

Usage:

This Variable can be used in EVALUATE definition statements and JAL 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 statement 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.

 $SLM_JOB_IMPORTANCE

Description: SLM Job Importance

Type: Range Definition Descriptor.

Maximum Length: 5 characters.

This Descriptor represents the SLM Job Importance for the job.

$SLM_JOB_IMPORTANCE [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:

$JOB_IMPORTANCE JI_RUSH,3,JI_OKAY

See Also: $JXSLM_JOB_IMPORTANCE and SLM SET JOB_IMPORTANCE.

Note: The SLM Policy determines whether Job Importance is in effect for the Service Group to which the job has been assigned.

 SLM SERVICE

Description: Set SLM Service for a Job

Type: Action Statement.

This statement determines the type of SLM Service that a job is to receive.

SLM SERVICE [GENERAL | PRODUCTION GROUP(name)]


GENERAL

    Requests that the job be given GENERAL Service.

PRODUCTION GROUP(name)

Requests that Non-Scheduled Production job to be placed to PRODUCTION queue.

GROUP(name)

A group that is specified within the SLM dialog.

See Also: $JXSLM_SERVICE

Note: The last SLM SERVICE statement will be honored.

 SLM SET CONTROL_CENTER

Description: Set SLM Control Center and Type

Type: Action Statement.

This statement specifies the Control Center and Type for a job.

SLM SET CONTROL_CENTER(cc-name)TYPE(type-name)


CONTROL_CENTER

(cc-name)

Is a Control Center name, which represents the first part of Service Group name.

It is 1-8 characters long and consists of alphanumeric and national ($, #, @) characters. The first character cannot be numeric.

TYPE

type-name

Is a Type name, which represents the second part of Service Group name.

It is 1-8 characters long and consists of alphanumeric and national ($, #, @) characters. The first character cannot be numeric.

Notes:

If the job is not SLM-managed, this statement has no effect.

If more than one SLM SET CONTROL_CENTER is encountered, the last one executed takes effect.

 SLM SET JOB_IMPORTANCE

Description: Set SLM Job Importance

Type: Action Statement.

The SLM SET JOB_IMPORTANCE statement specifies the SLM Job Importance for a job.

SLM SET JOB_IMPORTANCE(n | $| NONE)


n

Is a number in the range 1 (representing the highest Job Importance) to 5 (the lowest).

$

Sets Job Importance to a value that was specified via JECL. If no value was assigned via JECL it will set it to zero.

NONE

Sets Job Importance to zero.

See Also: $JXSLM_JOB_IMPORTANCE.

Notes:

This statement overrides the effects of the JECL statement /*SLM SERVICE. If the job is not SLM-managed, this statement has no effect.

If more than one SET SLM JOB_IMPORTANCE is encountered, the last one executed takes effect.

 SLM SET MANAGED

Description: Specify a Job is SLM-managed

Type: Action Statement.

The SLM SET MANAGED statement is used in a Fast Path implementation approach to specify whether a job is SLM-managed.

SLM SET MANAGED(YES | NO)


YES

Specifies that SLM is to manage the job.

NO

Specifies that SLM is not to manage the job.

See Also: $JXSLM_MANAGED.

Note: The job can be removed from SLM-managed status at any time during the execution of JAL. The value used at JAL EXIT time is the value from the last SLM SET MANAGED statement executed.

 SLM SET NO_CAPACITY_MANAGEMENT

Description: Specify a Job is not Subject to Capacity Management Related Constraints

Type: Action Statement.

The SLM SET NO_CAPACITY_MANAGEMENT statement is used to specify that although a job’s characteristics may make it eligible to be constrained by Capacity Management as specified in the current active SLM Policy, it is not to be subject to those constraints

SLM SET NO_CAPACITY_MANAGEMENT


Note: If the job is not SLM managed, this statement has no effect.

 SLM SET QUICKJOB

Description: Specify a Job is Quick Job.

Type: Action Statement.

The SLM SET QUICKJOB statement is used to specify a job that executes extremely quick and installation gives it a preferential treatment.

SLM SET QUICKJOB(YES | NO)


YES

The job will be treated by SLM as QUICKJOB.

NO

The job will be treated normally.

 $SOS_DEFAULT_BURST

Description: BURST Default for the Job

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the job’s SYSOUT output is to be burst by default.

$SOS_DEFAULT_BURST(YES | NO)


This function call returns a TRUE/FALSE value depending on whether the job’s SYSOUT output is to be burst by default.

YES

When TRUE, it indicates that the job’s SYSOUT output is to be burst.

NO

When TRUE, it indicates that the job’s SYSOUT output is not to be burst.

Usage:

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

Examples:

IF ($SOS_DEFAULT_BURST(YES))
  WTU...

See Also: SOS SET DEFAULT_BURST.

 $SOS_DEFAULT_FORMS

Description: FORMS Default for the Job

Type: Character string Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the default FORMS setting for the job.

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


pattern

Is a 1-8 character pattern to be matched against the default FORMS setting for the job.

%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 “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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

See Also: SOS SET DEFAULT_FORMS.

 $SOS_DEFAULT_LINECT

Description: LINECT Default for the Job

Type: Range Definition Descriptor.

Maximum Value: 255 lines.

This Descriptor returns the default for the LINECT parameter for the job, specifying the maximum number of lines that JES2 is to print on a page.

$SOS_DEFAULT_LINECT [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.

See Also: SOS SET DEFAULT_LINECT.

 $SOS_DEFAULT_PRINT_DEST

Description: Print Destination Default for the Job

Type: Character string Descriptor.

Maximum Length: 127 characters.

This Descriptor represents the default destination for a job’s printed data sets.

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


pattern

Is a 1-127 character pattern to be matched against the default destination setting for the job’s printed data sets.

%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 “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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

See Also: SOS SET DEFAULT_PRINT_DEST.

 $SOS_DEFAULT_PUNCH_DEST

Description: Punch Destination Default for the Job

Type: Character string Descriptor.

Maximum Length: 127 characters.

This Descriptor represents the default destination for a job’s punched data sets.

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


pattern

Is a 1-127 character pattern to be matched against the default destination setting for the job’s punched data sets.

%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 “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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

See Also: SOS SET DEFAULT_PUNCH_DEST.

 $SOS_JOB_COPIES

Description: Number of Copies of SYSOUT data sets

Type: Range Definition Descriptor.

Maximum Value: 255 copies.

This Descriptor returns the number of copies of SYSOUT data sets for the job.

$SOS_JOB_COPIES [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.

See Also: SOS SET JOB_COPIES.

 $SOS_JOB_LINES

Description: Line Count Limit for the Job

Type: Range Definition Descriptor.

Maximum Value: 999999 thousands of lines.

This Descriptor returns the limit for the number of lines of SYSOUT output for the job expressed in thousands of lines (a value of 1 represents 1000 lines).

$SOS_JOB_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.

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.

See Also: SOS SET JOB_LINES.

 $SOS_JOB_NOLOG

Description: NOLOG Default for the Job

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the job’s hard-copy log set not to be printed.

$SOS_JOB_NOLOG(YES | NO)


This function call returns a TRUE/FALSE value depending on whether the job’s hard-copy log set not to be printed.

YES

When TRUE, it indicates that the job log is set not to be printed.

NO

When TRUE, it indicates that the job log is set to be printed.

Usage:

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

Examples:

EVALUATE NOLOG ($SOS_JOB_NOLOG(YES))
IF (NOLOG)
  WTU...

See Also: SOS SET JOB_NOLOG.

 SOS SET DEFAULT_BURST

Description: Set Default BURST Parameter

Type: Action statement.

This statement allows you to set the default for the BURST parameter for a job. This default applies unless the parameter is explicitly set on a JCL or JECL statement.

SOS SET DEFAULT_BURST(Y | YES | N | NO |)


YES

It indicates that the job’s SYSOUT output is to be burst.

NO

It indicates that the job’s SYSOUT output is not to be burst.

See Also: $SOS_DEFAULT_BURST.

 SOS SET DEFAULT_FORMS

Description: Set Default FORMS Parameter

Type: Action statement.

This statement allows you to set the default for the FORMS parameter for a job. This default applies unless the parameter is explicitly set on a JCL or JECL statement.

SOS SET DEFAULT_FORMS(formname | %stringid)


formname

Identifies the print or punch forms, and is 1 to 8 alphanumeric or national ($, #, @) characters.

%stringid

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

See Also: $SOS_DEFAULT_FORMS.

 SOS SET DEFAULT_LINECT

Description: Set Default LINECT Parameter

Type: Action statement.

This statement allows you to set the defaults for the LINECT parameter for a job. This default applies unless the parameter is explicitly set on a JCL or JECL statement.

SOS SET DEFAULT_LINECT(nnn | %stringid)


nnn

Maximum number of lines JES2 is to print on each page, and is a number from 0-255.

%stringid

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

See Also: $SOS_DEFAULT_LINECT.

 SOS SET DEFAULT_PRINT_DEST

Description: Set Default Printer DEST Parameter

Type: Action statement.

This statement allows you to set the default for the DEST parameter for a job’s printed data sets. This default applies unless the parameter is explicitly set on a JCL or JECL statement.

SOS SET DEFAULT_PRINT_DEST(destination | %stringid)


destination

Represents the destination for the printed data sets, and must conform to the definition for a legal destination in JCL or JECL.

%stringid

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

See Also: $SOS_DEFAULT_PRINT_DEST.

 SOS SET DEFAULT_PUNCH_DEST

Description: Set Default Punch DEST Parameter

Type: Action statement.

This statement allows you to set the default for the DEST parameter for a job’s punched data sets. This default applies unless the parameter is explicitly set on a JCL or JECL statement.

SOS SET DEFAULT_PUNCH_DEST(destination | %stringid)


destination

Represents the destination for the punched data sets, and must conform to the definition for a legal destination in JCL or JECL.

%stringid

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

See Also: $SOS_DEFAULT_PUNCH_DEST.

 SOS SET DEFAULT_ROOM

Description: Set Default ROOM Parameter

Type: Action statement.

This statement allows you to set the default for the ROOM parameter for a job. This default applies unless the parameter is explicitly set on a JCL or JECL statement.

SOS SET DEFAULT_ROOM(room | %stringid)


room

Represents the programmer’s room number, and is 1-4 alphanumeric characters.

%stringid

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

See Also: $ROOM.

 SOS SET DO_NOT_LOG_ALTERS

Description: Stops Logging SOS ALTER Messages

Type: Action statement.

This statement allows you to turn off the logging of statements affected by SOS ALTER actions.

SOS SET DO_NOT_LOG_ALTERS


DO_NOT_LOG_ALTERS

Indicates that messages logging the statements affected by SOS ALTER are not to be issued.

See Also: SOS SET LOG_ALTERS

 SOS SET JOB_COPIES

Description: Set Number of Job Copies

Type: Action statement.

This statement allows you to set the number of copies of SYSOUT data sets for the job. This is the same as setting the number of copies using the ACCT keyword of the JOB statement or with the COPIES keyword of the JECL statement /*JOBPARM.

SOS SET JOB_COPIES(nnn)


JOB_COPIES(nnn)

Indicates that you want to set the number of copies of printed output for the job.

nnn

Is a number in the range 1-255.

See Also: $SOS_JOB_COPIES.

 SOS SET JOB_LINES

Description: Set Number of Lines Limit for the Job

Type: Action statement.

This statement allows you to set the limit for the number of lines of SYSOUT output for the job, and optionally the action to take if the limit is exceeded. This is the same as setting the number of lines using the LINES keyword of the JOB statement or with the LINES keyword of the JECL statement /*JOBPARM.

SOS SET JOB_LINES(nnnnnn[, CANCEL | DUMP | WARNING])


JOB_LINES(nnnnnn[, CANCEL | DUMP | WARNING])

Indicates that you want to set the limit for the number of lines of printed output for the job.

nnnnnn

Is a number in the range 0-999999, representing the number of thousands of lines (a value of 1 represents 1000 lines).

CANCEL

Requests that the job be canceled without a storage dump when the output for the job exceeds the limit.

DUMP

Requests that the job be canceled with a storage dump when the output for the job exceeds the limit.

WARNING

Requests that the job be allowed to continue when the output for the job exceeds the limit, but that the JES2 warning message be issued to the operator.

See Also: $SOS_JOB_LINES and $LINES.

 SOS SET JOB_NOLOG

Description: Set Request for JES2 not to print the job log

Type: Action statement.

This statement allows you to set the NOLOG parameter for a job.

SOS SET JOB_NOLOG(Y | YES | N | NO)


YES

Requests that JES2 not print the job log.

NO

Requests that JES2 print the job log.

See Also: $SOS_JOB_NOLOG.

 SOS SET LOG_ALTERS

Description: Logging SOS ALTER Messages

Type: Action statement.

This statement allows you to log SOS ALTER messages.

SOS SET LOG_ALTERS


LOG_ALTERS

Indicates that messages logging the statements affected by SOS ALTER should be issued. It is a default.

If more than one SOS SET LOG_ALTERS or SOS SET DO_NOT_LOG_ALTERS statement is issued, the last one takes effect.

See Also: SOS SET DO_NOT_SOS_ALTERS

 SOS SET MSGCLASS

Description: Set MSGCLASS

Type: Action statement.

This statement allows you to specify a MSGCLASS for the job.

SOS SET MSGCLASS(class)


MSGCLASS(class)

Indicates that the MSGCLASS for the job is to be set.

class

Any character A-Z or 0-9.

See Also: $CURMSGCLASS, $INMSGCLASS, and $MSGCLASS_ALTERED.

Note: The MSGCLASS can be reset at any time during the execution of the JAL. The value used at JAL EXIT time is the value from the last SOS SET MSGCLASS statement executed.

 $SPACE

Description: Total New DASD Space Requested

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the total amount of new DASD space requested (primary and secondary) for all data sets (temporary and permanent). Note that secondary space represents the maximum amount that the particular job may request (16 extents).

$SPACE [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACE  SPACE_OKAY,300,ASK_FIRST

See Also: $SPACEP, $SPACEPP, $SPACEPS, $SPACET, $SPACETP, and $SPACETS.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $SPACEP

Description: Total Permanent DASD Space

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the total amount of new permanent DASD space requested in the job for all data sets. Note that secondary space represents the maximum amount that the particular job may request (16 extents).

$SPACEP [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACEP  PERM_SPACE_OK,300,ASK_FOR_PERM_SPACE,1000,PERM_SPACE_ERR

See Also: $SPACE, $SPACEPP, $SPACEPS, $SPACET, $SPACETP, and $SPACETS.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $SPACEPP

Description: Permanent Primary DASD Space

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the maximum amount of new permanent primary DASD space requested in the job for all data sets.

$SPACEPP [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACEPP   PRIME_PERM_OKAY,300,ASK_FOR_PRIME_PERM

See Also: $SPACE, $SPACEP, $SPACEPS, $SPACET, $SPACETP, and$SPACETS.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $SPACEPS

Description: Permanent Secondary DASD Space

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the maximum amount (16 extents) of new permanent secondary DASD space requested in the job for all data sets.

$SPACEPS [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACEPS   PERM_SECONDARY_OK,100,ASK_FOR_PERM_SECONDARY

See Also: $SPACE, $SPACEP, $SPACEPP, $SPACET, $SPACETP, and $SPACETS.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $SPACET

Description: Total Temporary DASD Space

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the high water mark of temporary DASD space needed by the job.

$SPACET [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACET   TEMP_SPACE_OK,300,ASK_FOR_TEMP_SPACE

See Also: $SPACE, $SPACEP, $SPACEPP, $SPACEPS, $SPACETP, and $SPACETS.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $SPACETP

Description: Temporary Primary DASD Space

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the high water mark of temporary primary DASD space needed by the job.

$SPACETP [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACETP   TEMP_PRIMARY_OKAY,300,ASK_FOR_TEMP_PRIMARY

See Also: $SPACE, $SPACEP, $SPACEPP, $SPACEPS, $SPACET, and $SPACETS.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $SPACETS

Description: Temporary Secondary DASD Space

Type: Range Definition Descriptor.

Maximum Value: 99999 expressed in megabytes of DASD space.

This Descriptor represents the high water mark of temporary secondary DASD space needed by the job.

$SPACETS [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 megabytes 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 JAL, and also as an insert in message definition statements.

Examples:

$SPACETS   TEMP_SECONDARY_OK,200,ASK_FOR_TEMP_SECONDARY

See Also: $SPACE, $SPACEP, $SPACEPP, $SPACEPS, $SPACET, and $SPACETP.

Note: The value is rounded upwards by 0.49 of a megabyte. For example, if the maximum width is between zero and half a megabyte it will be treated as if it were zero. If the value was 0.7 then it shows as 1.

 $STEPCPU

Description: Maximum Step CPU Time

Type: Range Definition Descriptor.

Maximum Value: 357912:00 in minutes.

This Descriptor represents the maximum estimated CPU time for any step in the job.

$STEPCPU [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 JAL, and also as an insert in message definition statements.

Examples:

$STEPCPU  SMALL_STEP_CPU,2:30,BIG_STEP_CPU,10,TOO_MUCH_STEP_CPU

See Also: $CPU, $JOBCPU, and SET CPUCAP.

 $STEPTOT

Description: Total Number of Steps

Type: Range Definition Descriptor.

Maximum Value: 255 steps.

This Descriptor represents the total number of steps in a job.

$STEPTOT [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 steps from 0 to 255.

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:

$STEPTOT  SINGLE_STEP,2,MULTI_STEP

Note: This Descriptor can be used to detect single step IEFBR14 jobs so they can be classed accordingly (normally clean up jobs).

 STRINGDEF

Description: To Define Character Strings Dynamically

Type: Definition statement.

Maximum Value: 255 characters.

This definition statement is provided to allow you to dynamically define character strings at JAL execution time.

STRINGDEF %stringid (source1) [ || (source2)]


%stringid

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 symbols are accepted only in a STRINGDEF.

  The substring function. For example:

STRINGDEF %NAME1 ($USERC1,5)

Here, at JAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function refer to the “Substring Function” in this section.

  %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.

  %STRINGID

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 %stringid can be used in any construct that allows character Job/User descriptors.

Examples:

STRINGDEF  %NAME ($PGMR,4)
...
...
IF (%NAME(‘MIKE’))

is a valid construct or

EVALUATE PRODJOB (%NAME(‘MIKE’))
...
IF (PRODJOB)

is a valid construct.

STRINGDEF %BLANK(‘  ‘)
SET NOTIFY(%BLANK)

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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$SUBMITTER_RACFU(MKTING)
$SUBMITTER_RACFU($TABLE1(USERS))

See Also: $RACFG, $RACFU, and $SUBMITTER_RACFG.

  $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 refer to “ Character String Facilities Tutorial” in the DAL/JAL User Guide. For a description of table support, refer to “ 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:

$SUBMITTER_TSSU(PM800MP)
$SUBMITTER_TSSU($TABLE1(TSSUSERS))

See Also: $TSSUSER.

Note: 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]])

character descriptor

Represents a character Job/User Descriptor.

length

The number of characters to be used. If this operand is omitted the length of the Job/User descriptor is used.

The substring function allows a value from 1 to 255.

starting position

The starting position of the character string within the Job/User 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 described below.

It can also be used with the JLS_LIMITDEF statement to construct Limiting Agent names.

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


$SCHENV_SYSAFF

Description: Scheduling Environment System Affinity

Type: Character-string descriptor.

Maximum Length: 8 characters

This descriptor represents the JES2 system affinity associated with the Scheduling Environment.

$SCHENV SYSAFF(system-name(s) )

You can use system-names to determine if the job can execute in the named system.

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.

Example:

EVALUATE SCHENV_S1 ($SCHENV_SYSAFF(SYS1))

In this case, for $SCHENV_SYSAFF to return a TRUE value the Scheduling Environment system affinity must include SYS1.

When using the Job Extract Facility, the value returned is the 32-bit System Affinity Mask.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*