List of DAL elements (M-S)
This topic lists and describes the Detail Action Language (DAL) elements in this product.
$MEMBER
Description: PDS Member Name
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor represents the member name from the DD statement being analyzed.
$MEMBER($BLANK | pattern | %patid | table-id) |
Allows you to test for an "all blanks" condition. See Notes below.
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
• As an insert in message definition statements.
• In a substring function.
• In STRINGDEF and PATTERNDEF statements.
Examples:
$MEMBER(???PARMS)
$MEMBER($TABLE2(MEMBERS))
For more information, see $BLANK.
Notes:
If no member name was coded, this Descriptor returns blanks. You can test for this condition by using the reserved word $BLANK. Note that the absence of a member name is not a reliable means of determining that the data set is not a PDS.
$MEMLIMIT
Description: Limit for Number of Usable Virtual Pages Above the Bar
Type: Range Definition Descriptor.
Maximum Value: 99999999999999 megabytes.
This Descriptor represents the limit on the number of usable virtual pages above the bar specified by the MEMLIMIT keyword on the EXEC statement in a z/Architecture environment.
$MEMLIMIT [0,]name1,start2,name2[,...,startN,nameN] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
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) |
Indicates that you want to place the job in MHS_JAL hold.
Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.
Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.
Specifies additional information that can be displayed.
A string of 1-200 characters of additional information. If special characters are used, the string must be enclosed in quotes.
As above.
For more information, see $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 |
Indicates that you want to remove the MHS_JAL hold.
Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.
Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.
Indicates that you want to remove all MHS HOLDs that have been applied to the job.
For more information, see $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) |
Indicates that you want to replace the MHS_JAL hold for this job.
Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.
Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.
Specifies additional information that can be displayed.
A string of 1-16 characters of additional information. If special characters are used, the string must be enclosed in quotes.
As above.
For more information, see $JXMHS_HOLD, MHS ADD and MHS REPLACE.
$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] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
{{id name="ListofDALelements(M-S)-modeldef"/}}
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)] |
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.
The text of the message, using the form:
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.
This is an optional text definition construct that indicates you want column alignment.
This must be coded as shown.
Specifies the reference column, and can be a value from 1 to 60.
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.
A description of the text to be displayed. For variable, this can be any Job Descriptor or Job Property. 'hard-coded text' can be any text. After any substitution required for the variable text is resolved, the maximum length must not exceed the limit allowed. This includes the "blanks" that have to be inserted to satisfy the alignment. Data lines longer than the maximum length are truncated.
The basic rules when building a line of text are:
- Separate each element with commas.
- Include text within apostrophes ('). To code an apostrophe in the text to be displayed, you must use two consecutive apostrophes.
- When formatting text lines, also keep the following in mind:
- To separate Job Descriptors and Job Properties from your text, you must insert padding blanks.
- Character string Job Descriptors are left-justified, stripped of trailing blanks.
- Job Properties and Logic Variables print 'T' for TRUE and 'F' for FALSE.
- For the values displayed for Display Variables (variables with a name starting with $JX) see to the description for the variable.
- EVENT Switches display as 'ON' and 'OFF'.
- Numeric Job Descriptors are right-justified, stripped of leading zeros.
- For numeric Descriptors, the inserted value is in the units normally used for that Job Descriptor. For example, CPU time is shown in minutes and seconds.
- A value in thousands is shown by the character K.
- A value in millions is shown by the character M.
- Lines that are longer than the maximum length of 121 characters are truncated.
For a complete discussion of the facilities provided for formatting messages and displays, see to "Section. Defining-and-using-messages-and-displays" in the publication DAL and JAL User Guide.
Specifies a valid console name to which the message is written.
This keyword is mutually exclusive with CONSOLE_UCM and ROUTCDE.
Is a 2-8 character console name, consisting of alphabetic, national (#, @, $), or numeric characters, the first of which must be alphabetic or national.
Indicates UCMID of the console to which the message is written.
This keyword is mutually exclusive with CONSOLE_NAME and ROUTCDE.
A decimal number between 0-99 inclusive.
DESC(desc-list)
Indicates the descriptor code of the message.
A list of the form (d1[,d2,...,d16]), where dn represents a decimal numbers between 1-16 inclusive.
Indicates the routing code of the message.
This keyword is mutually exclusive with CONSOLE_NAME and CONSOLE_UCM.
A list of the form (rc1[,rc2,...,rc128]) where rcn represents a decimal number between 1-128 inclusive. {{id name="ListofDALelements(M-S)-msgclass_outclass_dummy"/}}
$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) |
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 DAL Logic statements, and also as an insert in message definition statements.
Examples:
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. {{id name="ListofDALelements(M-S)-msgclass_outdisp_abnorm"/}}
$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) |
Is the disposition that will cause this Descriptor to assume a TRUE value, and can be one of:
HOLD
KEEP
LEAVE
PURGE
WRITE
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
• As an insert in message definition statements.
• In a substring function.
• In STRINGDEF and PATTERNDEF statements.
• In JLS_LIMITDEF and JLS_CNTLDEF statements.
Examples:
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. {{id name="ListofDALelements(M-S)-msgclass_outdisp_norm"/}}
$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) |
Is the disposition that will cause this Descriptor to assume a TRUE value, and can be one of:
HOLD
KEEP
LEAVE
PURGE
WRITE
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
• As an insert in message definition statements.
• In a substring function.
• In STRINGDEF and PATTERNDEF statements.
• In JLS_LIMITDEF and JLS_CNTLDEF statements.
Examples:
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. {{id name="ListofDALelements(M-S)-msgdef_msg"/}}
MSGDEF | MSG
Description: Message Definitions
Type: Definition statement.
Maximum Length: Messages exceeding 121 characters (60 characters for CA7) are truncated.
DAL provides a way to communicate with either or both of the operations staff and the job submitter. You can define message text that includes any Descriptor or Property combined with your text.
MSGDEF name (message) CA7LTERM(terminal) MSGDEF name (message) CONSOLE_NAME(console) [DESC(desc-list)] [LOG] MSGDEF name (message) CONSOLE_UCM(ucmid) [DESC(desc-list)] [LOG] MSGDEF name (message) ROUTCDE(routecde-list) [DESC(desc-list)] [LOG] MSGDEF name (message) USERID(userid | %stringid) |
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.
The text of the message, using the form:
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.
This is an optional text definition construct that indicates you want column alignment.
This must be coded as shown.
Specifies the reference column, and can be a value from 1 to 60.
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.
A description of the text to be displayed. For variable, this can be any Descriptor or Property. 'hard-coded text' can be any text. After any substitution required for the variable text is resolved, the maximum length must not exceed the limit allowed. This includes the "blanks" that have to be inserted to satisfy the alignment. Data lines longer than the maximum length are truncated.
The basic rules when building a line of text are:
- Separate each element with commas.
- Include text within apostrophes ('). To code an apostrophe in the text to be displayed, you must use two consecutive apostrophes.
- When formatting text lines, also keep the following in mind:
- To separate Descriptors and Properties from your text, you must insert padding blanks.
- Character string Descriptors are left-justified, stripped of trailing blanks.
- Properties and Logic Variables print 'T' for TRUE and 'F' for FALSE.
- For the values displayed for Display Variables (variables with a name starting with $JX) see to the description for the variable.
- Numeric Descriptors are right-justified, stripped of leading zeros.
- For numeric Descriptors, the inserted value is in the units normally used for that Descriptor. For example, job CPU time is shown in minutes and seconds.
- A value in thousands is shown by the character K.
- A value in millions is shown by the character M.
- Lines that are longer than the maximum length are truncated:
- For messages issued by WTO and WTU, lines longer than 121 characters including the resolved length of any Descriptors are truncated.
- For messages issued by WTCA7, lines longer than 60 characters including the resolved length of any Descriptors are truncated. If a message issued by WTCA7 contains commas, parentheses are added automatically for you.
For a complete discussion of the facilities provided for formatting messages and displays, see to "Section. Defining-and-using-messages-and-displays" in the publication DAL and JAL User Guide.
Indicates a CA7 terminal to which a message is written using WTCA7.
This keyword is mutually exclusive with CONSOLE_NAME, CONSOLE_UCM, and ROUTCDE.
Is a valid 1 to 8 character CA7 logical terminal name.
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.
Is a 2-8 character console name, consisting of alphabetic, national (#, @, $), or numeric characters, the first of which must be alphabetic or national.
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.
A decimal number between 0-99 inclusive.
Indicates the descriptor code of a message written using WTO.
If the message is written using WTU, this keyword is ignored.
A list of the form (d1[,d2,...,d16]), where dn is a decimal number between 1-16 inclusive.
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.
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.
A list of the form (rc1[,rc2,...,rc128]) where rcn is a decimal number between 1-128 inclusive.
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.
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)
For more information, see SEND, WTCA7, WTO, and WTU. {{id name="ListofDALelements(M-S)-newdsn"/}}
$NEWDSN
Description: New data set Indicator
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable allows you to determine if the data set being processed is new.
$NEWDSN(NO | YES) |
Returns a TRUE value if this is not a NEW data set.
Returns a TRUE value if this is a NEW data set.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements. {{id name="ListofDALelements(M-S)-njeuser_njeu"/}}
$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) |
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.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
• As an insert in message definition statements.
• In a substring function.
• In STRINGDEF and PATTERNDEF statements.
Examples:
$NJEUSER(ACCTNG)
$NJEU(ENGNEER)
$NJEU($TABLE1(USERS))
$NOTIFY
Description: NOTIFY Parameter From JOB Statement or /*NOTIFY
Type: Character string Descriptor.
Maximum Length: 7 characters.
This Descriptor represents the NOTIFY parameter from the JOB statement or the userid from the /*NOTIFY statement.
$NOTIFY(pattern | %patid | table-id) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$NOTIFY(SYSTEMS)
$NOTIFY(AB111)
$NOTIFY($TABLE5(USERS))
ORIF
Description: Specify Alternative IF Statement
Type: Logic statement.
The ORIF statement is used together with a previous IF statement and possibly previous ORIF statement(s), and specifies an expression to be evaluated when the IF and all preceding ORIF statements have a FALSE value.
IF (expression1) |
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.
The action statements to be executed when the ORIF expression evaluates to TRUE. After completion of the action statements, execution then resumes at the statement that follows the ENDIF.
Examples:
IF (ILLEGAL)
WTU ERROR1
RETURN FAIL
ORIF(MOUNT)
SET CLASS(H)
RETURN CONTINUE
OTHERWISE
SET CLASS(I)
RETURN CONTINUE
ENDIF
For more information, see ELSE, ENDIF, IF, and OTHERWISE.
Notes:
Any number of ORIF statements can be used as part of an IF construction. ORIF expressions are only evaluated if the IF expression and all previous ORIF statements evaluate as FALSE.
Once an ORIF evaluates as TRUE, the actions specified are taken, and DAL execution resumes after the next ENDIF. {{id name="ListofDALelements(M-S)-original_insysid"/}}
$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) |
This is a hard-coded string. It can be 1-4 alphabetic, numeric, or national (#, @, $) characters. It can also include the wildcard characters '?' and '*'.
The name of a pattern created with the PATTERNDEF statement.
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:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
- In JLS_LIMITDEF and JLS_CNTLDEF statements.
Examples:
In this case, for $ORIGINAL_INSYSID to return a TRUE value, the job must have been submitted on 'SYS1'.
For more information, see $INSYSID.
Notes:
If job did not come from another node the value of this descriptor will contain the same value as $INSYSID. {{id name="ListofDALelements(M-S)-otherwise"/}}
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) |
A logical expression combining Job Properties and/or Descriptors.
Any valid DAL statements which are to be performed should the IF or the ORIF expression evaluate to TRUE.
Any valid DAL statements which are to be performed should the IF and ORIF expressions evaluate to FALSE.
See Also: ELSE, ENDIF, IF, and ORIF.
Examples:
IF (ILLEGAL)
WTU ERROR1
RETURN FAIL
ORIF(MOUNT)
SET CLASS(H)
RETURN CONTINUE
OTHERWISE
SET CLASS(I)
RETURN CONTINUE
ENDIF
Notes:
OTHERWISE statements are used in IF logical constructions when there is at least one ORIF statement. The OTHERWISE statement is mutually exclusive with the ELSE statement. {{id name="ListofDALelements(M-S)-pages"/}}
$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] |
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.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $BYTES, $CARDS, and $LINES. {{id name="ListofDALelements(M-S)-path"/}}
$PATH
Description: Name of an HFS File
Type: Character string Descriptor.
Maximum Length: 254 characters.
This Descriptor allows you to determine the path name (name for the HFS file) currently being processed by DAL.
$PATH(pattern | %patid | table-id) |
This is a hard-coded valid path name pattern (name of a file in an HFS) to be matched against the data set name on the DD statement being processed.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned. See the Notes below for further information.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Example:
EVALUATE HFS_FILE ($PATH(Z5900/**/DOCUMENTS))
...
IF (HFS_FILE)
...
See Also: $DATASET_ON, $JCL_DSNTYPE, $JCL_FILEDATA, $PATHDISP1, $PATHDISP2, $PATHMODE and $PATHOPTS.
Notes:
The path name pattern follows the same conventions as the pattern for data set names, as described in Character-string-facilities-tutorial with these exceptions:
- The delimiters are slashes (/) rather than periods (.).
- Qualifiers (characters between slashes) can be larger than 8 characters. {{id name="ListofDALelements(M-S)-pathdisp1"/}}
$PATHDISP1
Description: Normal Termination Disposition of an HFS File
Type: Logic Variable.
Maximum Length: Not applicable.
This Logic Variable lets you determine the normal termination disposition of an HFS file.
$PATHDISP1($BLANK | DELETE | KEEP) |
Allows you to test for an "all blanks" condition.
Indicates that you want to know whether the DELETE normal termination subparameter was coded for the PATHDISP keyword on the DD statement. If DELETE was coded, $PATHDISP1 returns a TRUE value.
Indicates that you want to know whether the KEEP normal termination subparameter was coded for the PATHDISP keyword on the DD statement. If KEEP was coded, $PATHDISP1 returns a TRUE value.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.
For more information, see $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP2, $PATHMODE and $PATHOPTS. {{id name="ListofDALelements(M-S)-pathdisp2"/}}
$PATHDISP2
Description: Abnormal Termination Disposition of an HFS File
Type: Logic Variable.
Maximum Length: Not applicable.
This Logic Variable lets you determine the abnormal termination disposition of an HFS file.
$PATHDISP2($BLANK | DELETE | KEEP) |
Allows you to test for an "all blanks" condition.
Indicates that you want to know whether the DELETE abnormal termination subparameter was coded for the PATHDISP keyword on the DD statement. If DELETE was coded, $PATHDISP2 returns a TRUE value.
Indicates that you want to know whether the KEEP abnormal termination subparameter was coded for the PATHDISP keyword on the DD statement. If KEEP was coded, $PATHDISP2 returns a TRUE value.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.
For more information, see $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP1, $PATHMODE and $PATHOPTS. {{id name="ListofDALelements(M-S)-pathmode"/}}
$PATHMODE
Description: Access Attributes of an HFS File
Type: Logic variable.
Maximum Length: Not applicable.
This Logic Variable lets you determine the access attributes of an HFS file.
$PATHMODE(SIRUSR | SIWUSR | SIXUSR | SIRWXU | |
Indicates that you want to know whether the SIRUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIRUSR was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIWUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIWUSR was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIXUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIXUSR was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIRWXU subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXU was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIRGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIRGRP was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIWGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIWGRP was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIXGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIXGRP was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIRWXG subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXG was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIROTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIROTH was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIWOTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIWOTH was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIXOTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIXOTH was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SIRWXO subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXO was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SISUID subparameter was coded for the PATHMODE keyword on the DD statement. If SISUID was coded, $PATHMODE returns a TRUE value.
Indicates that you want to know whether the SISGID subparameter was coded for the PATHMODE keyword on the DD statement. If SISGID was coded, $PATHMODE returns a TRUE value.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.
For more information, see $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP1, $PATHDISP2, and $PATHOPTS. {{id name="ListofDALelements(M-S)-pathmode"/}}
$PATHOPTS
Description: Access or Status Group for an HFS File
Type: Logic variable.
Maximum Length: Not applicable.
This Logic variable allows you to determine the access or status group set for an HFS file by the PATHOPTS keyword on the DD statement.
$PATHOPTS($BLANK | ORDONLY | OWRONLY| ORDWR | OAPPEND | OCREAT | |
Allows you to test for an "all blanks" condition.
Indicates that you want to know whether the ORDONLY subparameter was coded for the PATHOPTS keyword on the DD statement. If ORDONLY was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the OWRONLY subparameter was coded for the PATHOPTS keyword on the DD statement. If OWRONLY was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the ORDWR subparameter was coded for the PATHOPTS keyword on the DD statement. If ORDWR was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the OAPPEND subparameter was coded for the PATHOPTS keyword on the DD statement. If OAPPEND was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the OCREAT subparameter was coded for the PATHOPTS keyword on the DD statement. If OCREAT was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the OEXCL subparameter was coded for the PATHOPTS keyword on the DD statement. If OEXCL was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the ONONCTTY subparameter was coded for the PATHOPTS keyword on the DD statement. If ONONCTTY was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the ONONBLOCK subparameter was coded for the PATHOPTS keyword on the DD statement. If ONONBLOCK was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the OSYNC subparameter was coded for the PATHOPTS keyword on the DD statement. If OSYNC was coded, $PATHOPTS returns a TRUE value.
Indicates that you want to know whether the OTRUNC subparameter was coded for the PATHOPTS keyword on the DD statement. If OTRUNC was coded, $PATHOPTS returns a TRUE value.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements. This Descriptor can also be used as an insert in message definition statements.
For more information, see $DATASET_ON, $DDTYPE, $JCL_DSNTYPE, $JCL_FILEDATA, $PATH, $PATHDISP1, $PATHDISP2, and $PATHMODE. {{id name="ListofDALelements(M-S)-pattern_matching_function"/}}
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) |
A Descriptor that contains character strings.
The pattern to be used in the comparison, resulting in either a TRUE (equal) or FALSE (not equal) value returned by the function.
Patterns must be constructed according to the rules listed below.
Usage:
This function can be used in EVALUATE and DAL Logic statements. It returns a TRUE/FALSE value.
Examples:
The pattern matching function can be viewed as having a "left" portion and a "right" portion.
• On the left is a Descriptor name, which represents a field containing a character string.
• On the right is a pattern that is matched against the character string contained in the Descriptor named on the left.
Here is an example of how this function works:
The Descriptor $ACCT contains the character string representing the account number for the job. If it happens to be 'MMPAY910', the function returns a value of TRUE, otherwise it returns a value of FALSE.
This function can be tested by an IF or EVAL statement and the outcome used to determine what actions to take:
Rules:
General Pattern Matching Rules
• If the pattern you want to specify includes blanks, or any non-alphabetic, numeric, or national characters then you enclose it in single quote marks, also known as apostrophes.
• In patterns, the question mark '?' and asterisk '*' characters have special meanings, and are called "wildcard" characters.
– A question mark indicates that this position in the pattern is to be ignored. Any character satisfies the match, including a blank. There must be a character in that position.
– An asterisk indicates that any number of characters can be substituted for it in the target string, including blanks or the absence of any character. Note that the asterisk can either be at the beginning of the pattern, at the end of the pattern, or in both places. An asterisk cannot appear in the middle of a string as a wild character.
– If the question mark or the asterisk character is encountered in a string enclosed within apostrophes it is still treated as a wildcard character.
• If you want a question mark or an asterisk to be treated as a normal character, you must use the escape character double quote ( " ) in front of it.
– A question mark or asterisk immediately following the escape character does not signify a wildcard character (i.e., it has no special meaning). For example, in the string A"? the question mark is not a wildcard character.
– If you want to match on the escape character then use two double quote ( "" ) characters in succession. For example, you would code A""B if you wanted to match A"B.
– The character following the escape character ( " ) must be either a wildcard character (* or ?) or another escape character ( " ). Any other character is flagged as an error.
• The length of the pattern is extended on the right with blanks until it matches the length of the Descriptor string. A pattern longer than the maximum allowed for the Descriptor is invalid.
Dataset Name Pattern Matching Rules
- The question mark is used in the same manner as when matching character strings, but it works at the qualifier level.
- The asterisk is used in the same manner as when matching character strings, but it works at the qualifier level.
- An asterisk matches any character or number of characters, but only affects the qualifier in which it is used. The question mark requires the presence of a character but only within the qualifier where it is coded.
- Coding an asterisk (for example, A.*.B) implies that there is a qualifier at that position.
- The special pattern '**' (two asterisks coded in succession) matches any number of qualifiers, including the absence of a qualifier. This is used in place of complete qualifiers. For example, A.**.B matches A.B, A.X.B, A.X.Y.B, and so on.
PATTERNDEF
Description: To Construct Patterns Dynamically
Type: Definition statement.
Maximum Value: 255 characters.
A pattern definition statement is provided to allow you to create patterns dynamically at DAL execution time.
PATTERNDEF %patid (source1) [ || (source2)] |
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.
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:
– A character Descriptor. For example:
The length of the pattern is the length of the Descriptor.
– The substring function. For example:
Here, at DAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function see to substring function.
– %PATID
A previously defined pattern. You specify the pattern id.
– %STRID
A previously defined character string, created by a STRINGDEF statement. You specify the string id.
Indicates that source2 is to be concatenated to source1.
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.
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:
The Property JOB_OK is TRUE only when the first three characters of the job name and the third, fourth, and fifth characters of the job account are equal.
Notes:
With PATTERNDEF the characters ‘*’ or ‘?’, unless especially noted, are treated as a wildcard character. If you want ‘*’, and ‘?’ not to be treated as wildcard characters you have to use the escape character.
The resulting pattern must be a complete valid pattern even if you intend to use it as part of another PATTERNDEF for the construction of a larger pattern.
PATTERNDEFX | PATDEFX
Description: Extended Pattern Definitions
Type: Definition statement.
Maximum Value: 255 characters.
Pattern definition extensions allow you to check for specific types of data in string Descriptors.
PATTERNDEFX %patid (source) |
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.
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:
– The wildcard characters (? and *). If '*' is coded, it must be the last character in the pattern. For example:
– 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.
Matches a single alphabetic or national (#, @, $) character.
Matches a single numeric character.
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:
– One or more character sets defined with the CHARSET statement. The position being compared must match one of the characters in the set. To test for a four digit odd number, for example:
CHARSET %ODD (‘13579’)
PATTERNDEFX %TEST_ODD_NUM (###,%ODD)
Usage:
A %patid can be used in any construct that allows pattern matching, except for these statements:
DCS NAG
DCS REPO
See Also: CHARSET, PATTERNDEF, and STRINGDEF.
Notes:
With PATTERNDEFX, to use the wildcard characters '?' and '*' you must code them outside a quoted string. Inside a quoted string, the '?' and '*' characters are not interpreted as wildcards.
$PERFORM
Description: Test for JOB Statement PERFORM Keyword
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable allows you to determine whether the PERFORM= keyword was coded on the JOB statement.
$PERFORM(NO | YES) |
When TRUE, it indicates that the keyword PERFORM= was not coded on the JOB statement.
When TRUE, it indicates that the keyword PERFORM= was coded on the JOB statement.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
Examples:
IF ($PERFORM(YES))
WTU...
For more information, see $JOB_PERFORM.
$PGMNAME
Description: Program Name
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor allows you to determine the program name for the step that includes the DD currently being processed by DAL.
$PGMNAME(pattern | %patid | table-id) |
This is a hard-coded string representing a valid program name. It can also include the wildcard characters '?' and '*'. It is matched against the program name for the step that includes the DD statement being processed.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$PGMR
Description: Programmer Name From JOB Statement
Type: Character string Descriptor.
Maximum Length: 20 characters.
This Descriptor represents the programmer name field from the JOB statement.
$PGMR(pattern | %patid | table-id) |
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.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$PGMR('APPLICATIONS TESTING')
$PGMR($TABLE1(NAMES))
PROCEDURE | PROC
Description: Indicate Type of Action Language
Type: Language Directive.
This statement is a language directive. Its purpose is to indicate the type of Action Language to be processed. That is, it distinguishes DAL from JAL. It is mandatory to identify DAL.
The short form for this directive is PROC.
PROCEDURE ID(DAL) [TYPE( DCS | SOS | TM )] [DESC(‘description’)] |
Indicates that you are identifying the type of Action Language to be processed.
Specifies that the language is DAL.
This keyword is valid for DAL only. It indicates the type of DAL being processed.
Specifies that DAL is being processed for DCS. This is the default.
Specifies that DAL is being processed for SOS.
Specifies that TM DAL is being processed.
Allows you to specify a description that is included in the output from DISPLAY and REFRESH commands for identification purposes.
Is a string of up to 24 characters, enclosed in apostrophes. To include an apostrophe, code two successive apostrophes.
Examples:
$PROCSTEP
Description: Step Procedure Name
Type: Character string DD Descriptor.
Maximum Length: 8 characters.
This Descriptor allows you to determine the name of the 8-character step procedure name on the EXEC statement. The EXEC statement is associated with the DD statement being processed and is calling an in-stream or a cataloged JCL procedure.
$PROCSTEP($BLANK | pattern | %patid | table-id) |
Allows you to test for an "all blanks" condition.
A hard-coded valid step name pattern to be matched against the step procedure name for the step that includes the DD statement being processed.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
For more information, see $BLANK. {{id name="ListofDALelements(M-S)-racfg_rg"/}}
$RACFG | $RG
Description: GROUP Parameter From JOB Statement
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor represents the GROUP parameter from the JOB statement.
$RACFG(pattern | %patid | table-id) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$RACFG(AP100)
$RG(TESTING)
$RACFG($TABLE1(GROUPS))
For more information, see $RACFU and $SUBMITTER_RACFG. {{id name="ListofDALelements(M-S)-racfu_ru"/}}
$RACFU | $RU
Description: USER Parameter From JOB Statement
Type: Character string Descriptor.
Maximum Length: 7 characters.
This Descriptor represents the USER parameter from the JOB statement.
$RACFU(pattern | %patid | table-id) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$RACFU(MKTING)
$RU(OPSSHF2)
$RACFU($TABLE2(USERS))
For more information, see $RACFG and $SUBMITTER_RACFU.
Notes:
Under certain circumstances this field may be internally supplied (as opposed to JCL coded). In that case you may want to look at an 8-character field. The Descriptor $RACFU8 is provided for that purpose. {{id name="ListofDALelements(M-S)-range"/}}
Range
Description: Range Definitions
Type: Definition statement.
Maximum Value: Not applicable.
This is not a Descriptor. It has been included here for completeness. It describes a "type" of definition statement. When a Descriptor can assume one of a range of values, DAL allows you to divide the range up into segments. You assign Property Names and specify the starting point for each segment. With this type of definition, multiple Properties can be defined with a single statement, but only one can assume a TRUE value.
desc [start,]name,[start1,name1,...,startN,nameN] |
The DD or User Descriptor.
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.
The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_). You can code the single character dollar sign ($) in place of a Property Name for ranges you wish to ignore.
It is important to remember that starting points and Property Names are paired. The first Property Name is paired with the starting point 0, by default, even if you omit coding the 0. The starting point always is paired with the following Property Name, and defines the lower end of the named segment. All values below the starting point belong to the previous segment. This enforces a continuous scale, with no overlaps or gaps.
The following rules govern range definition statements:
- Each starting point in a range definition must be higher than any preceding starting point.
- DAL always assumes that a range begins at 0 and ends with the highest legal value for that Descriptor.
- The upper limit for a specific Descriptor is shown in this reference section.
- There is no practical limit to the number of segments that you can define.
- While it is not a syntax error to code a range definition that consists of simply one segment name, this defines a segment that covers all values from 0 to the upper limit for that Descriptor. The defined Property must therefore always be TRUE.
Usage:
This statement can be used only in the DAL definition section.
The following illustrates the conventions used to assign names to segments of a range:
This statement is interpreted as follows:
Where:
is the optional first starting point. All ranges begin with 0, whether it is specifically coded or omitted.
is the Property Name for the segment "less than 1 automated volume" (i.e., no automated cartridges requested).
is the Property Name for the segment "greater than or equal to 1 automated volume but less than 5 automated volumes."
is the Property Name for the segment "greater than or equal to 5 automated volumes but less than 9999 volumes."
Examples:
In this example, the Property NO_AUTO is TRUE for jobs not requiring automated volumes, while the SOME_AUTO Property is TRUE for jobs requiring the use of automated volumes. {{id name="ListofDALelements(M-S)-reader_date"/}}
$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 |
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.
For more information, see $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_day_of_month"/}}
$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] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $READER_DATE, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_day_of_month"/}}
$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] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_day_of_month"/}}
$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] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_MONTH, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_month"/}}
$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] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_TIME, $READER_TIME_OF_DAY, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_time"/}}
$READER_TIME
Description: Reader Time
Type: Display Variable.
Maximum Value: 23:59:59
This Display Variable provides the time at which the job was read into the system in the format hh:mm:ss, using the 24-hour clock.
$READER_TIME |
Is a valid insert in a MSGDEF statement.
Usage:
This Variable can be used only as an insert in message definition statements.
For more information, see $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME_OF_DAY, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_time_of_day"/}}
$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] |
---|
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.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, and $READER_YEAR. {{id name="ListofDALelements(M-S)-reader_year"/}}
$READER_YEAR
Description: Reader Year
Type: Range Definition Descriptor.
Maximum Value: 9999
This Descriptor provides a number representing the year the job was read into the system, including the century designation. The format is ccyy, for example 2005.
$READER_YEAR [0,]name1,start2,name2[,...,startN,nameN] |
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
For more information, see $READER_DATE, $READER_DAY_OF_MONTH, $READER_DAY_OF_WEEK, $READER_DAY_OF_YEAR, $READER_MONTH, $READER_TIME, and $READER_TIME_OF_DAY. {{id name="ListofDALelements(M-S)-requires_zos"/}}
$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] |
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.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
$REQUIRES_ZOS 0,No_Req, +
1.11,zOS1_11, +
1.12,zOS1_12, +
1.13,zOS1_13, +
2.1,zOS2_1
$RESTART
Description: Test for Coded Restart=
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable indicates that RESTART= is coded on a job card.
$RESTART(NO | YES) |
RESTART= was not coded on a job card.
RESTART= was coded on a job card.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
If you code RESTART= step1 it will be considered that RESTART= is not coded. {{id name="ListofDALelements(M-S)-return"/}}
RETURN
Description: Terminate DAL Processing
Type: Action statement.
The RETURN statement signals BMC ThruPut Manager to terminate DAL processing and continue the analysis process. If coded without a keyword, the RETURN statement indicates to the DAL processor to terminate the execution of DAL normally. If there is another DD statement to be processed, DAL is invoked again. If it was the last DD statement, then JAL is invoked.
RETURN [CONTINUE | DONE | FAIL | FLUSH] |
This optional keyword represents a normal return after the execution of DAL. This is the only valid return from SOS DAL that is being re-driven.
It is the default if no keyword is coded.
This keyword indicates that for the type of DAL being executed, all processing for this job has been completed. If this keyword is used, DAL will not be invoked again even if there are unprocessed DD statements; however, JAL is invoked and JAL processing continues.
This keyword indicates to the DAL processor that the job is to be failed at the end of JAL processing. If there is another DD statement to be processed, DAL is invoked again. If it was the last DD statement, then JAL is invoked. At the end of JAL execution, the job is failed.
You can determine if a RETURN FAIL statement has been executed by testing the logic variable $JXFAIL.
This keyword requests that the job be terminated immediately.
Indicates that SOS DAL is to be reinvoked for the current SYSOUT DD statement and OUTPUT JCL statement (if present), with a copy of the current data set's original information. If the current invocation of SOS DAL resulted from a RETURN REDRIVE, use of this keyword is an error.
Indicates how many times SOS DAL is to be reinvoked for the current SYSOUT DD statement and OUTPUT JCL statement (if present).
Is a number from the range 1-127.
The default for this keyword is 1.
Examples:
IF (NO_SOS)
RETURN DONE
ENDIF
In this case, the Property NO_SOS has been evaluated elsewhere in the DAL logic, and it has been determined that SOS DAL does not apply to this job. The DONE keyword tells the DAL processor not to call SOS DAL again for the job.
IF (ADD_SOME)
RETURN REDRIVE COUNT(2)
ENDIF
This example causes the DAL processor to call SOS DAL 2 more times, using the data set information from the current SYSOUT DD statement and, if present, OUTPUT JCL statement. This has the effect of adding two more SYSOUT data sets. {{id name="ListofDALelements(M-S)-room"/}}
$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) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$ROOM(1700)
$ROOM(TEST)
$ROOM($TABLE2(ROOMS))
$SAF_ACEE
Description: Extract Substring from SAF Accessor Environment Element
Type: Character string Descriptor.
Maximum Length: 168 characters.
This Descriptor allows you to extract a substring from the SAF Accessor Environment Element.
STRINGDEF %stringid ($SAF_ACEE,length[,start]) |
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.
Is the number of characters to be extracted, from the range 1-168.
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:
In this example, the 20 bytes starting at byte 8 in the SAF Accessor Environment Element are extracted and placed in the string variable %SAF_INFO.
Notes:
This field is padded with blanks before extraction is performed. If no data has been entered into the SAF Accessor Environment Element, STRINGDEF will return a string of blanks. {{id name="ListofDALelements(M-S)-saf_aceeinst"/}}
$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]) |
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.
Is the number of characters to be extracted, from the range 1-255.
Is the starting position within the installation portion of the SAF Accessor Environment Element at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character). Usage:
Usage:
This Descriptor can be used only in STRINGDEF definition statements.
Examples:
In this example, the 16 bytes starting at byte 12 in the SAF user information are extracted and placed in the string variable %SAF_USERINFO.
Notes:
This field is padded with blanks before extraction is performed. If no data has been entered into the installation portion of the SAF Accessor Environment Element, STRINGDEF will return a string of blanks. {{id name="ListofDALelements(M-S)-saf_username"/}}
$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]) |
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.
Is the number of characters to be extracted, from the range 1-20.
Is the starting position within the SAF user name at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character).
Usage:
This Descriptor can be used only in STRINGDEF definition statements.
Examples:
In this example, the entire SAF user name is extracted and placed in the string variable %USERNAME.
Notes:
This field is padded with blanks. If no data has been entered for the SAF user name, STRINGDEF will return a string of blanks. {{id name="ListofDALelements(M-S)-send"/}}
SEND
Description: Write a Message to a TSO User
Type: Communication statement.
This DAL statement causes a message to be written to a TSO user. If the user is not logged on, the message I received at the next logon.
TSO SEND (id1[,id2,...idN]) |
Specifies the symbol or list of symbols associated with TSO messages, as established by prior MSGDEF statements.
Examples:
MSGDEF OVERNITE_MSG ('JOB ',$JOBNAME,' WILL BE QUEUED FOR OVERNIGHT SERVICE.') +
USERID($SUBMITTER_RACFU)
...
SEND OVERNITE_MSG
See Also: MSGDEF, WTCA7, WTO, and WTU.
Notes:
You can omit the parentheses () if a single message identifier is specified.
The message must have been defined with the USERID keyword, otherwise the SEND statement is ignored. {{id name="ListofDALelements(M-S)-setup"/}}
$SETUP
Description: JES2 /*SETUP control statement
Type: Logic Variable.
Maximum Value: Not applicable.
This Descriptor returns a TRUE/FALSE value depending on the presence or absence of a JES2 /*SETUP control statement. This Descriptor is only meaningful if this type of job is to be handled by BMC ThruPut Manager.
$SETUP(NO | YES) |
Returns a TRUE value if there is no /*SETUP statement in the job.
Returns a TRUE value if there is a /*SETUP statement in the job.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
Notes:
There is a BMC ThruPut Manager initialization parameter to indicate whether jobs that have a JES2 /*SETUP card are held before BMC ThruPut Manager processing, or they are passed to BMC 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. {{id name="ListofDALelements(M-S)-set_userln_type"/}}
SET $USERLn_type
Description: Set User Logic Variable
Type: Action Statement.
This form of the SET statement is used in DAL to assign a TRUE or FALSE value to a User Logic Variable. Each type of DAL provides nine User Logic Variables that can be tested in subsequent iterations of DAL of the same type and in JAL. This provides a means of communicating the results of current DAL processing.
SET $USERLn_type(TRUE | FALSE) |
Is a digit from the range 1-9.
Indicates the type of User Logic Variable that is being set, and is one of:
Indicates a DCS DAL User Logic Variable.
Indicates an SOS DAL User Logic Variable.
Indicates a TM DAL User Logic Variable.
Assigns a TRUE value to the User Logic Variable.
Assigns a FALSE value to the User Logic Variable.
Examples:
This SET statement must be from TM DAL because it assigns a TRUE value to $USERL3_TM.
For more information, see $USERLn_DCS, $USERLn_SOS, and $USERLn_TM.
Notes:
Although the SET statement can be used in the logic section of any type of DAL, it can set only the User Logic Variable for the type of DAL in which it is being executed. {{id name="ListofDALelements(M-S)-set_fail"/}}
SET FAIL
Description: Set Job to Fail at Termination of DAL and JAL
Type: Action statement.
Specifies that the job will be failed when DAL and JAL processing is completed.
SET FAIL |
Indicates that BMC ThruPut Manager is to queue the job for output (JCL error) instead of execution after DAL and JAL processing has completed.
For more information, see RETURN.
Notes:
This statement allows you to indicate that a job will be failed, but continue DAL and JAL processing so that full checking can be completed. Subsequent invocations of DAL will be honored.
SET FAIL cannot be reset. {{id name="ListofDALelements(M-S)-set_flush"/}}
SET FLUSH
Description: Set Job to Flush at Termination of DAL
Type: Action statement.
Specifies that the job will be failed when the current invocation of DAL processing is completed.
SET FLUSH |
Indicates that BMC ThruPut Manager is to queue the job for output (JCL error) instead of execution after the current invocation of DAL processing has completed.
For more information, see RETURN.
Notes:
This statement allows you to indicate that a job will be failed, but continue the current invocation of DAL processing so that full checking can be completed. The job is failed immediately after the RETURN statement is processed.
SET FLUSH cannot be reset. {{id name="ListofDALelements(M-S)-smf_descriptors"/}}
SMF DESCRIPTORS
Type: Descriptors available within the TYPE(STEPTERM) or TYPE(JOBTERM) DAL.
Maximum Length: Descriptor dependent.
The STEPTERM/JOBTERM DALs have access to all fields within the SMF Type 30 record. Along with the SMF record fields, the JOB level fields are also available, such as $JOBNAME, $ACCT, and $ACCTFLD.
Rather than describe the vast number of descriptors that are available to the STEPTERM and JOBTERM DAL, it is easier to explain that all of the fields within the SMF 30 record described in z/ OS MVS System Management Facilities (SMF) SA38-0667-30 are available as DAL descriptors. The "SMF30..." fields in the SMF record are available via "$SMF30..." DAL descriptors. An example of this is SMF30JBN, which is available as $SMF30JBN within the STEPTERM or JOBTERM DAL.
As with other DALs, Numeric descriptors can be used in RANGE statements and Character descriptors can be used in EVALUATE statements, STRINGDEF statements, and so on. The normal descriptor rules apply to these fields. Character descriptors can be compared to hard-coded strings, STRINGDEFs, or PATTERNDEFs (or PATTERNDEFX) statements. All fields may be used within a MSGDEF statement. The flag fields within the SMF record can also be used within an EVALUATE statement. The flags associated with that byte can be used as OPERANDs to determine whether these flags are ON or OFF. An example of this is SMF30WMI. This flag, which is within the SMF30PF1 field indicates that the job is executing in a Workload Manager Batch Initiator. To test this flag, you could code "EVALUATE WLM_INIT ($SMF30PF1(SMF30WMI))". In this example, WLM_INIT would be TRUE if the initiator in which the job was executing is a Work Load Manager initiator.
When fields are used within a MSGDEF statement, they are formatted according to their type. Many numeric fields will be suffixed with K, M, G, T or P. Other numeric fields may be formatted as a TIME field in the format HH:MM:SS.TH. The Step Completion Code field is specially formatted when it is displayed within a MSGDEF. When the step completes nomally with a return code, that number is printed. If the step abends due to a USER abend, it contains Unnnn, where nnnn is the decimal user abend code. If the step abends due to a SYSTEM abend, it displays as Snnn, wherennn is the hexadecimal abend code. When a step is bypassed due to condition codes, this descriptor displays as 'STEP WAS NOT EXECUTED'.
Special Numeric Descriptors that do not exist within the SMF 30 record:
Calculated by adding SMF30CPT, SMF30CPS, SMF30_TIME_ON_IFA and SMF30_ TIME_ON_ZIIP
$SMF30_STEP_ELAPSED_TIME
Calculated by subtracting the current time from the time that BMC ThruPut Manager noted that the step began.
$SMF30BLK_DISK
$SMF30BLK_TAPE
$SMF30BLK_VIO
-The above 3 are calculated by totalling all the SMF30BLK fields in the SMF record for each of the specific device types.
Stepterm DAL Example:
/*
$SMF30STN $,1,Step1,2,$
/*
EvalFlushed ($SMF30STI(SMF30FLH)) /* Bypassed Due To Condition Codes
/*
StringDef %MSGID (‘DALS’) /* StepTerm DAL Message Prefix */
/*
MsgDef MSG1 (%MSGID,’1 ‘,+
‘*-*-*-*-*-’ +
‘J o b S t e p S u m m a r y’ +
‘ *-*-*-*-*-’) +
ROUTCDE(11)
MsgDef MSG2 (%MSGID,’2 ‘,+
‘Job Proc Program Ret. Elapsed CPU ‘,+
‘ Region Real Service ‘,+
‘ ----I/O ----’) +
ROUTCDE(11)
MsgDefMSG3 (%MSGID,’3 ‘,+
‘Step Step Name Code Time Time’,+
‘ Below/Above 64-Bit Units ‘, +
‘ DISK TAPE VIO’) +
ROUTCDE(11)
MsgDef MSG4 (%MSGID,’4’, +
(COL,7),$SMF30STM, +
(COL,16),$SMF30PSN, +
(COL,25),$SMF30PGM, +
(COL,37,R),$SMF30SCC, +
(COL,50,R),$SMF30_STEP_ELAPSED_TIME +
(COL,62,R),$SMF30CPT, +
(COL,68,R),$SMF30URB, +
(COL,74,R),$SMF30EUR, +
(COL,82,R),$SMF30HVR, +
(COL,88,R),$SMF30SRV_L, +
(COL,98,R),$SMF30BLK_DISK +
(COL,105,R),$SMF30BLK_TAPE +
(COL,112,R),$SMF30BLK_VIO) +
(COL,112,R),$SMF30BLK_VIO) +
ROUTCDE(11)
MsgDef MSG5 (%MSGID,’4’, +
(COL,7),$SMF30STM, +
(COL,16),$SMF30PSN, +
(COL,25),$SMF30PGM, +
(COL,34),$SMF30SCC) +
ROUTCDE(11)
/*
If (Step1) /* Check For 1st Step */
WTO (MSG1,MSG2,MSG3) /* If So, Write Headings */
EndIf
If (Flushed) /* Short Line If Step Flushed */
WTO MSG5
Else /* Long Line If Not */
WTO MSG4
EndIf
/*
END
Output Generated:
DALS2 Job Proc Program Ret. Elapsed CPU Region Real Service ----I/O ----
DALS3 Step Step Name Code Time Time Below/Above 64-Bit Units DISK TAPE VIO
DALS4 DCLCOPY DCLCOPY DCLCOPY 0 00:00:00.24 00:00:00.04 52K 4K 8G 562 15 0 0
DALS4 EXECSTEP STEP001 IEFBR14 0 00:00:00.07 00:00:00.01 4K 4K 0 81 0 0 0
DALS4 RC04 ******** RETCODE 4 00:00:00.10 00:00:00.01 12K 4K 0 126 2 0 0
DALS4 RC12 ******** RETCODE 12 00:00:00.11 00:00:00.01 12K 4K 0 135 2 0 0
DALS4 USER99 ******** RETCODE U0099 00:00:00.20 00:00:00.06 12K 4K 0 554 2 0 0
DALS4 BYPASSED ******** IEFBR14 STEP WAS NOT EXECUTED
DALS4 SYSTEM99 ******** RETCODE S099 00:00:00.26 00:00:00.06 12K 4K 0 497 2 0 0
DALS4 SUBMIT RESUB IEBGENR 0 00:00:00.28 00:00:00.09 184K 4K 0 961 2 0 0
$SMS_DATACLAS
Description: Data Class for SMS-managed data set
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor represents the name of the Data Class for an SMS-managed data set.
$SMS_DATACLAS(pattern | %patid | table-id) |
Is a 1-8 character pattern to be matched against the name for the SMS Data Class, as assigned by the SMS storage administrator for your installation.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
For more information, see $SMS_MANAGED, $SMS_MGMTCLAS, and $SMS_STORCLAS. {{id name="ListofDALelements(M-S)-sms_dataclas"/}}
$SMS_MANAGED
Description: Test for SMS-managed data set
Type: Logic Variable.
Maximum Value: Not applicable.
This Descriptor returns a TRUE/FALSE value depending on whether the data set is managed by SMS.
$SMS_MANAGED(NO | YES) |
Returns a TRUE value if the data set is not managed by SMS.
Returns a TRUE value if the data set is managed by SMS.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
For more information, see $SMS_DATACLAS, $SMS_MGMTCLAS, and $SMS_STORCLAS. {{id name="ListofDALelements(M-S)-sms_mgmtclas"/}}
$SMS_MGMTCLAS
Description: Management Class for SMS-managed data set
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor represents the name of the Management Class for an SMS-managed data set.
$SMS_MGMTCLAS(pattern | %patid | table-id) |
Is a 1-8 character pattern to be matched against the name for the SMS Management Class, as assigned by the SMS storage administrator for your installation.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
For more information, see $SMS_DATACLAS, $SMS_MANAGED, and $SMS_STORCLAS. {{id name="ListofDALelements(M-S)-sms_storclas"/}}
$SMS_STORCLAS
Description: Storage Class for SMS-managed data set
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor represents the name of the Storage Class for an SMS-managed data set.
$SMS_STORCLAS(pattern | %patid | table-id) |
Is a 1-8 character pattern to be matched against the name for the SMS Storage Class, as assigned by the SMS storage administrator for your installation.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
For more information, see $SMS_DATACLAS, $SMS_MANAGED, and $SMS_MGMTCLAS. {{id name="ListofDALelements(M-S)-sos_alter"/}}
SOS ALTER
SOS ONLY |
Description: Alter Sysout data set Characteristics
Type: Action Statement.
SOS allows you to alter characteristics of the sysout data set being processed. The characteristics you can alter correspond to characteristics described by the OUTPUT JCL statement, and are listed in the Table of Characteristics below.
SOS ALTER characteristic(operand,[operand,...]) |
Is one of the characteristics of a sysout data set, taken from the Table of Characteristics.
Is one or more operands, depending on the characteristic being set. You can code operands directly or use a %strid created with a STRINGDEF statement.
These operands use the syntax described in the IBM manual MVS JCL Reference, with the following extension:
– If an asterisk (*) is coded for a field, the current value for that field is retained. To replace a field with a single asterisk, the asterisk must be enclosed in apostrophes: '*'. See the examples below.
Unless you use an asterisk to retain the value, any characteristic altered by SOS ALTER is treated as a complete replacement of anything coded in JCL or JECL.
Indicates that the sysout data set is to be purged regardless of how the job terminates. This is the equivalent of coding OUTDISP=(PURGE,PURGE) on the OUTPUT JCL statement.
Examples:
SOS ALTER CLASS(D)
In this example, the sysout class for the data set is altered to sysout class D.
STRINGDEF %NAME ($PGMR)
...
SOS ALTER ADDRESS(%NAME,'CIS DEPT')
This example inserts the programmer name into a custom address field.
This example alters the first ADDRESS field to 'ACCTNG DEPT' and the second field to '5TH FLOOR'. Note that if the OUTPUT JCL statement included a value for the third or fourth ADDRESS fields, this SOS ALTER statement will replace them with blank fields.
This effect is more obvious in this example:
Here the first and second ADDRESS fields are replaced with blank fields, and the third ADDRESS field is replaced with '123 ANY ST'. This duplicates the effect you would get if you coded the same operand on the OUTPUT JCL statement. It is possible, however, that you want to alter one field and leave the others alone. You can do this by coding:
Because an asterisk is coded for the first and second ADDRESS fields, the values for those fields remains unchanged from whatever was coded on the OUTPUT JCL statement. The third ADDRESS field, however, is replaced with '123 ANY ST'.
For more information, see STRINGDEF.
Table of Characteristics:
Characteristic | Description |
---|---|
ADDRESS | Address lines on the separator pages of an output data set. |
AFPPARMS | References the data set name which specifies the parameter file that contains the parameters and values for the AFP print distributor feature of PSF. |
AFPSTATS | Specifies whether the Print Services Facility is to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set. |
BUILDING | Building identification. |
BURST | Specifies whether the output for the sysout data set printed on a 3800 Printing Subsystem is to go to a burster-trimmer-stacker or a continuous forms stacker. |
CHARS | Name of one or more character-arrangement tables for printing the sysout data set. |
CKPTLINE | Maximum number of lines in a logical page. |
CKPTPAGE | Number of logical pages to be printed or transmitted before JES takes a checkpoint. |
CKPTSEC | Number of seconds between checkpoints of the sysout data set. |
CLASS | Sysout class of the output data set. |
COLORMAP | Specifies the AFP Resource (object) for the data set that contains color translation information. |
COMPACT | Compaction table for JES to use when sending the sysout data set, which is a systems network architecture (SNA) data set, to a SNA remote terminal. |
COMSETUP | Name of a microfile setup resource that contains setup information. |
CONTROL | Specifies either that each logical record starts with a carriage control character or that the output is to be printed with single, double, or triple spacing. |
COPIES | Number of copies to be printed for the sysout data set. |
COPYCNT | Defines the number of copies of output. The COPYCNT keyword supersedes the COPIES keyword on the output statement. Where COPIES is limited to 255 maximum size, COPYCNT can be 0 - 2147483647 in size. |
DATACK | Indicates whether or not print-positioning and invalid-character data-check errors are to be blocked or unblocked for printers accessed through the functional subsystem PSF. |
DDNAME | Specifies the DD statements to apply the specifications on the OUTPUT statement to. |
DEPT | Department identification on the separator pages of output for a sysout data set. |
DEST | Destination for the sysout data set. |
DPAGELBL | Specifies whether the system should print the security label on each page. |
DUPLEX | Specifies whether or not printing is to be done on both sides of the sheet. |
FCB | The forms control buffer (FCB) image JES is to use to guide printing of the sysout data set. |
FLASH | Forms overlay to be used in printing the sysout data set on a 3800 Printing Subsystem. |
FORMDEF | Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3). |
FORMLEN | Allows PSF/MVS users to set the length of pages for print without reconfiguring the printer. |
FORMS | Forms on which the sysout data set is to be printed or punched. |
FSSDATA | Data to be passed, dependent on the subsystem. |
GROUPID | Output group to which the sysout data set belongs. |
HOLD | Specifies whether the sysout data set is to be held. |
INDEX | Value to set for the left margin for output on a 3211 Printer with the indexing feature. |
INTRAY | Specifies the paper source. |
LINDEX | Value to set for the right margin for output on a 3211 Printer with the indexing feature. |
LINECT | Maximum number of lines JES2 is to print on each output page. |
MERGE | Specifies whether or not the parameters which are specified on the OUTPUT JCL statement will be merged with the output statement for the job. |
MODIFY | Copy-modification module that tells JES how to print the sysout data set on a 3800 Printing Subsystem. |
NAME | Preferred name printed on the separator pages of the output for a sysout data set. |
NOTIFY | Users to be notified by PFS upon completion of printing. |
OFFSETXB | Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the back side of each page of output. |
OFFSETXF | Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the front side of each page of output. |
OFFSETYB | Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the back side of each page of output. |
OFFSETYF | Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the front side of each page of output. |
OUTBIN | Specifies the printer output bin identifier to be used for the sysout data set. |
OUTDISP | Specifies the disposition of the sysout data set. |
OUTLIM | Sets a limit for the number of logical records in the sysout data set. |
OVERLAYB | Specifies that the named medium overlay is to be placed on the back side of each sheet to be printed. |
OVERLAYF | Specifies that the named medium overlay is to be placed on the front side of each sheet to be printed. |
PAGEDEF | Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3). |
PIMSG | Indicates the handling of messages by Print Services Facility (PSF). |
PORTNO | Specifies the TCP/IP port number at which the FSS (for example, IP Printway) connects to the printer. |
PRTATTRS | Specifies one or more job attributes for Infoprint Server. |
PRTERROR | Specifies the disposition of the SYSOUT data set used if a terminating error occurs during printing through the PSF/MVS functional subsystem. |
PRMODE | Specifies the process mode required to print the sysout data set. |
PRTOPTNS | Named entity that refers to additional print options the FSS can use when printing a data set routed to DEST=’IP:ipaddr’. |
PRTQUEUE | Name of the target print queue on a remote host system. |
PRTY | Priority at which the sysout data set enters the output queue. |
RESFMT | Specifies the resolution used to format the print data set. |
RETAINF | Instructs the FSS how long to retain the data set if the transmission fails. |
RETAINS | Instructs the FSS how long to retain the data set if the transmission succeeds. |
RETRYL | Sets the number of transmissions that the FSS attempts before the RETAINF options take affect. |
RETRYT | Specifies how long the FSS is to wait between transmission retries. |
ROOM | Room identification printed on the separator pages of the output for a sysout data set. |
SEGMENT | Sets the number of pages produced for a sysout data set before the system processes the segment of the data set. |
SPIN | Specifies whether the output for the sysout data set is made available for processing immediately upon unallocation or at the end of the job. |
SYSAREA | Specifies whether the system should reserve an area on each page of printed output for the security label. |
TITLE | Description of the output printed on the separator pages of the output of a sysout data set. |
TRC | Specifies whether the logical record for each output line in the sysout data set contains table reference character (TRC) codes. |
UCS | UCS image, print chain, or character arrangement table to be used in printing the sysout data set. |
USERDATA | User data, usage defined by your installation. |
USERLIB | Libraries containing AFP resources to be used by Print Services Facility (PSF) when processing sysout data sets. |
WRITER | External writer to be used to process the sysout data set rather than JES. |
$SOS_AFPSTATS
SOS ONLY |
Description: AFPSTATS Report
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable indicates whether the Print Services Facility (PSF) is to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.
$SOS_AFPSTATS(NO | YES) |
When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if PSF was not requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.
When this subparameter is coded, $SOS_AFPSTATS is TRUE if PSF was requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
Examples:
This Variable evaluates to TRUE if PSF was requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set. {{id name="ListofDALelements(M-S)-sos_character"/}}
SOS Character
SOS ONLY |
Description: SOS Character Descriptors
Type: Character string Descriptor.
Maximum Length: Descriptor dependent.
SOS provides a character Descriptor for each sysout data set characteristic that can be described with a character string. The Descriptor names and descriptions are included in the Table of SOS Character Descriptors below.
descriptor(pattern | %patid | table-id | value) |
Is the SOS Descriptor name, taken from the Table of SOS Character Descriptors.
Is a hard-coded string. The contents of the string must follow the syntax rules for the applicable sysout data set characteristic.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
Is one of a list of specific values that are the only valid entries for a particular Descriptor. The values for each Descriptor of this type are shown in the Table of SOS Character Descriptors.
The pattern, %patid, table entry, or value is matched against the Descriptor. If a match occurs, a TRUE value is returned. Otherwise, the value is FALSE.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
These Descriptors can be used in EVALUATE definition statements and DAL Logic statements.
These Descriptors can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
In this example, the Descriptor evaluates to TRUE if address line 2 contains '123 4TH ST'.
Table of SOS Character Descriptors:
The Descriptors in this table reflect values for the sysout data set after the effects of any applicable OUTPUT JCL or JECL statements have been applied.
Table of SOS Character Descriptors:
The Descriptors in this table reflect values for the sysout data set after the effects of any applicable OUTPUT JCL or JECL statements have been applied.
Descriptor Name | Description | Length | |
---|---|---|---|
$SOS_ADDRESS_n | Address lines on the separator pages of an output data set, where n ranges from 1 to 4. | 1-60 per line | |
$SOS_AFPPARMS | References the data set name which specifies the parameter file that contains the parameters and values for the AFP print distributor feature of PSF. | 1-54 | |
$SOS_BUILDING | Building identification. | 1-60 | |
$SOS_BURST | Specifies whether the output for the sysout data set printed on a 3800 Printing Subsystem is to go to a burster-trimmer-stacker or a continuous forms stacker. | Values: | N/A |
$SOS_CHARS_n | Name of one or more character-arrangement tables for printing the sysout data set, where n ranges from 1 to 4. | 1-4 per name | |
$SOS_CLASS | Sysout class of the output data set. | 1 | |
$SOS_COLORMAP | Specifies the AFP Resource (object) for the data set that contains color translation information. | 1-8 | |
$SOS_COMPACT | Compaction table for JES to use when sending the sysout data set, which is a systems network architecture (SNA) data set, to a SNA remote terminal. | 1-8 | |
$SOS_COMSETUP | Name of a microfile setup resource that contains setup information. | 1-8 | |
$SOS_CONTROL | Specifies either that each logical record starts with a carriage control character or that the output is to be printed with single, double, or triple spacing. | Values: | N/A |
$SOS_DATACK | Indicates whether or not print-positioning and invalid-character data-check errors are to be blocked or unblocked for printers accessed through the functional subsystem PSF. | Values: | N/A |
$SOS_DEFAULT | Specifies whether this OUTPUT JCL statement can or cannot be implicitly referenced by a sysout DD statement. | Values: | N/A |
$SOS_DEPT | Department identification on the separator pages of output for a sysout data set. | 1-60 | |
$SOS_DEST | Destination for the sysout data set. | 1-127 | |
$SOS_DPAGELBL | Specifies whether the system should print the security label on each page. | Values: | N/A |
$SOS_DUPLEX | Specifies whether or not printing is to be done on both sides of the sheet. | Values: | N/A |
$SOS_FCB | The forms control buffer (FCB) image JES is to use to guide printing of the sysout data set. | 1-4 | |
$SOS_FLASH | Forms overlay to be used in printing the sysout data set on a 3800 Printing Subsystem. | 1-4 | |
$SOS_FORMDEF | Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3). | 1-6 | |
$SOS_FORMLEN | Allows PSF/MVS users to set the length of pages for print without reconfiguring the printer. | 4-8 | |
$SOS_FORMS | Forms on which the sysout data set is to be printed or punched. If the forms name is actually a code name for a JECL OUTPUT statement, the value returned by $SOS_FORMS is "STD". | 1-4 | |
$SOS_FSSDATA | Data to be passed, dependent on the subsystem. | 1-127 | |
$SOS_GROUPID | Output group to which the sysout data set belongs. | 1-8 | |
$SOS_HOLD | Indicates whether the system is to hold the sysout data set. | Values: | N/A |
$SOS_MODIFY | Copy-modification module that tells JES how to print the sysout data set on a 3800 Printing Subsystem. | 1-4 | |
$SOS_NAME | Preferred name printed on the separator pages of the output for a sysout data set. | 1-60 | |
$SOS_NOTIFY_n | Users to be notified by PFS upon completion of printing, where n ranges from 1 to 4. | 1-17 | |
$SOS_OFFSETXB | Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the back side of each page of output. | 5-13 | |
$SOS_OFFSETXF | Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the front side of each page of output. | 5-13 | |
$SOS_OFFSETYB | Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the back side of each page of output. | 5-13 | |
$SOS_OFFSETYF | Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the front side of each page of output. | 5-13 | |
$SOS_OUTCLASS_TYPE | Specifies the OUTPUT value for the current output class. | Values: | N/A |
$SOS_OUTDISP_ABNORM | Specifies the disposition of the sysout data set if the job does not complete normally. | Values: | N/A |
$SOS_OUTDISP_NORM | Specifies the disposition of the sysout data set if the job completes normally. | Values: | N/A |
$SOS_OUTPUTJECL_CODE | The code name associated with the JECL OUTPUT statement associated with the sysout data set being processed. | 1-4 | |
$SOS_OUTPUTJCL_LABEL | The label (name) of the current OUTPUT JCL statement. | 1-8 | |
$SOS_OUTPUTJCL_ PROCSTEP | The PROCSTEP for the current OUTPUT JCL statement. | 1-8 | |
$SOS_OUTPUTJCL_ STEPNAME | The STEPNAME for the current OUTPUT JCL statement. | 1-8 | |
$SOS_OVERLAYB | Specifies that the named medium overlay is to be placed on the back side of each sheet to be printed. | 1-8 | |
$SOS_OVERLAYF | Specifies that the named medium overlay is to be placed on the front side of each sheet to be printed. | 1-8 | |
$SOS_PAGEDEF | Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3). | 1-6 | |
$SOS_PIMSG | Specifies whether PSF is to print all error messages. | Values: | N/A |
$SOS_PRMODE | Process mode required to print the sysout data set. | 1-8 | |
$SOS_PRTATTRS | Specifies one or more job attributes for Infoprint Server. | 1-127 | |
$SOS_PRTERROR | Specifies the disposition of the SYSOUT data set used if a terminating error occurs during printing through the PSF/MVS functional subsystem. | Values: | N/A |
$SOS_PRTOPTNS | Named entity that refers to additional print options the FSS can use when printing a data set routed to DEST='IP:ipaddr'. | 1-16 | |
$SOS_PRTQUEUE | Name of the target print queue on a remote host system. | 1-127 | |
$SOS_RESFMT | Specifies the resolution used to format the print data set. | Values: | N/A |
$SOS_RETAINF | Instructs the FSS how long to retain the data set if the transmission fails. | 1-8 | |
$SOS_RETAINS | Instructs the FSS how long to retain the data set if the transmission succeeds. | 1-8 | |
$SOS_RETRYT | Specifies how long the FSS is to wait between transmission retries. | 1-8 | |
$SOS_ROOM | Room identification printed on the separator pages of the output for a sysout data set. | 1-60 | |
$SOS_SPIN | Specifies whether the output for the sysout data set is made available for processing immediately upon unallocation or at the end of the job. | Values: | N/A |
$SOS_SYSAREA | Specifies whether the system should reserve an area on each page of printed output for the security label. | Values: | N/A |
$SOS_TITLE | Description of the output printed on the separator pages of the output of a sysout data set. | 1-60 | |
$SOS_TRC | Specifies whether the logical record for each output line in the sysout data set contains table reference character (TRC) codes. | Values: | N/A |
$SOS_UCS | UCS image, print chain, or character arrangement table to be used in printing the sysout data set. | 1-4 | |
$SOS_USERDATA_n | User data, usage defined by your installation, where n ranges from 1 to 16. | 1-60 per field | |
$SOS_USERLIB_n | Libraries containing AFP resources to be used by Print Services Facility (PSF) when processing sysout data sets, where n ranges from 1 to 8. | 1-44 per library | |
$SOS_WRITER | External writer to be used to process the sysout data set rather than JES. | 1-8 |
$SOS_OUTCLASS_DUMMY
SOS ONLY |
Description: Dummy SYSOUT Class
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable indicates whether the class for the sysout data set was specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.
$SOS_OUTCLASS_DUMMY(NO | YES) |
When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if the sysout data set was not specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.
When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if the sysout data set was specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
Examples:
This Variable evaluates to TRUE if the class for the sysout data set was specified as a DUMMY class using the OUTCLASS keyword for JES2. {{id name="ListofDALelements(M-S)-sos_outputjecl"/}}
$SOS_OUTPUTJECL
SOS ONLY |
Description: JECL Code Name
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable indicates whether the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.
$SOS_OUTPUTJECL(NO | YES) |
When this subparameter is coded, $SOS_OUTPUTJECL is TRUE if the forms name coded for the SYSOUT keyword is not a code name for a JECL OUTPUT statement.
When this subparameter is coded, $SOS_OUTPUTJECL is TRUE if the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
Examples:
This Variable evaluates to TRUE if the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.
For more information, see $SOS_FORMS.
Notes:
If the forms name is actually a code name for a JECL OUTPUT statement, the value returned by the $SOS_FORMS Descriptor is "STD". {{id name="ListofDALelements(M-S)-sos_outputjcl_ref"/}}
$SOS_OUTPUTJCL_REF
SOS ONLY |
Description: Effect of OUTPUT JCL Statement
Type: Unique Descriptor.
Maximum Value: Not applicable.
This Unique Descriptor lets you determine how the SYSOUT data set being processed is affected by an OUTPUT JCL statement.
$SOS_OUTPUTJCL_REF name (output-type) |
Specifies a Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).
Is a unique value that represents a specific characteristic of the SYSOUT data set, and is one of the following keywords:
Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that is specified on the DD statement.
Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that is either a job or step default.
Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that has DEFAULT=YES at the job level.
Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that has DEFAULT=YES at the step level.
Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is not modified by an OUTPUT JCL statement.
Usage:
This Descriptor can be used only in the Definition Section of DAL.
Examples:
This assigns a TRUE value to the Property OUTPUT_CODED if a OUTPUT JCL statement is present and the DD statement describing the SYSOUT data set referred to it specifically.
This assigns a TRUE value to the Property OUTPUT_DEFAULT if a OUTPUT JCL statement with the keyword DEFAULT=YES is present at either the job or step level and affects the SYSOUT data set being processed.
This assigns a TRUE value to the Property NO_OUTPUT if no OUTPUT JCL statement affects the SYSOUT data set being processed. Note that this does not mean that there is no OUTPUT JCL statement present in the JCL stream. {{id name="ListofDALelements(M-S)-sos_outputjcl_stmt"/}}
$SOS_OUTPUTJCL_STMT
SOS ONLY |
Description: OUTPUT JCL Statement Number
Type: Display Variable.
Maximum Value: 65535
This Display Variable allows you to insert into a message the statement number of the JCL OUTPUT statement being processed.
$SOS_OUTPUTJCL_STMT# |
Is a valid insert in a MSGDEF statement.
Usage:
This Variable can be used only as an insert in message definition statements. {{id name="ListofDALelements(M-S)-sos_range"/}}
SOS Range
SOS ONLY |
Description: SOS Range Descriptors
Type: Range Descriptor.
Maximum Value: Descriptor dependent.
SOS provides a range Descriptor for each sysout data set characteristic that can be described with a numeric value. The Descriptor names and descriptions are included in the Table of SOS Range Descriptors below.
descriptor [0,]name1,start2,name2[,...startN,nameN] |
Is the SOS Descriptor name, taken from the Table of SOS Range Descriptors.
The starting point of a segment. The first starting point must be 0, but can be omitted if desired.
The possible values for starting points depend on the Descriptor, and are shown in the Table of SOS Range Descriptors.
The Property Name assigned to a segment of the range. Each Property Name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).
Usage:
These Descriptors can be used in the Definition Section of DAL, and also as an insert in message definition statements.
Examples:
In this example, the Property SINGLE evaluates to TRUE if COPIES has been set to 1, otherwise MULTIPLE evaluates to TRUE.
Table of SOS Range Descriptors:
The Descriptors in this table reflect values for the sysout data set after the effects of any applicable OUTPUT JCL or JECL statements have been applied.
Descriptor | Description | Values |
---|---|---|
$SOS_CKPTLINE | Maximum number of lines in a logical page. | 1-32767 |
$SOS_CKPTPAGE | Number of logical pages to be printed or transmitted before JES takes a checkpoint. | 1-32767 |
$SOS_CKPTSEC | Number of seconds between checkpoints of the sysout data set. | 1-32767 |
$SOS_COPIES | Number of copies to be printed for the sysout data set. | 1-255 |
$SOS_COPIES_GROUP_n | Number of copies of a page to be printed before printing the next page. n ranges from 1 to 8, corresponding to the nth group value in the COPIES keyword. | 1-255 |
$SOS_FLASH_COUNT | Number of copies that JES is to flash with the overlay, beginning with the first copy printed. | 0-255 |
$SOS_INDEX | Value to set for the left margin for output on a 3211 Printer with the indexing feature. | 1-31 |
$SOS_INTRAY | Specifies the paper source. | 1-255 |
$SOS_LINDEX | Value to set for the right margin for output on a 3211 Printer with the indexing feature. | 1-31 |
$SOS_LINECT | Maximum number of lines JES2 prints per output page. | 0-255 |
$SOS_MODIFY_TRC | Identifies which character arrangement table from the CHARS keyword is to be used. | 0-3 |
$SOS_OUTBIN | Specifies the printer output bin identifier to be used for the sysout data set. | 1-65535 |
$SOS_OUTLIM | Number of logical records in the sysout data set defined by this DD statement. | 1-16777215 |
$SOS_PIMSG# | Indicates the handling of messages by Print Services Facility (PSF). | 0-999 |
$SOS_PORTNO | Specifies the TCP/IP port number at which the FSS (for example, IP Printway) connects to the printer. | 1-65535 |
$SOS_PRTY | Priority at which the sysout data set enters the output queue. | 0-255 |
$SOS_REDRIVE
SOS ONLY |
Description: Indicate REDRIVE Status
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable indicates whether the current invocation of SOS DAL results from a RETURN REDRIVE statement.
$SOS_REDRIVE(NO | YES) |
When this subparameter is coded, $SOS_REDRIVE is TRUE if the current invocation of SOS DAL did not result from a RETURN REDRIVE statement.
When this subparameter is coded, $SOS_REDRIVE is TRUE if the current invocation of SOS DAL did result from a RETURN REDRIVE statement.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
Examples:
This Variable evaluates to TRUE if the current invocation of SOS DAL resulted from a RETURN REDRIVE statement.
See Also: RETURN, $SOS_REDRIVE_COUNT, and $SOS_REDRIVE_CURRENT#. {{id name="ListofDALelements(M-S)-sos_sysout_ds"/}}
$SOS_SYSOUT_DS
SOS ONLY |
Description: Type of Sysout data set
Type: Unique Descriptor.
Maximum Value: Not applicable.
This Unique Descriptor lets you determine the type of sysout data set currently being processed.
$SOS_SYSOUT_DS name (sysout-type) |
Specifies a Property Name to be assigned a value of TRUE or FALSE. This name must be unique and can consist of 1 through 24 alphabetic, numeric, national (#,@,$), or underscore (_) characters. The first character must be alphabetic or national. Note that the first character of each name cannot be a dollar sign ($) or underscore (_).
Is a unique value that represents a specific type of sysout data set, and is one of the following keywords:
Indicates the Property is to be assigned a TRUE value if the sysout data set is defined by a DD statement.
Indicates the Property is to be assigned a TRUE value if the sysout data set is the system JCL data set.
Indicates the Property is to be assigned a TRUE value if the sysout data set is the system LOG data set.
Indicates the Property is to be assigned a TRUE value if the sysout data set is the system MSG data set.
Usage:
This Descriptor can be used only in the Definition Section of DAL.
Examples:
This assigns a TRUE value to the Property NOT_SYSTEM if the sysout data set being processed is described by a specific DD statement as opposed to being one of the standard system sysout data sets. {{id name="ListofDALelements(M-S)-step#"/}}
$STEP#
Description: Current Step Number
Type: Range Definition Descriptor.
Maximum Value: 255
This descriptor represents the current job step number.
$STEP# [1,]name1,start2,name2[,...,startN,nameN] |
The starting point of a segment. The first starting point must be 1, but can be omitted if desired.
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:
You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.
Example:
$STEP_FIRST_DD
Description: Recognize First DD Within a Step
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable allows you to determine whether the DD statement currently being processed is the first one in the step.
$STEP_FIRST_DD(NO | YES) |
Returns a value of TRUE when the DD statement is not the first one in a step.
Returns a value of TRUE when the DD statement is the first one in a step.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
For more information, see $STEP_LAST_DD.
Notes:
This Logic Variable always evaluates to FALSE for JES data sets not associated with any step (JESMSGLG, JESJCL, and JESYSMSG). {{id name="ListofDALelements(M-S)-step_last_dd"/}}
$STEP_LAST_DD
Description: Recognize Last DD Within a Step
Type: Logic Variable.
Maximum Value: Not applicable.
This Logic Variable allows you to determine whether the DD statement currently being processed is the last one in the step.
$STEP_LAST_DD(NO | YES) |
Returns a value of TRUE when the DD statement is not the last one in a step.
Returns a value of TRUE when the DD statement is the last one in a step.
Usage:
This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements.
For more information, see $STEP_FIRST_DD.
Notes:
This Logic Variable always evaluates to FALSE for JES data sets not associated with any step (JESMSGLG, JESJCL, and JESYSMSG). {{id name="ListofDALelements(M-S)-stepname"/}}
$STEPNAME
Description: Step Name
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor allows you to determine the name of the 8-character step name on the EXEC PGM= statement. The EXEC statement is associated with DD statement being processed.
$STEPNAME($BLANK | pattern | %patid | table-id) |
Allows you to test for an "all blanks" condition.
A hard-coded valid step name pattern to be matched against the name for the step that includes the DD statement being processed.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
For more information, see $BLANK. {{id name="ListofDALelements(M-S)-stringdef"/}}
STRINGDEF
Description: To Define Character Strings Dynamically
Type: Definition statement.
Maximum Value: 255 characters.
This definition statement is provided to allow you to define character strings dynamically at DAL execution time.
STRINGDEF %strid (source1) [ || (source2)] |
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.
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:
– A character Descriptor. For example:
The length of the character string is the length of the Descriptor.
– An installation system symbol. Any string that begins with an ampersand (&) is treated as a system symbol. If the symbol is not defined at the time of Job Analysis, the resulting value is blank. System symbol are accepted only in a STRINGDEF.
– The substring function. For example:
Here, at DAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function see to Substring-function.
– %PATID
A previously defined pattern. You specify the pattern id. The pattern is converted to a character string. That is, any wildcard characters are treated as normal characters.
– %STRID
A character string that was previously defined with STRINGDEF. You specify the string id.
Indicates that source2 is to be concatenated to source1.
Represents the second field or value to be used in the construction of the character string. source2 is optional and if present its value is concatenated to the value from source1.
The rules are the same as source1.
Usage:
The STRINGDEF has been provided to allow you to construct character strings from any character Descriptor, or a portion of it. The resulting character string represented by a %strid can be used in any construct that allows character descriptors.
Examples:
STRINGDEF %NAME ($PGMR,4)
...
...
IF (%NAME('MIKE'))
is a valid construct.
EVALUATE PRODJOB (%NAME('MIKE'))
...
IF (PRODJOB)
is also a valid construct.
Notes:
With STRINGDEF the characters '*' or '?' are treated as normal characters.
The maximum length for the resulting character string is 255 characters. {{id name="ListofDALelements(M-S)-submitter_racfg"/}}
$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) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management .
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$SUBMITTER_RACFG(AP100)
$SUBMITTER_RACFG($TABLE1(GROUPS))
For more information, see $RACFG, $RACFU, and $SUBMITTER_RACFU. {{id name="ListofDALelements(M-S)-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) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$SUBMITTER_RACFU(MKTING)
$SUBMITTER_RACFU($TABLE1(USERS))
For more information, see $SUBMITTER_RACFG, $RACFG, and $RACFU. {{id name="ListofDALelements(M-S)-submitter_racfu"/}}
$SUBMITTER_TSSU
Description: TSS User ID of Job Submitter
Type: Character string Descriptor.
Maximum Length: 8 characters.
This Descriptor represents the TSS USER parameter of the submitter of the job, which could vary from the TSS USER parameter used on the JOB statement.
$SUBMITTER_TSSU(pattern | %patid | table-id) |
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 '*'.
The name of a pattern created with the PATTERNDEF statement.
Identifies a specific table and indicates which subtable is to be searched.
The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned.
For more information about character string facilities, see Character string facilities tutorial. For more information about table support, see DAL and JAL table management.
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples:
$SUBMITTER_TSSU(PM800MP)
$SUBMITTER_TSSU($TABLE1(TSSUSERS))
For more information, see $TSSUSER.
Notes:
This Descriptor is applicable to TOP SECRET security environments.
substring function
Description: To extract character substrings
Type: Character String Function.
Maximum Value: Not applicable.
This is a built-in function provided to facilitate the creation of character strings from character Descriptors.
(character-descriptor[,length[,starting-position]]) |
Represents a character Descriptor.
The name of a character string created with the STRINGDEF statement.
Represents a dynamically constructed pattern created with the PATTERNDEF statement.
If any wildcard characters are found they are treated as string characters. For example, asterisks.
The number of characters to be used. If this operand is omitted the length of the Descriptor is used.
The substring function allows a value from 1 to 255.
The starting position of the character string within the Descriptor. If this operand is omitted the default value is 1.
Usage:
The substring function can be used to construct strings with the PATTERNDEF and STRINGDEF definition statements.
Notes:
If the combined value of length and starting position is more than the length of the Descriptor, then:
- If the length and starting position are coded, the statement is failed with an error message.
- If only the starting position has been coded, allowing the length to default, a warning message is issued.
$SUBSYS
Description: Current Subsystem
Type: Character String Descriptor.
Maximum Length: 4 characters.
This Descriptor represents the current Subsystem name.
$SUBSYS(name) |
Current Subsystem name Identifies the subsystem. The subsystem name is 1 through 4 alphanumeric or national ($, #, @) characters; the first character must be alphabetic or national ($, #, @).
Usage:
You can use this descriptor EVALUATE definition statements and DAL Logic statements.
This Descriptor can also be used:
- As an insert in message definition statements.
- In a substring function.
- In STRINGDEF and PATTERNDEF statements.
Examples: