Start of change

$ADD POLICYLIB(xxxxxxxx) - Define a new concatenation for JES2 policy import

Function

To define a new data set concatenation to be used as a source for importing external definition of JES2 policies (see $POLICY IMPORT - Import new JES2 policy command).

Syntax

Read syntax diagramSkip visual syntax diagram$ADDPOLICYlib 'policylib'(,policyclib'policylib') Modification keywords
Modification keywords
Read syntax diagramSkip visual syntax diagram,DDnn-mm*(,nn*-mm*)=( ,DSName=dsnameDSName=pathnameUNIT=unitVOLser=volser),

Parameters

(policylib)
Specifies the 1-8 character DD name of a POLICYLIB concatenation to be defined. If a POLICYLIB already exists with this name, the command fails.
DD(nnn)=
Specifies up to 255 data sets to be concatenated for this POLICYLIB DD name. Data sets in this list are compacted after the $ADD command is processed. If you specify DD(1), DD(20), and DD(100) for a new POLICYLIB concatenation, the resulting concatenation has DD(1), DD(2), and DD(3). Though up to 255 data sets can be specified, MVS™ rules limit any data set concatenation to 255 extents. If any data set has more than one extent, then the total number of data sets that can be supported are reduced.
DSName=dsname
Specifies a 1-44 character data set name which JES2 includes in this POLICYLIB concatenation. This data set name must specify a partitioned data set (PDS).
PATH=pathname
Specifies a 1-88 character path name which JES2 includes in this POLICYLIB concatenation. This path name must specify a directory in MVS zFS file system.
UNIT=hhhh|/hhhh|nnnn|cccccccc
If the POLICYLIB data set to be used is not cataloged, then the unit information for the device containing the data set must be specified in one of the following ways:
hhhh | /hhhh
specifies a 3 or 4 digit hexadecimal device number. Device numbers can be specified by any of the following formats:
  • UNIT=hhh
  • UNIT=/hhh
  • UNIT=/hhhh
where hhh and hhhh represent the device numbers. A slash (/) must precede a 4 digit device number.
nnnn
Specifies a device name.
cccccccc
Specifies a 1 to 8 character group name that is assigned to the device or group of devices that contained the non-cataloged POLICYLIB data set to be used.
VOLser=xxxxxx
If the POLICYLIB data set to be used is not cataloged, then this specifies a 1 - 6 character volume serial number on which the data set resides.
UNCONDitional
Specifies what action is taken if one of the data sets cannot be allocated. If UNCONDitional is not specified, then if any data set cannot be allocated, the $ADD command fails. If UNCONDitional is specified, then an error allocating a single data set is ignored. The data set is not added to the concatenation, but it remains assigned to the DD(nnn). If the concatenation is displayed, failed DD(nnn) displays the text 'ALLOCATION FAILED' before the data set name. If all data sets in a concatenation fail to allocate, then the $ADD command fails regardless of whether UNCONDitional was specified.

Authority Required

This command requires system authority. The description of the $T RDRnn command explains how to ensure that the authority of the appropriate MVS™ system command group is assigned.

This command requires control security access authority. For a description of assigning command input authority, see z/OS JES2 Initialization and Tuning Guide.

Processing Considerations

$ADD POLICYLIB command processing only ensures that the data sets specified can be allocated. It does not ensure that they actually exist or can be opened and are usable. That processing occurs when the $POLICY IMPORT command is invoked.

Scope

Single member. The values that are supplied for this command will be in effect for this member only.

Depending on your installation's setup, however, you might want this command to be applied to all members of the MAS (to ensure a consistent environment across the MAS). If so, you can use the MVS ROUTE *ALL command to issue this command to all active members (if the JES2 command character is the same on all members). See z/OS MVS System Commands for more information on using the ROUTE *ALL command.

Messages

The $HASP737 message displays the current POLICYLIB concatenation.

The $HASP003 RC=56 indicates that you are trying to add a POLICYLIB concatenation but it already exists.

The $HASP003 RC=91 indicates that the command failed because there was an allocation failure. In this case, additional IKJ message is issued to describe the allocation error.

Examples

 1 
$add policylib (plcy 01),dd1=dsn=sysadm.src,dd2=dsn=test.plcysrc 
$HASP737 POLICYLIB(PLCY 01)
$HASP737                     DD(1)=(DSNAME=SYSADM.SRC,
$HASP737                     VOLSER=J2VOL1),
$HASP737                     DD(2)=(DSNAME=TEST.PLCYSRC,
$HASP737                     VOLSER=J2VOL2)

Add a new POLICYLIB concatenation PLCY01 with 2 data set SYSADM.SRC and TEST.PLCYSRC.

 2 
$add policylib(plcy 02),dd1=dsn=sysadm.src,dd2=dsn=junk.src,uncond 
IKJ56228I DATA SET JUNK.SRC NOT IN CATALOG OR CANNOT BE ACCESSED
$HASP737 POLICYLIB(PLCY 02)
$HASP737                     DD(1)=(DSNAME=SYSADM.SRC,
$HASP737                     VOLSER=J2VOL1),
$HASP737                     DD(2)=(ALLOCATION FAILED,
$HASP737                     DSNAME=JUNK.SRC)

Add a new POLICYLIB concatenation with one data set, JUNK.SRC, that does not exist but UNCOND was specified. In this case, the PLCY02 DD is an available POLICYLIB with only one active data set

 3 
$add policylib(plcy99),dd100=dsn=jes2.plcysrc,dd200=dsn=test.plcysrc 
$HASP737 POLICYLIB(PLCY99)
$HASP737                     DD(1)=(DSNAME=JES2.PLCYSRC,
$HASP737                     VOLSER=J2VOL1),
$HASP737                     DD(2)=(DSNAME=TEST.PLCYSRC, 
$HASP737                     VOLSER=J2VOL1)

This example shows how DD(nnn) is compressed to form a dense list.

End of change