The QMF edit exit interface for PL/I in TSO, ISPF, or native OS/390 consists of these parts:
Figure 167 shows the program structure of a PL/I edit exit routine in TSO, ISPF, or native OS/390.
The user edit program is called as a PL/I external procedure using a standard PL/I CALL statement. The following parameters are provided in the indicated order:
An example procedure statement specifying parameters is as follows:
DSQUXDT: PROCEDURE(DXEECSF,ECSINPTF,ECSRSLTF) OPTIONS(REENTRANT);
A PL/I data structure is shipped with QMF as DXEECSP, located in library QMF720.SDSQSAPE. Include this data structure in your program.
Return control to QMF using a standard RETURN statement.
During the compile, QMF edit exit interface control block DXEECSP, located in QMF sample library QMF720.SDSQUSRE on OS/390 must be available in a macro library.
Compile both programs with no STAE or SPIE macros. To do this, add the following statement to your PL/I program:
DCL PLIXOPT CHAR(15) VAR INIT('NOSTAE,NOSPIE') STATIC EXTERNAL;
Compile DSQUPLI with the MAIN option. Your edit exit program DSQUXDT must not specify MAIN.
Create a new QMF edit exit module DSQUEDIT by including your edit program DSQUXDT with the IBM-supplied control modules DSQUXIP and DSQUPLI, which are located in the QMF module library QMF720.SDSQLOAD. The module DSQUXIC must be specified as the entry point.
The module DSQUEDIT can be executed in either 24-bit or 31- bit addressing mode. QMF runs in 31-bit addressing mode and automatically switches to 24-bit addressing mode if the edit exit module DSQUEDIT has a 24-bit addressing mode.
We recommend 31-bit addressing mode.
The following are example statements for assembling and link-editing your job for TSO, or native OS/390.
//samPLI JOB //STEP1 EXEC IEL1CL //* Provide Access to QMF Edit Macro DXEECSP //PLI.SYSLIB DD DSN=QMF720.SDSQUSRE,DISP=SHR //PLI.SYSIN DD * . Your program or copy of QMF sample DSQUXDTP . /* //* Provide Access to QMF Interface Module //LKED.QMFLOAD DD DSN=QM720.SDSQLOAD,DISP=SHR //LKED.SYSIN DD * INCLUDE QMFLOAD(DSQUXIP) INCLUDE QMFLOAD(DSQUPLI) ENTRY DSQUXIP MODE AMODE(31) RMODE(ANY) NAME DSQUEDIT(R) /*
The IBM-supplied example edit exit program in PL/I, named DSQUXDTP, is located in QMF sample library QMF720.SDSQSAPE. The example program is heavily commented; it can be browsed online, printed, or modified to meet your needs. If you plan to use this example program, copy it to your program library and change its name to DSQUXDT.
[ Previous Page | Next Page | Contents | Index ]