Example JCL for Running the PBEM

//STEP200 EXEC PGM=MDHLPBEM,

// PARM=

//STEPLIB DD DISP=SHR,DSN=MDH.V1010.MDHLLIB

// DD DISP=SHR,DSN=MDH.V1010.MDHLLPA

//MDHPTRCE DD SYSOUT=*

//MDHPDIMV DD DISP=SHR,DSN=MDH.DIM671.PARM(MDHTDIMV)

//CEEPRINT DD SYSOUT=*

//MDHPPRNT DD SYSOUT=*

//MDHPBRD DD PATHOPTS=(ORDONLY),

// PATH=

//MDHPPARM DD *

-t DD:MDHPTRCE -q -l

-b DD:MDHPBRD

-c 2

/*

In the example above DD NAME is used as follows:

DD Name | Description
MDHPBRD | An optional name that you specify in the -b switch. Can be a USS file or a PDS member.
MDHPDIMV | The file that is used for the Dimensions environment variables. The name must match the name specified in the _CEE_ENVFILE control.
MDHPPARM | The input file used to extend the ’PARM=’ statement. The portion after the forward slash PARM=’ statement is processed first, followed by the controls in columns 1-72 of the stream pointed to by MDHPPARM.
MDHPPRNT | The data set for standard output.
MDHPTRCE | The data set for trace output. You can change the DDNAME by altering the value for -t at the command line.

Overriding the PBEM Host Name

You can override the PBEM host name in environments where the main system is accessed via a Dynamic VIPA. This is a virtual host name that can resolve to any one of a collection of tightly coupled systems running on logical partitions (LPARs) of an OS/390 Central Complex (CEC). In this type of environment the host name returns the name of the Dynamic VIPA and not the name of the system (LPAR) on which the PBEM is running. However, some tasks, such as the Secondary Build Execution Monitor (SBEM), require access to a specific PBEM running on a specific system. Therefore, a method is required to directly address a particular LPAR. Use the following optional symbols in the mainframe Dimensions CM dm.cfg configuration file to translate the host name:

Symbol | Notes
DM_HOSTNAME_START <value> | Must be one of SMCASID, SYSNAME, LPAR, or HOSTNAME. All other values are used as the starting host name.
DM_HOSTNAME_KEYn | Checks the values specified for ’n’, for example, n=1, n=2, and so on. Used as a match against the key retrieved in the previous symbol. Stops processing when there is no match or symbol.
DM_HOSTNAME_MAPn | Replaces the value KEYn if it is present.
DM_HOSTNAME_PATTERN | The pattern is scanned and %k is replaced by the current key value. At the end of this process the resulting value is used as the host name. If it is a name the DNS is searched. If it is an IP address it is used directly.

For SMCASID

Read the contents of location 16 (decimal) from the current address space. This points to a structure called the CVT. At offset 196 there is a four byte pointer to the SMCA. This structure has a four byte field at an offset of 16 decimal, which is the SMCASID or SMFID for the system. Use this four byte value. It is not null terminated but needs to be stripped of any trailing spaces.

For SYSNAME

Use the function _uname to obtain the field node name. This field is &SYSNAME in the IPL parameters. See the IBM C/C++ Runtime Library Reference for more information on this call.

For LPAR

Call the function mvs_getlpar in libfilesys (mvs_lpar.c) and use the value returned as the key.

Examples:

To replace the host name with an IP address:

DM_HOSTNAME_START 192.168.4.15

To start with the LPAR name and convert it to a suitable name:

DM_HOSTNAME_START LPAR

DM_HOSTNAME_KEY1 VM02

DM_HOSTNAME_VALUE1 D00A.SERENA.COM

DM_HOSTNALE_KEY2 VM01

DM_HOSTNAME_VALUE2 D00B.SERENA.COM

To add a domain onto the end of the SMFID:

DM_HOSTNAME_START SMCASID

DM_HOSTNAME_PATTERN %k.serena.com

Other configurations are possible depending on the system you are using.