This document describes the special considerations for CICS.
This document covers the following topics:
Printing using a local CICS printer is accomplished by programs ACSBEG46 and ACSSPL46, which run under the CICS host system. ACSBEG46 is related to the transaction AB46, and ACSSPL46 to the transaction AP46.
Any printer to be used must be defined in the TIBTAB of the Com-plete target system with the related 4 Byte CICS termid and the corresponding CICS pseudo-DBID (see the ACSDEF subtable). For example:
TIBT TIBSTART NOTIBS=100 * * Define a standard ACCESS printer TIB 2,ACCESS,3288L,NAME=P001,GROUP=(ALL=NO),NODEID=127 * Define an SCS-ACCESS printer TIB 3,ACCESS,3288L,NAME=P002,GROUP=(ALL=NO),NODEID=127,OPT=(SCS) * Define a Graphics ACCESS printer TIB 4,ACCESS,3287L,NAME=P003,GROUP=(ALL=NO),NODEID=127,OPT=(SCS) TIBEND
TIBT TIBSTART NOTIBS=100 * * Define a standard ACCESS printer TIB 2,ACCESS,3288L,NAME=P001,GROUP=(ALL=NO),NODEID=127 * Define an SCS-ACCESS printer TIB 3,ACCESS,3288L,NAME=P002,GROUP=(ALL=NO),NODEID=127,OPT=(SCS) * Define a Graphics ACCESS printer TIB 4,ACCESS,3287L,NAME=P003,GROUP=(ALL=NO),NODEID=127,OPT=(SCS) TIBEND
Note that only printers must be defined in the TIBTAB. Com-plete allocates TIB entries for terminal devices dynamically.
Program ACSBEG46 communicates with the Com-plete target system to determine whether any printout is queued for this local CICS printer. If printout is queued, it starts the program ACSSPL46 which actually performs the printing on the host side.
If ACSBEG46 is started via the PLT entry suffix=in, it initiates itself with interval control, using a delay of one minute.
If any error occurs, for example, if the printer is not in service or has no ATI specified, the transaction AB46 does not attach the AP46 transaction and an appropriate error message is logged to the temporary storage queue TPFE.
You can read all messages with the browse command CEBR TPFE from CICS in the temporary storage called TPFE. If AB46 is started from a terminal, the message:
ACS5008 - ACSBEG nnn task(s) attached
is displayed at the terminal, where nnn is the number of AP46 tasks started.
Messages are also written to the transient data queue called TPFE, and this is printed in the SYSLOG of CICS if any destination is given in the DCT table for the name TPFE. The destination can be specified directly or indirectly in the table, so that the messages can be routed together with other messages to a data set, or you can specify a special data set for your TPF printer messages.
Note that ACSSPL46 is a standard CICS command level program and assumes that the correct CICS definitions have been made for any output device it uses. This is especially true in an MRO environment when ACSSPL46 runs in the AOR and the printers are serviced in the TOR. It is the responsibility of the CICS definitions to ensure that the output is routed to the remote printers correctly.
By default, TPF runs in pseudo-conversational mode under CICS. In this mode, the user may encounter a well-known CICS problem relating to upper-case translation..
Upper-case translation in CICS is fixed throughout a session on a terminal basis, rather than being dynamic on an individual transaction basis. When CICS upper-case translation is in effect, the first screen received by a task is always translated to upper-case. In pseudo-conversational mode, this means that ALL screens are translated to upper-case since the ASIS option of an EXEC CICS RECEIVE applies only to the second and subsequent messages received for a transaction.
If, on the other hand, the user's terminal is defined to CICS without upper-case translation, then commands to initiate transactions (the transid) must be entered with the terminal shift key held down, since CICS does not recognize transaction IDs entered in lower-case.
The problem arises when the user's terminal has CICS upper-case translation enabled (FEATURE=UCTRAN in the TCT macro), but an individual transaction requires text to be entered and saved "as is".
TPF solves the problem of upper-case translation under CICS by calling a user-defined program called ACSUCTR to enable/reset upper-case translation.
A sample program ACSUCTR is provided on the TPF source data set. This example determines dynamically whether CICS upper-case translation is in effect for a terminal. If this is the case, the program deactivates upper-case translation for the terminal by modifying the terminal's TCTTE. The deactivation is in effect for the duration of the transaction.
The program works only if the terminal's TCTTE specifies UCTRAN. If this is not the case, ACSUCTR returns control immediately.
If ACSUCTR is in effect and a TPF program terminates abnormally, upper-case translation remains deactivated. ACSUCTR can be started manually by entering transid ACSU at the affected terminal.
Note:
You will know when this situation arises, as CICS will not
recognize transactions typed in lower-case.
The program ACSUCTR and the transaction ACSU must be defined in the PPT and PCT respectively (see the installation instructions for the CICS environment in this documentation). If these definitions are not made, the TPF upper-case translation facility is disabled.
With CICS releases after version 3.3 the problem with upper-case translation has been resolved in CICS itself. It is possible to define upper-case translation for the terminal and transaction separately. Using Resource Definition Online (CEDA) you should define TERMTYPE UCTRAN (TRANID) and PROFILE UCTRAN (NO) for the TPF transactions. For more information about these parameters, please consult the appropriate CICS documentations.
The program ACSUCTR and transaction ACSU are redundant under CICS 3.3 and later, and should not be installed.