Workstation database server users: After installation, these synonyms appear in the table Q.COMMAND_SYN_TSO.
A printed report does not look exactly as it does on-screen. For example, the displayed report is treated as a single page even with one or more page breaks in the printed report.
The differences between the printed report and its displayed version are largely cosmetic; the facts and figures on the screen and those on the printed page are the same. However, the differences can be important. (For more detailed information about the differences, see the Using QMF manual.) IBM supplies the QMF application DPRE to display the report as it will look when printed. After QMF is installed, the application can be invoked using a command stored in the Q.COMMAND_SYNONYMS table. The application is shared for everyone's use.
DPRE components under TSO are a procedure named Q.DSQAER1P in the database and a CLIST named DSQABR13 in the library QMF720.SDSQCLTE.
To use DPRE, load the DATA object with the report data and the FORM object with the appropriate form, then issue the command:
DPRE
The application then generates the printer output and displays it through the ISPF browse facility. After you are done browsing, the printer output disappears.
If you are using an NLF: Issue the translated command synonym for DPRE to display printed reports. For example, the translated German command synonym for DPRE is AGB. For the translated command synonym for DPRE in the other language environments, see the Q.COMMAND_SYNONYM_n control table or the translated online help for the command.
The LENGTH parameter for the report being browsed is taken from PROFILE. The WIDTH parameter specified in PROFILE is used if it is less than 132 (lrecl); otherwise, a width of 132 (lrecl) is used because this is the length specified in the TSO allocate statement. If 132 is too small, the TSO allocate statement for DSQPRINT can be changed to accommodate a larger width.
The design of QMF encourages users to develop their printed reports by alternately modifying the FORM panels and displaying REPORT, until the report suits the user's needs. With DPRE, the user can alternate changing the FORM panel and browsing the tentative report with DPRE. Users should be aware, however, that this method of development is more expensive than the first method, and should be used sparingly when resources are at a premium.
For a large report, all the rows of the report are fetched before the report is displayed.
DSQPRINT is the ddname for the data set that receives output from QMF PRINT commands in which PRINTER=' ' is either expressed or implied. When a user runs DPRE, DSQPRINT is redefined as the data set that holds the material to be browsed. If an error stops the run, this definition might still be in effect.
Important: When making modifications to any file, first rename it and be sure to keep backup copies of original and modified files.
Under TSO, you can change two areas in DPRE:
The application reallocates DSQPRINT as a sequential data set created for the user. This data set contains the printed form of the report for the user to browse. You can change the name of this data set and its disposition.
To modify the function keys for DPRE, you must edit the QMF PROC Q.DSQAER1P and QMF720.SDSQCLTE(DSQABR13). For example, if you want to change the DPRE application function key 12 from CURSOR to RETRIEVE, you need to do both of the following:
After a user finishes browsing the report, DSQPRINT must be reallocated to what it was before the application was called. The following statements in the application do this for you. They are in the procedure DSQAER1P.
ADDRESS TSO "ATTR DSQDPRA LRECL(133) RECFM(F B A) BLKSIZE(1330)" ADDRESS TSO "ALLOC DDNAME(DSQPRINT) SYSOUT(A) USING(DSQDPRA)"
You can change the ALLOC statement. For example, you can change the output class for DSQPRINT from A to C. You might want to do this if output class C handles confidential printouts and most QMF reports at your installation are confidential. The modified ALLOC statement looks like this:
ADDRESS TSO "ALLOC DDNAME(DSQPRINT) SYSOUT(C) USING(DSQDPRA)"