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)
$BLANK

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

pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

 For 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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$MEMLIMIT NONE_ABOVE,1,MEMLIMIT

Notes:

Although the MEMLIMIT keyword allows the user to code a value in megabytes, gigabytes, terabytes, or petabytes, the value returned by $MEMLIMIT is always in megabytes.

When $MEMLIMIT range descriptor is used to display the current MEMLIMIT value, it will be displayed as nnnnnx where x is: M, G, T or P.

MHS ADD

Description: Add MHS_JAL Hold to a Job

Type: Action statement.

This statement allows you to place a job in MHS_JAL hold, optionally including a note.

MHS ADD HOLD(identifier | %stringid) NOTES(notes | %stringid)
HOLD(identifier)

Indicates that you want to place the job in MHS_JAL hold.

identifier

Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.

%stringid

Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

NOTES(notes)

Specifies additional information that can be displayed.

notes

A string of 1-200 characters of additional information. If special characters are used, the string must be enclosed in quotes.

%stringid

As above.

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
HOLD(identifier | %stringid)

Indicates that you want to remove the MHS_JAL hold.

identifier

Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.

%stringid

Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

ALL_HOLDS

Indicates that you want to remove all MHS HOLDs that have been applied to the job.

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)
HOLD(identifier | %stringid)

Indicates that you want to replace the MHS_JAL hold for this job.

identifier

