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:

  • $VAR–Any number of characters
  • $VER–Version string
  • $REL–Release string
  • $MOD–Modification string
  • $KEY–Primary key ID string for RELATE
  • $SKY–Secondary key ID string for RELATE

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:

  • (Off)—(Default) Turns the function off.
  • I (Intermediates)—Traces intermediate results during expression evaluation in addition to final results.      
  • R (Results) —Traces final results. We recommend this for general debugging.    
     
Important

You must specify <dzs_rexxout>

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:

  • SRC–The direction is from SOURCE to DESTINATION.
  • DST–The direction is from DESTINATION to SOURCE.
  • UNK–The direction is unknown.

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:

  • $KEY–The primary key value for the current source product object instance
  • $SKY–The secondary key value used to correlate to the primary key value of the destination product object instance.

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>

 

 

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