z/OS DFSMSdfp Utilities
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Invoking Utility Programs from an Application Program

z/OS DFSMSdfp Utilities
SC23-6864-00

This appendix documents Programming Interface and Associated Guidance Information provided by DFSMS.

This appendix is intended to help you invoke a utility program from an application program.

You can start a utility program through an application program by using the LINK macro instructions. (ATTACH may also be used, but additional parameters are needed. )

You must supply the information that is usually specified in the PARM parameter of the EXEC statement, and any nonstandard ddnames that define the data sets that you want the utility to use.
Note: All parameters must reside below the line (that is, have 24 bit addresses).

When invoking IEBCOMPR, IEBCOPY, IEBDG, IEBGENER, IEBPTPCH, IEHLIST, IEHMOVE, or IEHPROGM from an application program or the TSO CALL command, you must dynamically allocate the device by issuing SVC 99 before calling the utility or you must use the JCL or TSO ALLOCATE equivalent.

IEHINITT, IEHMOVE, and IEHPROGM are APF (authorized program facility) programs. When executing an authorized program, the calling program must also be authorized. If you are using TSO, the TSO service routine IKJEFTSR may be used by an unauthorized program to invoke an authorized program such as IEHINITT.

The syntax of the LINK macro instruction is:

Label Statement Parameters
[label] LINK EP=progname
    ,PARAM=(optionaddr[,ddnameaddr
    [,hdingaddr[,uexitparmaddr]]])
    ,VL=1
where:
EP=progname
specifies the name of the utility program.
PARAM=(optionaddr[,ddnameaddr [,hdingaddr[,uexitparmaddr]]])
specifies, as a sublist, address parameters to be passed from the application program to the utility program. All parameters and the parameter list itself must be in 24-bit addressable storage. Refer to the IEBCPARM macro's CPARM_PARMLIST DSECT for a map of the specifiable parameter options. These values can be coded:
optionaddr
specifies the address of an option list which contains options usually specified in the PARM parameter of the EXEC statement. This must be present for all utility programs. Refer to the IEBCPARM macro's CPARM_OPTIONS_PREFIX DSECT for a map of the caller's option list.
ddnameaddr
specifies the address of a list of alternate ddnames for the data sets used during utility program processing. If standard ddnames are used and this is not the last parameter in the list, it should point to a halfword of zeros. Refer to the IEBCPARM macro's CPARM_DDNAMES_PREFIX DSECT for a map of the ddname array. If you do not wish to specify this parameter or the later parameters, you may omit it.
hdingaddr
specifies the address of a list which contains an EBCDIC beginning page number for the SYSPRINT data set. If hdingaddr is omitted, the page number defaults to 1. Refer to the IEBCPARM macro's CPARM_PAGENUM_PREFIX DSECT for a map of the caller's page number option. If you do not wish to specify this parameter or the later parameter, you may omit it.
uexitparmaddr
specifies the address of the IEBCOPY user-exit parameter list. Refer to the IEBCPARM mapping macro CPARM_EXIT_DSECT for a description of the IEBCOPY user exit parameters. If uexitparmaddr is omitted, the IEBCOPY user exits will not be invoked. Uexitparmaddr is only supported in IEBCOPY. If you do not wish to specify this parameter, you may omit it.
VL=1
specifies that the sign bit of the last fullword of the address parameter list is to be set to 1.
Related reading:

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014