Is 1-8 alphabetic, numeric, or national (@, $ or #) characters, specifying an identifier that can be used to group jobs for easier management.

%stringid

Is the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

NOTES(notes | %stringid)

Specifies additional information that can be displayed.

notes

A string of 1-16 characters of additional information. If special characters are used, the string must be enclosed in quotes.

%stringid

As above.

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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

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

{{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)]
or
MODELDEF name (message) CONSOLE_NAME(console) [DESC(desc-list)]
or
MODELDEF name (message) ROUTCDE(routecde-list) [DESC(desc-list)]

name

A name used as the message identifier, consisting of 1-24 alphabetic, numeric, national (#, @, $), or underscore characters. The first character cannot be a dollar sign ($) or underscore (_). This operand is positional and required.

message

The text of the message, using the form:

[(COL,n,align)],variable | 'hard-coded-text',[(COL,n,align)]...

The message can consist of a combination of text and Job Descriptors and Properties, in any order. Text is enclosed in apostrophes ('). To code an apostrophe, two consecutive apostrophes must be used. Each portion of the message is separated from the others by commas.

(COL,n,align)

This is an optional text definition construct that indicates you want column alignment.

COL

This must be coded as shown.

n

Specifies the reference column, and can be a value from 1 to 60.

align

Specifies the desired alignment, and must be one of:

- L, indicating left alignment.

- R, indicating right alignment.  

The considerations for data alignment are:

- For left-aligned data, the column number represents the first column for the first character of data, and subsequent characters are inserted on the left, i. e. in ascending column order.

- For right-aligned data, the column number represents the last column for the last character of data, and subsequent characters are inserted on the right, i. e. in descending column order.

- If you miscalculate and some of your data is overlaid, it might help you solve your problem if you remember that alignment is performed element by element from left to right.

variable | 'hard-coded-text'

A description of the text to be displayed. For variable, this can be any Job Descriptor or Job Property. 'hard-coded text' can be any text. After any substitution required for the variable text is resolved, the maximum length must not exceed the limit allowed. This includes the "blanks" that have to be inserted to satisfy the alignment. Data lines longer than the maximum length are truncated.

The basic rules when building a line of text are:

- Separate each element with commas.

- Include text within apostrophes ('). To code an apostrophe in the text to be displayed, you must use two consecutive apostrophes.

- When formatting text lines, also keep the following in mind:

    - To separate Job Descriptors and Job Properties from your text, you must insert padding blanks.

   - Character string Job Descriptors are left-justified, stripped of trailing blanks.

    - Job Properties and Logic Variables print 'T' for TRUE and 'F' for FALSE.

    - For the values displayed for Display Variables (variables with a name starting with $JX) see to the description for the variable.

    - EVENT Switches display as 'ON' and 'OFF'.

   - Numeric Job Descriptors are right-justified, stripped of leading zeros.

    - For numeric Descriptors, the inserted value is in the units normally used for that Job Descriptor. For example, CPU time is shown in minutes and seconds.

   - A value in thousands is shown by the character K.

   - A value in millions is shown by the character M.

- Lines that are longer than the maximum length of 121 characters are truncated.

For a complete discussion of the facilities provided for formatting messages and displays, see to "Section. Defining-and-using-messages-and-displays" in the publication DAL and JAL User Guide.

CONSOLE_NAME(console)

Specifies a valid console name to which the message is written.

This keyword is mutually exclusive with CONSOLE_UCM and ROUTCDE.

console

Is a 2-8 character console name, consisting of alphabetic, national (#, @, $), or numeric characters, the first of which must be alphabetic or national.

CONSOLE_UCM(ucmid)

Indicates UCMID of the console to which the message is written.

This keyword is mutually exclusive with CONSOLE_NAME and ROUTCDE.

ucmid

A decimal number between 0-99 inclusive.

DESC(desc-list)

Indicates the descriptor code of the message.

desc-list

A list of the form (d1[,d2,...,d16]), where dn represents a decimal numbers between 1-16 inclusive.

ROUTCDE(routecde-list)

Indicates the routing code of the message.

This keyword is mutually exclusive with CONSOLE_NAME and CONSOLE_UCM.

routecde-list

A list of the form (rc1[,rc2,...,rc128]) where rcn represents a decimal number between 1-128 inclusive. {{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)
value

Is the value that will cause this Descriptor to be set to TRUE, and can be one of:


NO 
Y
YES

Usage:

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

Examples:

EVALUATE MSGCLASS_DUMMY ($MSGCLASS_OUTCLASS_DUMMY(YES))

In this example, if JES2 initialization has specified that the current MSGCLASS is to be treated as a dummy class, the Property MSGCLASS_DUMMY evaluates to TRUE. {{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)
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:

EVALUATE MSGCLASS_ABNORM_PURGE ($MSGCLASS_OUTDISP_ABNORM(PURGE))

In this example, if JES2 initialization has assigned the current MSGCLASS a disposition of PURGE for jobs that terminate abnormally, the Property MSGCLASS_ABNORM_PURGE evaluates to TRUE. {{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)

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:

EVALUATE MSGCLASS_NORM_HOLD ($MSGCLASS_OUTDISP_NORM(HOLD))

In this example, if JES2 initialization has assigned the current MSGCLASS a disposition of HOLD for jobs that terminate normally, the Property MSGCLASS_NORM_HOLD evaluates to TRUE. {{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)
name

A name used as the message identifier, consisting of 1 to 24 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The first character cannot be a dollar sign ($) or underscore (_). This operand is positional and required.

To issue the message defined by this statement, use this name with the Communication statements SEND, WTCA7, WTO, and WTU.

message

The text of the message, using the form:

[(COL,n,align)],variable | 'hard-coded-text',[(COL,n,align)]...

The message can consist of a combination of text and Descriptors and Properties, in any order. Text is enclosed in apostrophes ('). To code an apostrophe, two consecutive apostrophes must be used. Each portion of the message is separated from the others by commas.

(COL,n,align)

This is an optional text definition construct that indicates you want column alignment.

COL<

    This must be coded as shown.

n<

    Specifies the reference column, and can be a value from 1 to 60.

align<>

    Specifies the desired alignment, and must be one of:

                        - L, indicating left alignment.

                        - R, indicating right alignment.  

The considerations for data alignment are:

- For left-aligned data, the column number represents the first column for the first character of data, and subsequent characters are inserted on the left, i. e. in ascending column order.

- For right-aligned data, the column number represents the last column for the last character of data, and subsequent characters are inserted on the right, i. e. in descending column order.

- If you miscalculate and some of your data is overlaid, it might help you solve your problem if you remember that alignment is performed element by element from left to right.

variable | 'hard-coded-text'

A description of the text to be displayed. For variable, this can be any Descriptor or Property. 'hard-coded text' can be any text. After any substitution required for the variable text is resolved, the maximum length must not exceed the limit allowed. This includes the "blanks" that have to be inserted to satisfy the alignment. Data lines longer than the maximum length are truncated.

The basic rules when building a line of text are:

- Separate each element with commas.

- Include text within apostrophes ('). To code an apostrophe in the text to be displayed, you must use two consecutive apostrophes.

- When formatting text lines, also keep the following in mind:

    - To separate Descriptors and Properties from your text, you must insert padding blanks.

   - Character string Descriptors are left-justified, stripped of trailing blanks.

    - Properties and Logic Variables print 'T' for TRUE and 'F' for FALSE.

    - For the values displayed for Display Variables (variables with a name starting with $JX) see to the description for the variable.

   - Numeric Descriptors are right-justified, stripped of leading zeros.

    - For numeric Descriptors, the inserted value is in the units normally used for that Descriptor. For example, job CPU time is shown in minutes and seconds.

   - A value in thousands is shown by the character K.

   - A value in millions is shown by the character M.

- Lines that are longer than the maximum length are truncated:

    - For messages issued by WTO and WTU, lines longer than 121 characters including the resolved length of any Descriptors are truncated.

    - For messages issued by WTCA7, lines longer than 60 characters including the resolved length of any Descriptors are truncated. If a message issued by WTCA7 contains commas, parentheses are added automatically for you.

For a complete discussion of the facilities provided for formatting messages and displays, see to "Section. Defining-and-using-messages-and-displays" in the publication DAL and JAL User Guide.

CA7LTERM(terminal)

Indicates a CA7 terminal to which a message is written using WTCA7.

This keyword is mutually exclusive with CONSOLE_NAME, CONSOLE_UCM, and ROUTCDE.

terminal

Is a valid 1 to 8 character CA7 logical terminal name.

CONSOLE_NAME(console)

Specifies a valid console name to which a message is written using WTO.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_UCM, ROUTCDE, and USERID.

If the message is written using WTU, this keyword is ignored.

console

Is a 2-8 character console name, consisting of alphabetic, national (#, @, $), or numeric characters, the first of which must be alphabetic or national.

CONSOLE_UCM(ucmid)

Indicates UCMID of the console to which a message is written using WTO.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_NAME, ROUTCDE, and USERID.

If the message is written using WTU, this keyword is ignored.

ucmid

A decimal number between 0-99 inclusive.

DESC(desc-list)

Indicates the descriptor code of a message written using WTO.

If the message is written using WTU, this keyword is ignored.

desc-list

A list of the form (d1[,d2,...,d16]), where dn is a decimal number between 1-16 inclusive.

LOG

This keyword is applicable only to messages issued with a WTU.

When LOG is coded, the messages appears in the job log.

If LOG is not coded, the default for a WTU is the job's SYSMSGS file.

This keyword is ignored for a WTO.

ROUTCDE(routecde-list)

Indicates the routing code of a message written using WTO.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_NAME, CONSOLE_ UCM, and USERID.

If the message is written using WTU, this keyword is ignored.

routecde-list

A list of the form (rc1[,rc2,...,rc128]) where rcn is a decimal number between 1-128 inclusive.

USERID(userid | %stringid)

Specifies a TSO user ID to which the message is to be sent. If the user is not logged on, the message is received at the next logon.

This keyword is mutually exclusive with CA7LTERM, CONSOLE_NAME, CONSOLE_ UCM, and ROUTCDE.

If the message is not written using SEND, this keyword is ignored.

%stringid

You can specify the name of a dynamically constructed character string that has been defined with a STRINGDEF statement.

Examples:

MSGDEF BAD_ACCT_MSG ($ACCT,’ IS AN INVALID ACCOUNT.’) LOG
MSGDEF SAMPLE_MSG   (‘MESSAGE WITH NO INSERTS.’) ROUTCDE(29)
MSG    AUTO_MSG     (‘STEP ‘,$STEPNAME,’ USES ‘,$VOL_AUTO,’ AUTOMATED VOLUMES.’) +
CONSOLE_NAME(LIB)

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)

NO

Returns a TRUE value if this is not a NEW data set.

YES

Returns a TRUE value if this is a NEW data set.

Usage:

This Variable can be used in EVALUATE definition statements and DAL Logic statements, and also as an insert in message definition statements. {{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)
pattern

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

If the job was submitted from a virtual machine and forwarded to JES2 through RSCS, this field contains the VM userid.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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))

{{id name="ListofDALelements(M-S)-notify"/}}

$NOTIFY

Description: NOTIFY Parameter From JOB Statement or /*NOTIFY

Type: Character string Descriptor.

Maximum Length: 7 characters.

This Descriptor represents the NOTIFY parameter from the JOB statement or the userid from the /*NOTIFY statement.

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

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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))

{{id name="ListofDALelements(M-S)-orif"/}}

ORIF

Description: Specify Alternative IF Statement

Type: Logic statement.

The ORIF statement is used together with a previous IF statement and possibly previous ORIF statement(s), and specifies an expression to be evaluated when the IF and all preceding ORIF statements have a FALSE value.

IF (expression1)
 ...

ORIF (expression2)
 true-action
 ...
ENDIF

expression2

A Job Property, Descriptor, or expression combining Job Properties and/or Descriptors. This expression is only evaluated when the IF statement and all prior ORIF statements, if any, have resulted in a FALSE value.

true-action

The action statements to be executed when the ORIF expression evaluates to TRUE. After completion of the action statements, execution then resumes at the statement that follows the ENDIF.

Examples:

IF (ILLEGAL) 
  WTU ERROR1 
 RETURN FAIL
ORIF(MOUNT) 
 SET CLASS(H)
  RETURN CONTINUE
OTHERWISE
  SET CLASS(I)
  RETURN CONTINUE 
ENDIF

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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

Usage:

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:

EVALUATE IS_SYS1 ($ORIGINAL_INSYSID(SYS1))

In this case, for $ORIGINAL_INSYSID to return a TRUE value, the job must have been submitted on 'SYS1'.

EVALUATE IS_VALID_SYSID ($ORIGINAL_INSYSID($TABLE1(SYSTEMS)))

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)
  true-action
ORIF (expression)
  true-action
OTHERWISE
  false-action
  ...
ENDIF

expression

A logical expression combining Job Properties and/or Descriptors.

true-action

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

false-action

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

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

Examples:

IF (ILLEGAL) 
  WTU ERROR1 
 RETURN FAIL
ORIF(MOUNT) 
 SET CLASS(H)
  RETURN CONTINUE
OTHERWISE
  SET CLASS(I)
  RETURN CONTINUE
ENDIF

Notes:

OTHERWISE statements are used in IF logical constructions when there is at least one ORIF statement. The OTHERWISE statement is mutually exclusive with the ELSE statement. {{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]

start

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

Starting points are specified in number of pages as 1-5 decimal digits.

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$PAGES FEW_PAGES,100,MANY_PAGES,10000,TOO_MANY_PAGES

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)
pattern

This is a hard-coded valid path name pattern (name of a file in an HFS) to be matched against the data set name on the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

The pattern, %patid, or table entries are matched against the Descriptor. If a match occurs, a TRUE value is returned. See the Notes below for further information.

For 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)
$BLANK

Allows you to test for an "all blanks" condition.

DELETE

Indicates that you want to know whether the DELETE normal termination subparameter was coded for the PATHDISP keyword on the DD statement. If DELETE was coded, $PATHDISP1 returns a TRUE value.

KEEP

Indicates that you want to know whether the KEEP normal termination subparameter was coded for the PATHDISP keyword on the DD statement. If KEEP was coded, $PATHDISP1 returns a TRUE value.

Usage:

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)
$BLANK

Allows you to test for an "all blanks" condition.

DELETE

Indicates that you want to know whether the DELETE abnormal termination subparameter was coded for the PATHDISP keyword on the DD statement. If DELETE was coded, $PATHDISP2 returns a TRUE value.

KEEP

Indicates that you want to know whether the KEEP abnormal termination subparameter was coded for the PATHDISP keyword on the DD statement. If KEEP was coded, $PATHDISP2 returns a TRUE value.

Usage:

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 |
         SIRGRP | SIWGRP | SIXGRP | SIRWXG |
         SIROTH | SIWOTH | SIXOTH | SIRWXO |
         SISUID | SISGID)

SIRUSR

Indicates that you want to know whether the SIRUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIRUSR was coded, $PATHMODE returns a TRUE value.

SIWUSR

Indicates that you want to know whether the SIWUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIWUSR was coded, $PATHMODE returns a TRUE value.

SIXUSR

Indicates that you want to know whether the SIXUSR subparameter was coded for the PATHMODE keyword on the DD statement. If SIXUSR was coded, $PATHMODE returns a TRUE value.

SIRWXU

Indicates that you want to know whether the SIRWXU subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXU was coded, $PATHMODE returns a TRUE value.

SIRGRP

Indicates that you want to know whether the SIRGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIRGRP was coded, $PATHMODE returns a TRUE value.

SIWGRP

Indicates that you want to know whether the SIWGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIWGRP was coded, $PATHMODE returns a TRUE value.

SIXGRP

Indicates that you want to know whether the SIXGRP subparameter was coded for the PATHMODE keyword on the DD statement. If SIXGRP was coded, $PATHMODE returns a TRUE value.

SIRWXG

Indicates that you want to know whether the SIRWXG subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXG was coded, $PATHMODE returns a TRUE value.

SIROTH

Indicates that you want to know whether the SIROTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIROTH was coded, $PATHMODE returns a TRUE value.

SIWOTH

Indicates that you want to know whether the SIWOTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIWOTH was coded, $PATHMODE returns a TRUE value.

SIXOTH

Indicates that you want to know whether the SIXOTH subparameter was coded for the PATHMODE keyword on the DD statement. If SIXOTH was coded, $PATHMODE returns a TRUE value.

SIRWXO

Indicates that you want to know whether the SIRWXO subparameter was coded for the PATHMODE keyword on the DD statement. If SIRWXO was coded, $PATHMODE returns a TRUE value.

SISUID

Indicates that you want to know whether the SISUID subparameter was coded for the PATHMODE keyword on the DD statement. If SISUID was coded, $PATHMODE returns a TRUE value.

SISGID

Indicates that you want to know whether the SISGID subparameter was coded for the PATHMODE keyword on the DD statement. If SISGID was coded, $PATHMODE returns a TRUE value.

Usage:

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 |
         OEXCL | ONOCTTY | ONONBLOCK | OSYNC | OTRUNK)

$BLANK

Allows you to test for an "all blanks" condition.

ORDONLY

Indicates that you want to know whether the ORDONLY subparameter was coded for the PATHOPTS keyword on the DD statement. If ORDONLY was coded, $PATHOPTS returns a TRUE value.

OWRONLY

Indicates that you want to know whether the OWRONLY subparameter was coded for the PATHOPTS keyword on the DD statement. If OWRONLY was coded, $PATHOPTS returns a TRUE value.

ORDWR

Indicates that you want to know whether the ORDWR subparameter was coded for the PATHOPTS keyword on the DD statement. If ORDWR was coded, $PATHOPTS returns a TRUE value.

OAPPEND

Indicates that you want to know whether the OAPPEND subparameter was coded for the PATHOPTS keyword on the DD statement. If OAPPEND was coded, $PATHOPTS returns a TRUE value.

OCREAT

Indicates that you want to know whether the OCREAT subparameter was coded for the PATHOPTS keyword on the DD statement. If OCREAT was coded, $PATHOPTS returns a TRUE value.

OEXCL

Indicates that you want to know whether the OEXCL subparameter was coded for the PATHOPTS keyword on the DD statement. If OEXCL was coded, $PATHOPTS returns a TRUE value.

ONOCTTY

Indicates that you want to know whether the ONONCTTY subparameter was coded for the PATHOPTS keyword on the DD statement. If ONONCTTY was coded, $PATHOPTS returns a TRUE value.

ONONBLOCK

Indicates that you want to know whether the ONONBLOCK subparameter was coded for the PATHOPTS keyword on the DD statement. If ONONBLOCK was coded, $PATHOPTS returns a TRUE value.

OSYNC

Indicates that you want to know whether the OSYNC subparameter was coded for the PATHOPTS keyword on the DD statement. If OSYNC was coded, $PATHOPTS returns a TRUE value.

OTRUNC

Indicates that you want to know whether the OTRUNC subparameter was coded for the PATHOPTS keyword on the DD statement. If OTRUNC was coded, $PATHOPTS returns a TRUE value.

Usage:

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)

Descriptor-name

A Descriptor that contains character strings.

pattern

The pattern to be used in the comparison, resulting in either a TRUE (equal) or FALSE (not equal) value returned by the function.

Patterns must be constructed according to the rules listed below.

Usage:

This function can be used in EVALUATE and DAL Logic statements. It returns a TRUE/FALSE value.

Examples:

The pattern matching function can be viewed as having a "left" portion and a "right" portion.

 On the left is a Descriptor name, which represents a field containing a character string.

 On the right is a pattern that is matched against the character string contained in the Descriptor named on the left.

Here is an example of how this function works:

$ACCT(MMPAY910)

The Descriptor $ACCT contains the character string representing the account number for the job. If it happens to be 'MMPAY910', the function returns a value of TRUE, otherwise it returns a value of FALSE.

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

IF ($ACCT(MMPAY910)) ...

Rules:

General Pattern Matching Rules

 If the pattern you want to specify includes blanks, or any non-alphabetic, numeric, or national characters then you enclose it in single quote marks, also known as apostrophes.

 In patterns, the question mark '?' and asterisk '*' characters have special meanings, and are called "wildcard" characters.

  A question mark indicates that this position in the pattern is to be ignored. Any character satisfies the match, including a blank. There must be a character in that position.

  An asterisk indicates that any number of characters can be substituted for it in the target string, including blanks or the absence of any character. Note that the asterisk can either be at the beginning of the pattern, at the end of the pattern, or in both places. An asterisk cannot appear in the middle of a string as a wild character.

  If the question mark or the asterisk character is encountered in a string enclosed within apostrophes it is still treated as a wildcard character.

 If you want a question mark or an asterisk to be treated as a normal character, you must use the escape character double quote ( " ) in front of it.

  A question mark or asterisk immediately following the escape character does not signify a wildcard character (i.e., it has no special meaning). For example, in the string A"? the question mark is not a wildcard character.

  If you want to match on the escape character then use two double quote ( "" ) characters in succession. For example, you would code A""B if you wanted to match A"B.

  The character following the escape character ( " ) must be either a wildcard character (* or ?) or another escape character ( " ). Any other character is flagged as an error.

 The length of the pattern is extended on the right with blanks until it matches the length of the Descriptor string. A pattern longer than the maximum allowed for the Descriptor is invalid.

Dataset Name Pattern Matching Rules

  • The question mark is used in the same manner as when matching character strings, but it works at the qualifier level.
  • The asterisk is used in the same manner as when matching character strings, but it works at the qualifier level.
  • An asterisk matches any character or number of characters, but only affects the qualifier in which it is used. The question mark requires the presence of a character but only within the qualifier where it is coded.
  • Coding an asterisk (for example, A.*.B) implies that there is a qualifier at that position.
  • The special pattern '**' (two asterisks coded in succession) matches any number of qualifiers, including the absence of a qualifier. This is used in place of complete qualifiers. For example, A.**.B matches A.B, A.X.B, A.X.Y.B, and so on.

PATTERNDEF

Description: To Construct Patterns Dynamically

Type: Definition statement.

Maximum Value: 255 characters.

A pattern definition statement is provided to allow you to create patterns dynamically at DAL execution time.

PATTERNDEF %patid (source1) [ || (source2)]
%patid

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

Up to two source fields can used for the construction of the pattern. If you want to construct a pattern from more than two sources then you have to use multiple PATTERNDEF statements, where 'source' is a %patid from a previously constructed pattern.

source1

Represents the first field or value to be used for the construction of the pattern.

A pattern can be constructed from one, and only one, of the following sources:

 A 'hard-coded character string' enclosed in quotation marks. For example:

PATTERNDEF %CHARS ('DEV*')

 A character Descriptor. For example:

PATTERNDEF %FROM_RACFU ($RACFU)

The length of the pattern is the length of the Descriptor.

 The substring function. For example:

PATTERNDEF %FROM_USERC1 ($USERC1,5)

Here, at DAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function see to substring function.

 %PATID

A previously defined pattern. You specify the pattern id.

 %STRID

A previously defined character string, created by a STRINGDEF statement. You specify the string id.

||

Indicates that source2 is to be concatenated to source1.

source2

If present, the same rules as source1.

Usage:

A %patid can be used in any construct that allows pattern matching.

Examples:

Let us assume that in your installation the first three characters of the job name must match the third, fourth, and fifth characters of the job account. There are several ways of doing this. The following is one possible way.

Treat the job name as your character string. Then use the PATTERNDEF to create a matching pattern using the $ACCOUNT Descriptor.

PATTERNDEF %1ST_3_ACCT_CHARS ($ACCT,3,3) || ('*')

The above statement creates a pattern with the desired 3 characters from the account field and the wildcard character '*'. The name of this pattern is %1ST_3_ACCT_CHARS.

Then you can code an EVALUATE statement:

EVALUATE JOB_OK ($JOBNAME(%1ST_3_ACCT_CHARS))

The Property JOB_OK is TRUE only when the first three characters of the job name and the third, fourth, and fifth characters of the job account are equal.

Notes:

With PATTERNDEF the characters ‘*’ or ‘?’, unless especially noted, are treated as a wildcard character. If you want ‘*’, and ‘?’ not to be treated as wildcard characters you have to use the escape character.

The resulting pattern must be a complete valid pattern even if you intend to use it as part of another PATTERNDEF for the construction of a larger pattern.

PATTERNDEFX | PATDEFX

Description: Extended Pattern Definitions

Type: Definition statement.

Maximum Value: 255 characters.

Pattern definition extensions allow you to check for specific types of data in string Descriptors.

PATTERNDEFX %patid (source)
%patid

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

source

Represents value to be used for the construction of the pattern. A pattern can be constructed from any combination of the following sources:

 A quoted string. Characters within a quoted string must match exactly, position for position. For example:

PATTERNDEFX %PROD ('PROD')

 The wildcard characters (? and *). If '*' is coded, it must be the last character in the pattern. For example:

PATTERNDEFX %ALL_PROD ('PROD',*)

 A Property defined by a prior STRINGDEF statement. Characters within the string must match exactly, position for position. For example, for a string that must begin with the first three characters of the RACF userid followed by the string 'TEST':

STRINGDEF   %RACF_1_2_3   ($RACFU,3)
PATTERNDEFX %TEST_NAME    (%RACF_1_2_3,’TEST’)

 One of the special definition characters:

@

Matches a single alphabetic character.

A

Matches a single alphabetic or national (#, @, $) character.

#

Matches a single numeric character.

N

Matches a single numeric or national (#, @, $) character.

 For example, to test for job names that must begin with 'PROD' followed by three numbers and a letter:

PATTERNDEFX %PROD_JOB ('PROD',###@)

 One or more character sets defined with the CHARSET statement. The position being compared must match one of the characters in the set. To test for a four digit odd number, for example:

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

Usage:

A %patid can be used in any construct that allows pattern matching, except for these statements:

DCS NAG
DCS REPO

See Also: CHARSET, PATTERNDEF, and STRINGDEF.

Notes:

With PATTERNDEFX, to use the wildcard characters '?' and '*' you must code them outside a quoted string. Inside a quoted string, the '?' and '*' characters are not interpreted as wildcards.

$PERFORM

Description: Test for JOB Statement PERFORM Keyword

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the PERFORM= keyword was coded on the JOB statement.

$PERFORM(NO | YES)
NO

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

YES

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

Usage:

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

Examples:

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

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)
pattern

This is a hard-coded string representing a valid program name. It can also include the wildcard characters '?' and '*'. It is matched against the program name for the step that includes the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

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

$PGMNAME(IMS*)

$PGMR

Description: Programmer Name From JOB Statement

Type: Character string Descriptor.

Maximum Length: 20 characters.

This Descriptor represents the programmer name field from the JOB statement.

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

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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))

{{id name="ListofDALelements(M-S)-procedure_proc"/}}

PROCEDURE | PROC

Description: Indicate Type of Action Language

Type: Language Directive.

This statement is a language directive. Its purpose is to indicate the type of Action Language to be processed. That is, it distinguishes DAL from JAL. It is mandatory to identify DAL.

The short form for this directive is PROC.

PROCEDURE ID(DAL) [TYPE( DCS | SOS | TM )] [DESC(‘description’)]
ID

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

DAL

Specifies that the language is DAL.

TYPE( DCS | SOS | TM)

This keyword is valid for DAL only. It indicates the type of DAL being processed.

DCS

Specifies that DAL is being processed for DCS. This is the default.

SOS

Specifies that DAL is being processed for SOS.

TM

Specifies that TM DAL is being processed.

DESC('description')

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

'description'

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

Examples:

PROCEDURE ID(DAL) TYPE(TM) DESC('PRODUCTION')
{{id name="ListofDALelements(M-S)-procstep"/}}

$PROCSTEP

Description: Step Procedure Name

Type: Character string DD Descriptor.

Maximum Length: 8 characters.

This Descriptor allows you to determine the name of the 8-character step procedure name on the EXEC statement. The EXEC statement is associated with the DD statement being processed and is calling an in-stream or a cataloged JCL procedure.

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

Allows you to test for an "all blanks" condition.

pattern

A hard-coded valid step name pattern to be matched against the step procedure name for the step that includes the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For more information about 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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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]
desc

The DD or User Descriptor.

start

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

Syntax for specifying the starting point and the permissible range of values depends on the specific Descriptor. See the detailed descriptions.

name

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

It is important to remember that starting points and Property Names are paired. The first Property Name is paired with the starting point 0, by default, even if you omit coding the 0. The starting point always is paired with the following Property Name, and defines the lower end of the named segment. All values below the starting point belong to the previous segment. This enforces a continuous scale, with no overlaps or gaps.

The following rules govern range definition statements:

  • Each starting point in a range definition must be higher than any preceding starting point.
  • DAL always assumes that a range begins at 0 and ends with the highest legal value for that Descriptor.
  • The upper limit for a specific Descriptor is shown in this reference section.
  • There is no practical limit to the number of segments that you can define.
  • While it is not a syntax error to code a range definition that consists of simply one segment name, this defines a segment that covers all values from 0 to the upper limit for that Descriptor. The defined Property must therefore always be TRUE.

Usage:

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

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

$VOL_AUTO   0,NO_AUTO_VOLS,1,FEW_AUTO_VOLS,5,MANY_AUTO_VOLS

This statement is interpreted as follows:

$VOL_AUTO 0 <= NO_AUTO_VOLS < 1 <= EW_AUTO_VOLS < 5 <= MANY_AUTO_VOLS

Where:

0

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

NO_AUTO_VOL

is the Property Name for the segment "less than 1 automated volume" (i.e., no automated cartridges requested).

FEW_AUTO_VOLS

is the Property Name for the segment "greater than or equal to 1 automated volume but less than 5 automated volumes."

MANY_AUTO_VOLS

is the Property Name for the segment "greater than or equal to 5 automated volumes but less than 9999 volumes."

Examples:

$VOL_AUTO NO_AUTO,1,SOME_AUTO

In this example, the Property NO_AUTO is TRUE for jobs not requiring automated volumes, while the SOME_AUTO Property is TRUE for jobs requiring the use of automated volumes. {{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
$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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

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

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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_DAY_OF_WEEK WEEKDAY,6,WEEKEND

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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

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

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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

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

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
$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]
start

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

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

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

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]
start

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

name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Examples:

$READER_YEAR PRE_PRD,2009,PRD,2010,POST_PRD

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]
start

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

Starting points are specified in k-bytes of memory as 1-7 decimal digits.

name

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

Usage:

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

{{id name="ListofDALelements(M-S)-restart"/}}

$RESTART

Description: Test for Coded Restart=

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates that RESTART= is coded on a job card.

$RESTART(NO | YES)
NO

RESTART= was not coded on a job card.

YES

RESTART= was coded on a job card.

Usage:

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

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]
 or
RETURN REDRIVE [COUNT(nnn)]

CONTINUE

This optional keyword represents a normal return after the execution of DAL. This is the only valid return from SOS DAL that is being re-driven.

It is the default if no keyword is coded.

DONE

This keyword indicates that for the type of DAL being executed, all processing for this job has been completed. If this keyword is used, DAL will not be invoked again even if there are unprocessed DD statements; however, JAL is invoked and JAL processing continues.

FAIL

This keyword indicates to the DAL processor that the job is to be failed at the end of JAL processing. If there is another DD statement to be processed, DAL is invoked again. If it was the last DD statement, then JAL is invoked. At the end of JAL execution, the job is failed.

You can determine if a RETURN FAIL statement has been executed by testing the logic variable $JXFAIL.

FLUSH

This keyword requests that the job be terminated immediately.

REDRIVE

Indicates that SOS DAL is to be reinvoked for the current SYSOUT DD statement and OUTPUT JCL statement (if present), with a copy of the current data set's original information. If the current invocation of SOS DAL resulted from a RETURN REDRIVE, use of this keyword is an error.

COUNT(nnn)

Indicates how many times SOS DAL is to be reinvoked for the current SYSOUT DD statement and OUTPUT JCL statement (if present).

nnn

Is a number from the range 1-127.

The default for this keyword is 1.

Examples:

IF (NO_SOS)
   RETURN DONE
ENDIF

In this case, the Property NO_SOS has been evaluated elsewhere in the DAL logic, and it has been determined that SOS DAL does not apply to this job. The DONE keyword tells the DAL processor not to call SOS DAL again for the job.

IF (ADD_SOME)
   RETURN REDRIVE COUNT(2)
ENDIF

This example causes the DAL processor to call SOS DAL 2 more times, using the data set information from the current SYSOUT DD statement and, if present, OUTPUT JCL statement. This has the effect of adding two more SYSOUT data sets. {{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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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))

{{id name="ListofDALelements(M-S)-saf_acee"/}}

$SAF_ACEE

Description: Extract Substring from SAF Accessor Environment Element

Type: Character string Descriptor.

Maximum Length: 168 characters.

This Descriptor allows you to extract a substring from the SAF Accessor Environment Element.

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

Is the identification name for the character string that is extracted. The first character must be

% followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

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

start

Is the starting position within the SAF Accessor Environment Element at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character).Usage:

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %SAF_INFO ($SAF_ACEE,20,8)

In this example, the 20 bytes starting at byte 8 in the SAF Accessor Environment Element are extracted and placed in the string variable %SAF_INFO.

Notes:

This field is padded with blanks before extraction is performed. If no data has been entered into the SAF Accessor Environment Element, STRINGDEF will return a string of blanks. {{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])
%stringid

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

length

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

start

Is the starting position within the installation portion of the SAF Accessor Environment Element at which extraction is to begin. If this parameter is omitted, the default is 1 (the first character). Usage:

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %SAF_INSTINFO ($SAF_ACEEINST,16,12)

In this example, the 16 bytes starting at byte 12 in the SAF user information are extracted and placed in the string variable %SAF_USERINFO.

Notes:

This field is padded with blanks before extraction is performed. If no data has been entered into the installation portion of the SAF Accessor Environment Element, STRINGDEF will return a string of blanks. {{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])

%stringid

Is the identification name for the character string that is extracted. The first character must be

% followed by 1 to 23 alphabetic, numeric, national (#, @, $), or underscore (_) characters. The name must be unique.

length

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

start

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

Usage:

This Descriptor can be used only in STRINGDEF definition statements.

Examples:

STRINGDEF %USERNAME ($SAF_USERNAME,20)

In this example, the entire SAF user name is extracted and placed in the string variable %USERNAME.

Notes:

This field is padded with blanks. If no data has been entered for the SAF user name, STRINGDEF will return a string of blanks. {{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])
id

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

Examples:

MSGDEF OVERNITE_MSG ('JOB ',$JOBNAME,' WILL BE QUEUED FOR OVERNIGHT SERVICE.') +
                    USERID($SUBMITTER_RACFU)
...
SEND OVERNITE_MSG

See Also: MSGDEF, WTCA7, WTO, and WTU.

Notes:

You can omit the parentheses () if a single message identifier is specified.

The message must have been defined with the USERID keyword, otherwise the SEND statement is ignored. {{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)
NO

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

YES

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

Usage:

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

Notes:

There is a 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)
n

Is a digit from the range 1-9.

type

Indicates the type of User Logic Variable that is being set, and is one of:

DCS

Indicates a DCS DAL User Logic Variable.

SOS

Indicates an SOS DAL User Logic Variable.

TM

Indicates a TM DAL User Logic Variable.

TRUE

Assigns a TRUE value to the User Logic Variable.

FALSE

Assigns a FALSE value to the User Logic Variable.

Examples:

SET $USERL3_TM(TRUE)

This SET statement must be from TM DAL because it assigns a TRUE value to $USERL3_TM.

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

$SMF30_STEP_CPUTIME

Calculated by adding SMF30CPT, SMF30CPS, SMF30_TIME_ON_IFA and SMF30_ TIME_ON_ZIIP

$SMF30_STEP_ELAPSED_TIME   

Calculated by subtracting the current time from the time that 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:

Proc Id(DAL) Type(STEPTERM) Desc(‘Sample Step TermDAL’)
/*
$SMF30STN                         $,1,Step1,2,$
/*
EvalFlushed ($SMF30STI(SMF30FLH))   /* Bypassed Due To Condition Codes
/*
StringDef %MSGID (‘DALS’)      /* StepTerm DAL Message Prefix */
/*
MsgDef MSG1   (%MSGID,’1 ‘,+
             ‘*-*-*-*-*-’ +
             ‘J o b S t e p S u m m a r y’ +
             ‘ *-*-*-*-*-’) +
             ROUTCDE(11)
MsgDef MSG2 (%MSGID,’2 ‘,+
             ‘Job    Proc    Program Ret.    Elapsed    CPU ‘,+
             ‘      Region      Real Service ‘,+
             ‘ ----I/O ----’) +
             ROUTCDE(11)
MsgDefMSG3 (%MSGID,’3 ‘,+
             ‘Step    Step    Name    Code    Time      Time’,+
             ‘     Below/Above 64-Bit Units   ‘, +
             ‘ DISK   TAPE    VIO’) +
             ROUTCDE(11)
MsgDef MSG4 (%MSGID,’4’, +
             (COL,7),$SMF30STM, +
             (COL,16),$SMF30PSN, +
             (COL,25),$SMF30PGM, +
             (COL,37,R),$SMF30SCC, +
             (COL,50,R),$SMF30_STEP_ELAPSED_TIME +
             (COL,62,R),$SMF30CPT, +
             (COL,68,R),$SMF30URB, +
             (COL,74,R),$SMF30EUR, +
             (COL,82,R),$SMF30HVR, +
             (COL,88,R),$SMF30SRV_L, +
             (COL,98,R),$SMF30BLK_DISK +
             (COL,105,R),$SMF30BLK_TAPE +
             (COL,112,R),$SMF30BLK_VIO) +
             (COL,112,R),$SMF30BLK_VIO) +
             ROUTCDE(11)
MsgDef MSG5 (%MSGID,’4’, +
             (COL,7),$SMF30STM, +
             (COL,16),$SMF30PSN, +
             (COL,25),$SMF30PGM, +
             (COL,34),$SMF30SCC) +
             ROUTCDE(11)
/*
If (Step1)                        /* Check For 1st Step */
  WTO (MSG1,MSG2,MSG3)           /* If So, Write Headings */
EndIf
If (Flushed)                      /* Short Line If Step Flushed */
  WTO MSG5
Else                              /* Long Line If Not */
  WTO MSG4
EndIf
/*
END

Output Generated:

DALS1 *-*-*-*-*-J o b   S t e p   S u m m a r y *-*-*-*-*-
DALS2 Job       Proc     Program  Ret.    Elapsed     CPU        Region        Real  Service    ----I/O ----
DALS3 Step      Step     Name     Code    Time        Time     Below/Above    64-Bit  Units      DISK  TAPE  VIO
DALS4 DCLCOPY   DCLCOPY  DCLCOPY     0 00:00:00.24 00:00:00.04   52K    4K        8G    562        15    0    0
DALS4 EXECSTEP  STEP001  IEFBR14     0 00:00:00.07 00:00:00.01   4K     4K        0      81         0    0    0
DALS4 RC04      ******** RETCODE     4 00:00:00.10 00:00:00.01   12K    4K        0     126         2    0    0
DALS4 RC12      ******** RETCODE    12 00:00:00.11 00:00:00.01   12K    4K        0     135         2    0    0
DALS4 USER99    ******** RETCODE U0099 00:00:00.20 00:00:00.06   12K    4K        0     554         2    0    0
DALS4 BYPASSED  ******** IEFBR14  STEP WAS NOT EXECUTED
DALS4 SYSTEM99  ******** RETCODE  S099 00:00:00.26 00:00:00.06   12K    4K        0     497         2    0    0
DALS4 SUBMIT    RESUB    IEBGENR 0     00:00:00.28 00:00:00.09  184K    4K        0     961         2    0    0
{{id name="ListofDALelements(M-S)-sms_dataclas"/}}

$SMS_DATACLAS

Description: Data Class for SMS-managed data set

Type: Character string Descriptor.

Maximum Length: 8 characters.

This Descriptor represents the name of the Data Class for an SMS-managed data set.

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

Is a 1-8 character pattern to be matched against the name for the SMS Data Class, as assigned by the SMS storage administrator for your installation.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

 For 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)
NO

Returns a TRUE value if the data set is not managed by SMS.

YES

Returns a TRUE value if the data set is managed by SMS.

Usage:

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

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)
pattern

Is a 1-8 character pattern to be matched against the name for the SMS Management Class, as assigned by the SMS storage administrator for your installation.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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)
pattern

Is a 1-8 character pattern to be matched against the name for the SMS Storage Class, as assigned by the SMS storage administrator for your installation.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For 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,...])
  or
SOS ALTER REMOVE

characteristic

Is one of the characteristics of a sysout data set, taken from the Table of Characteristics.

operand[,operand,...]

Is one or more operands, depending on the characteristic being set. You can code operands directly or use a %strid created with a STRINGDEF statement.

These operands use the syntax described in the IBM manual MVS JCL Reference, with the following extension:

 If an asterisk (*) is coded for a field, the current value for that field is retained. To replace a field with a single asterisk, the asterisk must be enclosed in apostrophes: '*'. See the examples below.

Unless you use an asterisk to retain the value, any characteristic altered by SOS ALTER is treated as a complete replacement of anything coded in JCL or JECL.

REMOVE

Indicates that the sysout data set is to be purged regardless of how the job terminates. This is the equivalent of coding OUTDISP=(PURGE,PURGE) on the OUTPUT JCL statement.

Examples:

SOS ALTER CLASS(D)

In this example, the sysout class for the data set is altered to sysout class D.

STRINGDEF %NAME ($PGMR)
...
SOS ALTER ADDRESS(%NAME,'CIS DEPT')

This example inserts the programmer name into a custom address field.

SOS ALTER ADDRESS('ACCTNG DEPT','5TH FLOOR')

This example alters the first ADDRESS field to 'ACCTNG DEPT' and the second field to '5TH FLOOR'. Note that if the OUTPUT JCL statement included a value for the third or fourth ADDRESS fields, this SOS ALTER statement will replace them with blank fields.

This effect is more obvious in this example:

SOS ALTER ADDRESS(,,'123 ANY ST')

Here the first and second ADDRESS fields are replaced with blank fields, and the third ADDRESS field is replaced with '123 ANY ST'. This duplicates the effect you would get if you coded the same operand on the OUTPUT JCL statement. It is possible, however, that you want to alter one field and leave the others alone. You can do this by coding:

SOS ALTER ADDRESS(*,*,'123 ANY ST')

Because an asterisk is coded for the first and second ADDRESS fields, the values for those fields remains unchanged from whatever was coded on the OUTPUT JCL statement. The third ADDRESS field, however, is replaced with '123 ANY ST'.

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.

{{id name="ListofDALelements(M-S)-sos_afpstats"/}}

$SOS_AFPSTATS

SOS ONLY

Description: AFPSTATS Report

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the Print Services Facility (PSF) is to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

$SOS_AFPSTATS(NO | YES)
NO

When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if PSF was not requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

YES

When this subparameter is coded, $SOS_AFPSTATS is TRUE if PSF was requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set.

Usage:

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

Examples:

$SOS_AFPSTATS(YES)

This Variable evaluates to TRUE if PSF was requested to generate an AFP Statistics (AFPSTATS) report while printing this sysout data set. {{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)
descriptor

Is the SOS Descriptor name, taken from the Table of SOS Character Descriptors.

pattern

Is a hard-coded string. The contents of the string must follow the syntax rules for the applicable sysout data set characteristic.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

value

Is one of a list of specific values that are the only valid entries for a particular Descriptor. The values for each Descriptor of this type are shown in the Table of SOS Character Descriptors.

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

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

$SOS_ADDRESS_2('123 4TH ST')

In this example, the Descriptor evaluates to TRUE if address line 2 contains '123 4TH ST'.

Table of SOS Character Descriptors:

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
NO
Y
YES

N/A

$SOS_CHARS_n

Name of one or more character-arrangement tables for printing the sysout data set, where n ranges from 1 to 4.

1-4 per name

$SOS_CLASS

Sysout class of the output data set.

1

$SOS_COLORMAP

Specifies the AFP Resource (object) for the data set that contains color translation information.

1-8

$SOS_COMPACT

Compaction table for JES to use when sending the sysout data set, which is a systems network architecture (SNA) data set, to a SNA remote terminal.

1-8

$SOS_COMSETUP

Name of a microfile setup resource that contains setup information.

1-8

$SOS_CONTROL

Specifies either that each logical record starts with a carriage control character or that the output is to be printed with single, double, or triple spacing.

Values:
SINGLE DOUBLE TRIPLE PROGRAM

N/A

$SOS_DATACK

Indicates whether or not print-positioning and invalid-character data-check errors are to be blocked or unblocked for printers accessed through the functional subsystem PSF.

Values:
BLOCK UNBLOCK BLKCHAR BLKPOS

N/A

$SOS_DEFAULT

Specifies whether this OUTPUT JCL statement can or cannot be implicitly referenced by a sysout DD statement.

Values:
N
NO
Y
YES

N/A

$SOS_DEPT

Department identification on the separator pages of output for a sysout data set.

1-60

$SOS_DEST

Destination for the sysout data set.

1-127

$SOS_DPAGELBL

Specifies whether the system should print the security label on each page.

Values:
N
NO
Y
YES

N/A

$SOS_DUPLEX

Specifies whether or not printing is to be done on both sides of the sheet.

Values:
N
NO
Y
YES

N/A

$SOS_FCB

The forms control buffer (FCB) image JES is to use to guide printing of the sysout data set.

1-4

$SOS_FLASH

Forms overlay to be used in printing the sysout data set on a 3800 Printing Subsystem.
See also the related range Descriptor $SOS_FLASH_COUNT.

1-4

$SOS_FORMDEF

Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3).

1-6

$SOS_FORMLEN

Allows PSF/MVS users to set the length of pages for print without reconfiguring the printer.

4-8

$SOS_FORMS

Forms on which the sysout data set is to be printed or punched. If the forms name is actually a code name for a JECL OUTPUT statement, the value returned by $SOS_FORMS is "STD".

1-4

$SOS_FSSDATA

Data to be passed, dependent on the subsystem.

1-127

$SOS_GROUPID

Output group to which the sysout data set belongs.

1-8

$SOS_HOLD

Indicates whether the system is to hold the sysout data set.

Values:
N
NO
Y
YES

N/A

$SOS_MODIFY

Copy-modification module that tells JES how to print the sysout data set on a 3800 Printing Subsystem.
See also the range Descriptor $SOS_MODIFY_TRC.

1-4

$SOS_NAME

Preferred name printed on the separator pages of the output for a sysout data set.

1-60

$SOS_NOTIFY_n

Users to be notified by PFS upon completion of printing, where n ranges from 1 to 4.

1-17

$SOS_OFFSETXB

Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the back side of each page of output.

5-13

$SOS_OFFSETXF

Specifies the offset in the X direction from the page origin (or partition origin for N_UP) for the front side of each page of output.

5-13

$SOS_OFFSETYB

Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the back side of each page of output.

5-13

$SOS_OFFSETYF

Specifies the offset in the Y direction from the page origin (or partition origin for N_UP) for the front side of each page of output.

5-13

$SOS_OUTCLASS_TYPE

Specifies the OUTPUT value for the current output class.

Values:
DUMMY PRINT PUNCH

N/A

$SOS_OUTDISP_ABNORM

Specifies the disposition of the sysout data set if the job does not complete normally.
See also the related Descriptor $SOS_OUTDISP_NORM.

Values:
WRITE HOLD KEEP LEAVE PURGE

N/A

$SOS_OUTDISP_NORM

Specifies the disposition of the sysout data set if the job completes normally.
See also the related Descriptor $SOS_OUTDISP_ABNORM.

Values:
WRITE HOLD KEEP LEAVE PURGE

N/A

$SOS_OUTPUTJECL_CODE

The code name associated with the JECL OUTPUT statement associated with the sysout data set being processed.

1-4

$SOS_OUTPUTJCL_LABEL

The label (name) of the current OUTPUT JCL statement.

1-8

$SOS_OUTPUTJCL_ PROCSTEP

The PROCSTEP for the current OUTPUT JCL statement.

1-8

$SOS_OUTPUTJCL_ STEPNAME

The STEPNAME for the current OUTPUT JCL statement.

1-8

$SOS_OVERLAYB

Specifies that the named medium overlay is to be placed on the back side of each sheet to be printed.

1-8

$SOS_OVERLAYF

Specifies that the named medium overlay is to be placed on the front side of each sheet to be printed.

1-8

$SOS_PAGEDEF

Library member that contains statements to tell the Print Services Facility (PSF) how to print the sysout data set on a page-mode printer (such as the 3800 Printing Subsystem Model 3).

1-6

$SOS_PIMSG

Specifies whether PSF is to print all error messages.
See also the related range Descriptor $SOS_PIMSG#.

Values:
NO
YES

N/A

$SOS_PRMODE

Process mode required to print the sysout data set.

1-8

$SOS_PRTATTRS

Specifies one or more job attributes for Infoprint Server.

1-127

$SOS_PRTERROR

Specifies the disposition of the SYSOUT data set used if a terminating error occurs during printing through the PSF/MVS functional subsystem.

Values:
DEFAULT
HOLD
QUIT

N/A

$SOS_PRTOPTNS

Named entity that refers to additional print options the FSS can use when printing a data set routed to DEST='IP:ipaddr'.

1-16

$SOS_PRTQUEUE

Name of the target print queue on a remote host system.

1-127

$SOS_RESFMT

Specifies the resolution used to format the print data set.

Values:
P240
P300

N/A

$SOS_RETAINF

Instructs the FSS how long to retain the data set if the transmission fails.

1-8

$SOS_RETAINS

Instructs the FSS how long to retain the data set if the transmission succeeds.

1-8

$SOS_RETRYT

Specifies how long the FSS is to wait between transmission retries.

1-8

$SOS_ROOM

Room identification printed on the separator pages of the output for a sysout data set.

1-60

$SOS_SPIN

Specifies whether the output for the sysout data set is made available for processing immediately upon unallocation or at the end of the job.

Values:
NO
UNALLOC

N/A

$SOS_SYSAREA

Specifies whether the system should reserve an area on each page of printed output for the security label.

Values:
N
NO
Y
YES

N/A

$SOS_TITLE

Description of the output printed on the separator pages of the output of a sysout data set.

1-60

$SOS_TRC

Specifies whether the logical record for each output line in the sysout data set contains table reference character (TRC) codes.

Values:
N
NO
Y
YES

N/A

$SOS_UCS

UCS image, print chain, or character arrangement table to be used in printing the sysout data set.

1-4

$SOS_USERDATA_n

User data, usage defined by your installation, where n ranges from 1 to 16.

1-60 per field

$SOS_USERLIB_n

Libraries containing AFP resources to be used by Print Services Facility (PSF) when processing sysout data sets, where n ranges from 1 to 8.

1-44 per library

$SOS_WRITER

External writer to be used to process the sysout data set rather than JES.

1-8

{{id name="ListofDALelements(M-S)-sos_outclass_dummy"/}}

$SOS_OUTCLASS_DUMMY

SOS ONLY

Description: Dummy SYSOUT Class

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the class for the sysout data set was specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.

$SOS_OUTCLASS_DUMMY(NO | YES)
NO

When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if the sysout data set was not specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.

YES

When this subparameter is coded, $SOS_OUTCLASS_DUMMY is TRUE if the sysout data set was specified as a DUMMY class by the JES2 initialization keyword OUTCLASS.

Usage:

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

Examples:

$SOS_OUTCLASS_DUMMY(YES)

This Variable evaluates to TRUE if the class for the sysout data set was specified as a DUMMY class using the OUTCLASS keyword for JES2. {{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)
NO

When this subparameter is coded, $SOS_OUTPUTJECL is TRUE if the forms name coded for the SYSOUT keyword is not a code name for a JECL OUTPUT statement.

YES

When this subparameter is coded, $SOS_OUTPUTJECL is TRUE if the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.

Usage:

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

Examples:

$SOS_OUTPUTJECL(YES)

This Variable evaluates to TRUE if the forms name coded for the SYSOUT keyword is actually a code name for a JECL OUTPUT statement.

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)
name

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

output-type

Is a unique value that represents a specific characteristic of the SYSOUT data set, and is one of the following keywords:

EXPLICIT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that is specified on the DD statement.

IMPLICIT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that is either a job or step default.

JOB_DEFAULT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that has DEFAULT=YES at the job level.

STEP_DEFAULT

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is modified by an OUTPUT JCL statement that has DEFAULT=YES at the step level.

NONE

Indicates the Property is to be assigned a TRUE value if the SYSOUT data set is not modified by an OUTPUT JCL statement.

Usage:

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

Examples:

$SOS_OUTPUTJCL_REF OUTPUT_CODED (EXPLICIT)

This assigns a TRUE value to the Property OUTPUT_CODED if a OUTPUT JCL statement is present and the DD statement describing the SYSOUT data set referred to it specifically.

$SOS_OUTPUTJCL_REF OUTPUT_DEFAULT (IMPLICIT)

This assigns a TRUE value to the Property OUTPUT_DEFAULT if a OUTPUT JCL statement with the keyword DEFAULT=YES is present at either the job or step level and affects the SYSOUT data set being processed.

$SOS_OUTPUTJCL_REF NO_OUTPUT (NONE)

This assigns a TRUE value to the Property NO_OUTPUT if no OUTPUT JCL statement affects the SYSOUT data set being processed. Note that this does not mean that there is no OUTPUT JCL statement present in the JCL stream. {{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#
$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]
descriptor

Is the SOS Descriptor name, taken from the Table of SOS Range Descriptors.

start

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

The possible values for starting points depend on the Descriptor, and are shown in the Table of SOS Range Descriptors.

name

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

Usage:

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

Examples:

$SOS_COPIES SINGLE,2,MULTIPLE

In this example, the Property SINGLE evaluates to TRUE if COPIES has been set to 1, otherwise MULTIPLE evaluates to TRUE.

Table of SOS Range Descriptors:

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.
See also the character Descriptor $SOS_FLASH.

0-255

$SOS_INDEX

Value to set for the left margin for output on a 3211 Printer with the indexing feature.

1-31

$SOS_INTRAY

Specifies the paper source.

1-255

$SOS_LINDEX

Value to set for the right margin for output on a 3211 Printer with the indexing feature.

1-31

$SOS_LINECT

Maximum number of lines JES2 prints per output page.

0-255

$SOS_MODIFY_TRC

Identifies which character arrangement table from the CHARS keyword is to be used.
See also the character Descriptor $SOS_MODIFY.

0-3

$SOS_OUTBIN

Specifies the printer output bin identifier to be used for the sysout data set.

1-65535

$SOS_OUTLIM

Number of logical records in the sysout data set defined by this DD statement.

1-16777215

$SOS_PIMSG#

Indicates the handling of messages by Print Services Facility (PSF).
See also the related Logic Variable $SOS_PIMSG.

0-999

$SOS_PORTNO

Specifies the TCP/IP port number at which the FSS (for example, IP Printway) connects to the printer.

1-65535

$SOS_PRTY

Priority at which the sysout data set enters the output queue.

0-255

{{id name="ListofDALelements(M-S)-sos_redrive"/}}

$SOS_REDRIVE

SOS ONLY

Description: Indicate REDRIVE Status

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable indicates whether the current invocation of SOS DAL results from a RETURN REDRIVE statement.

$SOS_REDRIVE(NO | YES)
NO

When this subparameter is coded, $SOS_REDRIVE is TRUE if the current invocation of SOS DAL did not result from a RETURN REDRIVE statement.

YES

When this subparameter is coded, $SOS_REDRIVE is TRUE if the current invocation of SOS DAL did result from a RETURN REDRIVE statement.

Usage:

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

Examples:

$SOS_REDRIVE(YES)

This Variable evaluates to TRUE if the current invocation of SOS DAL resulted from a RETURN REDRIVE statement.

See Also: RETURN, $SOS_REDRIVE_COUNT, and $SOS_REDRIVE_CURRENT#. {{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)
name

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

sysout-type

Is a unique value that represents a specific type of sysout data set, and is one of the following keywords:

DD

Indicates the Property is to be assigned a TRUE value if the sysout data set is defined by a DD statement.

JCL

Indicates the Property is to be assigned a TRUE value if the sysout data set is the system JCL data set.

LOG

Indicates the Property is to be assigned a TRUE value if the sysout data set is the system LOG data set.

MSG

Indicates the Property is to be assigned a TRUE value if the sysout data set is the system MSG data set.

Usage:

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

Examples:

$SOS_SYSOUT_DS NOT_SYSTEM (DD)

This assigns a TRUE value to the Property NOT_SYSTEM if the sysout data set being processed is described by a specific DD statement as opposed to being one of the standard system sysout data sets. {{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]
start

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

 name

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

Usage:

You can use this descriptor the Definition Section of DAL, and also as an insert in message definition statements.

Example:

$STEP# 1,FIRST_STEP,2,EARLY_STEP,5,MIDDLE_STEP,10,LATE_STEP
{{id name="ListofDALelements(M-S)-step_first_dd"/}}

$STEP_FIRST_DD

Description: Recognize First DD Within a Step

Type: Logic Variable.

Maximum Value: Not applicable.

This Logic Variable allows you to determine whether the DD statement currently being processed is the first one in the step.

$STEP_FIRST_DD(NO | YES)
NO

Returns a value of TRUE when the DD statement is not the first one in a step.

YES

Returns a value of TRUE when the DD statement is the first one in a step.

Usage:

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

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)
NO

Returns a value of TRUE when the DD statement is not the last one in a step.

YES

Returns a value of TRUE when the DD statement is the last one in a step.

Usage:

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

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)
$BLANK

Allows you to test for an "all blanks" condition.

pattern

A hard-coded valid step name pattern to be matched against the name for the step that includes the DD statement being processed.

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

 For 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)]
%strid

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

You can use up to two fields for the construction of the character string.

source1

Represents the first field or value to be used for the construction of the character string.

It can be one, and only one, of the following sources:

 A 'hard-coded character string'. For example:

STRINGDEF %STRING ('DEVELOP')

 A character Descriptor. For example:

STRINGDEF %FROM_RACFU ($RACFU)

The length of the character string is the length of the Descriptor.

 An installation system symbol. Any string that begins with an ampersand (&) is treated as a system symbol. If the symbol is not defined at the time of Job Analysis, the resulting value is blank. System symbol are accepted only in a STRINGDEF.

 The substring function. For example:

STRINGDEF %NAME1 ($USERC1,5)

Here, at DAL execution time, the first 5 characters contained in $USERC1 are used. For an explanation of the substring function see to Substring-function.

 %PATID

A previously defined pattern. You specify the pattern id. The pattern is converted to a character string. That is, any wildcard characters are treated as normal characters.

 %STRID

A character string that was previously defined with STRINGDEF. You specify the string id.

||

Indicates that source2 is to be concatenated to source1.

source2

Represents the second field or value to be used in the construction of the character string. source2 is optional and if present its value is concatenated to the value from source1.

The rules are the same as source1.

Usage:

The STRINGDEF has been provided to allow you to construct character strings from any character Descriptor, or a portion of it. The resulting character string represented by a %strid can be used in any construct that allows character descriptors.

Examples:

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

is a valid construct.

EVALUATE PRODJOB (%NAME('MIKE'))
...
IF (PRODJOB)

is also a valid construct.

Notes:

With STRINGDEF the characters '*' or '?' are treated as normal characters.

The maximum length for the resulting character string is 255 characters. {{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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For more information about 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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For more information about 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)
pattern

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

%patid

The name of a pattern created with the PATTERNDEF statement.

table-id

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

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

For more information about 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]])
(%strid[,length[,starting-position]])
(%patid[,length[,starting-position]])

character descriptor

Represents a character Descriptor.

%strid

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

%patid

Represents a dynamically constructed pattern created with the PATTERNDEF statement.

If any wildcard characters are found they are treated as string characters. For example, asterisks.

length

The number of characters to be used. If this operand is omitted the length of the Descriptor is used.

The substring function allows a value from 1 to 255.

starting position

The starting position of the character string within the Descriptor. If this operand is omitted the default value is 1.

Usage:

The substring function can be used to construct strings with the PATTERNDEF and STRINGDEF definition statements.

Notes:

If the combined value of length and starting position is more than the length of the Descriptor, then:

  • If the length and starting position are coded, the statement is failed with an error message.
  • If only the starting position has been coded, allowing the length to default, a warning message is issued.

$SUBSYS

Description: Current Subsystem

Type: Character String Descriptor.

Maximum Length: 4 characters.

This Descriptor represents the current Subsystem name.

$SUBSYS(name)
name

Current Subsystem name Identifies the subsystem. The subsystem name is 1 through 4 alphanumeric or national ($, #, @) characters; the first character must be alphabetic or national ($, #, @).

Usage:

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:

$SUBSYS(TEST)


 

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