Updating the APF list

Use the SETPROG APF command to:
  • Change the format of the authorized program facility (APF) list from static to dynamic, or static to dynamic
  • Add a library to a dynamic APF list
  • Delete a library from a dynamic APF list.
To use the SETPROG APF command to update the contents of the APF list during normal processing, the format of the APF list must be dynamic. SETPROG is a system control command and is issued from a console with system (AUTH(SYS)) or higher authority.
  • To add or delete the APF list entry for library libname, you must have UPDATE authority to the RACF® FACILITY resource class entity CSVAPF.libname, or there must be no FACILITY class profile that protects that entity.
  • To change the format of the APF list to dynamic, you must have UPDATE authority to the RACF FACILITY resource class profile CSVAPF.MVS.SETPROG.FORMAT.DYNAMIC, or there must be no FACILITY class profile that protects that entity.
  • To change the format of the APF list back to static, you must have UPDATE authority to the RACF FACILITY resource class profile CSVAPF.MVS.SETPROG.FORMAT.STATIC, or there must be no FACILITY class profile that protects that entity.

If you authorize users to update the APF list using some other method, you must ensure that there is no FACILITY class profile that matches one of the previously listed profiles. If there is such a profile, the system uses it to determine if the requestor is authorized.

You can also use the SET PROG=xx command to update the APF list using parameters specified in the PROGxx parmlib member. See SET command for more information about using SET PROG=xx. See z/OS MVS Planning: Operations for information about defining RACF profiles for the SETPROG and SET PROG=xx commands.
 
SETPROG APF{,FORMAT={DYNAMIC|STATIC}}
                                                                    
           {,{ADD|DELETE},{DSNAME|LIBRARY}=libname,{SMS|VOLUME=volume} }
 
Note:
  1. You can specify the DSNAME parameter as DSN, LIB, or LIBRARY, the VOLUME parameter as VOL, and the DYNAMIC parameter as DYN.
  2. This command requires a /* */ around comments. Refer to System command formats for further information.
FORMAT=[DYNAMIC or STATIC]
Indicates that the format of the APF list is to change (from static to dynamic, or vice versa). If the system processes FORMAT=DYNAMIC successfully, authorized users can update the dynamic APF list during normal processing.

Before you change the format of the APF list to dynamic, contact the system programmer to validate that all programs and vendor products are converted to use dynamic APF services and that the proper program products are installed. Also, see the restrictions associated with changing the format of the APF list in z/OS MVS Initialization and Tuning Reference.

ADD
Adds the library specified on the DSNAME parameter to the APF list. There is no restriction on the number of libraries you can specify in a dynamic APF list. You can only use this option if the format of the APF list is dynamic.
DELETE
Deletes the library specified on the DSNAME parameter from the APF list. You can only use this option if the format of the APF list is dynamic.
DSNAME|LIBRARY=libname
The 1-44 character name of the library that you want to add or delete. DSNAME can be an alias for the library name.

This function does not map an alias to the actual library name. Therefore, if you specify an alias, only the alias is added to, or deleted from, the APF list. Similarly, when you specify an actual library name as input, none of the library's aliases are added to, or deleted from, the APF list.

Do not define aliases in the APF list because IBM's data management services (for example, OPEN processing) map an alias to its actual library name and query the APF list by the actual library name. An alias in the APF list does not authorize anything.

VOLUME=volume
The volume identifier for the volume containing the library specified on the DSNAME parameter, which is one of the following:
  • The volume serial number
  • Six asterisks (******), indicating that the system is to use the volume serial number of the current system residence (SYSRES) volume.
  • *MCAT*, indicating that the system is to use the volume serial number of the volume containing the master catalog.
SMS
Indicates that the library specified on the DSNAME parameter is managed by the storage management subsystem (SMS), and therefore no volume is associated with the library. When you display the APF list entry for an SMS-managed library, the volume appears as *SMS*.

Example 1:

To change the format of the APF list from static to dynamic, enter:
SETPROG APF,FORMAT=DYNAMIC

Example 2:

To add library SYS1.ACCTG.DATA, on the current SYSRES volume, to the APF list, enter:
SETPROG APF,ADD,DSNAME=SYS1.ACCTG.DATA,VOLUME=******

Example 3:

To add SMS-managed library SYS1.DSSET.LOG to the APF list, enter:
SETPROG APF,ADD,DSNAME=SYS1.DSSET.LOG,SMS

Example 4:

To delete library SYS1.ACCTG.DATA, on volume 617680, from the APF list, enter:
SETPROG APF,DELETE,DSNAME=SYS1.ACCTG.DATA,VOLUME=617680