Using QMF services for printing in CICS

To use QMF services to handle printing, specify the type of storage you want to use and provide CICS with a name for the storage.

Choosing between temporary storage queues and transient data queues

CICS temporary storage queues are limited to 32, 767 rows of output. They route data only to local print destinations. If you use temporary storage, you need to write a program that routes the data from the queue to the transient data queue, or view the report online with the CICS-supplied transaction CEBR.

CICS transient data queues are limited only by the amount of storage associated with the CICS DCT before CICS is started. You can define the transient data queue as an intrapartition or extrapartition data queue. You can use transient data queues to print data to a data set or SYSOUT class. Some intrapartition data queues are limited to 32,767 rows.

Using the PRINT command to route output to queues

You can specify on the QMF PRINT command both the name of the queue and the type of storage defined for that queue. For example, to print a report to a temporary storage queue named XYZ, enter this command:

PRINT REPORT (QUEUET=TS,QUEUEN=XYZ

To print from a transient data queue named XYZ, you can enter the following command. Ensure that the transient data queue is defined to CICS before its first use.

PRINT REPORT (QUEUET=TD,QUEUEN=XYZ

QUEUET and QUEUEN are abbreviations for QUEUETYPE and QUEUENAME.

QMF issues an ENQ statement on the queue name to prevent writing to the queue if another program is using it. If the name is already enqueued by another application, CICS indicates to QMF that the queue is unavailable at that time. Use the SUSPEND (S) keyword to tell QMF what to do when the queue is unavailable. Use the value YES (or Y) to hold the report until the queue is available, then write to it. For example:

PRINT REPORT (QUEUET=TS,QUEUEN=XYZ,S=YES

The value NO is the default and cancels the PRINT command, returning a message to the user.

Using global variables to define queues for printing

If you do not specify a value on the PRINT command, QMF uses values stored in the global variables DSQAP_CICS_PQNAME and DSQAP_CICS_PQTYPE.

Set the global variable DSQAP_CICS_PQTYPE to TS if you are using temporary storage queues for printing, and TD if you are using transient data queues. TS is the default.

Use the global variable DSQAP_CICS_PQNAME to define the name of the temporary storage or transient data queue. Names for transient data queues can be from 1 to 4 bytes. Names for temporary storage queues can be from 1 to 8 bytes. The default temporary storage queue name is DSQPnnnn, where nnnn is the user's 4 byte CICS terminal ID. For example, DSQPA085 is a valid name.

Printing from a CICS temporary storage queue

If you set up your environment to route print output to temporary storage queues, you need to write a transaction that routes the output from the queue to a printer. The QMF user can then start the print transaction by using the CICS command. Any subsequent print command from the same terminal uses the same queue name, appending the previous report.

Viewing a report from a CICS temporary storage queue

You can view a report with the CICS-supplied transaction CEBR.

[ Previous Page | Next Page | Contents | Index ]