Using the <xpgm> object statement
The <xpgm> object statement is an extensible program statement you can use to further qualify or obtain information about an address space. You can specify more than one <xpgm> statement for a given object to combine multiple statements. You can also use it to extract version information from the job log output.
An opening <xpgm> statement and a closing </xpgm> statement surround the information you want to extract.
You can modify the object statement as follows, depending on the task that you want it to perform:
<xpgm> statements | Description |
---|---|
LOG | Run system REXX program to extract information from the SDSF job log. |
RELATE | Relates an object to another object. |
SET | Set fields to extracted, defined, or constant values. |
The following LOG parameters are available:
LOG parameters | Description |
---|---|
DDN=<job_log_DDName> | * | The DDN= parameter specifies a specific job log data definition name. The default is all members of a job log. |
PRD=<product_type> | The PRD= parameter is used by the LOG statement to find address spaces that run multiple products. |
AND | OR | The AND parameter combines the <xpgm> LOG statement with the next <xpgm> LOG statement so that both run. This is the default. The OR parameter specifies that the next <xpgm> LOG statement will not run if the current <xpgm> LOG runs successfully. |
PRD=<product_class> | The PRD= parameter is used by the LOG statement to find address spaces that run multiple products. |
REQ | OPT | The REQ parameter specifies that the <xpgm> LOG must have run successfully for the Address Space to qualify. The OPT parameter specifies that the address space still qualifies even if the <xpgm> LOG does not run successfully. This is the default. |
TXT=<text> | <mask> $END
| The TXT= parameter searches for a text in an SDSF job log. The current mask variables are:
The $END marks the end of the text/mask string. The returned version field is a combination of the $VER[.$REL][.$MOD] extracted strings. |
VER=<text> | $ZOS | The VER parameter sets the version field to a constant value or the defined z/OS version. |
TRC=<rexxTraceCharacter > | Valid values are as follows:
|
The following RELATE parameters are available:
RELATE parameters | Description |
---|---|
PRD=<destination_product_type> | The PRD= parameter is used by the RELATE statement to set a relationship from a source product type to a destination product type. |
DIR=UNK | DST | SRC | The DIR= parameter determines the direction of the relationship in a graph. The available options are:
The default is UNK. |
SKY=<text> | $KEY | $SKY | The SKY parameter is the secondary key value used to correlate to another product object instance's primary key value. The available options are:
|
The following SET parameters are available:
SET parameters | Description |
---|---|
VER=<text> | $ZOS | Sets the version field to a constant value or the defined z/OS version |
KEY=<text> | $JOB | Sets primary key field to a constant value or the job name of the object instance |
POS=<num> | The start position for a sub-string of the primary key field. It defaults to zero which is equivalent to the first character of the field. |
LEN=<num> | The length of a sub-string of the primary key field. It defaults to zero, which is equivalent to the length of the field. |
The following examples display how you can use the <xpgm> statement to:
Extract the version string from the MIM job log:
<xpgm>LOG
TXT=MIM0700I CA MIM Resource Sharing R$VER $END
</xpgm>Extract the PAS SSID key value from the PAS job log and relate it to the CAS PLEXMGR product by correlating the PAS SSID key value to the CAS SSID key value. This sets the direction from the destination (CAS) to the source (PAS):
<xpgm>LOG REQ
TXT=BBDDI029I MVS PAS($KEY) Initialization complete $END
</xpgm>
<xpgm>RELATE PRD=PLEXMGR DIR=DST SKY=$KEY</xpgm>Set the version field to the defined z/OS version:
<xpgm>SET VER=$ZOS</xpgm>Set the primary key field to the first four characters of the job name:
<xpgm>SET KEY=$JOB POS=1 LEN=4</xpgm>