Customize CICS Transaction Server

Customize CICS Transaction Server
tpxsm
Unlike most other applications, CICS does not use the VTAM-supplied description of a terminal when a user initiates a session. Instead, CICS uses a special module called the Terminal Control Table (TCT) to determine terminal characteristics. You provide the description for each terminal that a user may use to initiate a CICS session. This restricts the freedom of the remote operator to move terminals around on the 3x74 controller.
When the terminal logs on to CICS, it must have the characteristics that CICS expects it to have based on the TCT entry for the terminal. When this product starts a session with an application, it normally selects the next available virtual terminal. Therefore, if a user is logging on from a model 2 terminal, the product may select a virtual terminal that is defined in the CICS TCT as a model 3 terminal. The result would be session failure or incorrect screen output.
Each TYPETERM definition must be installed before or at the same time as the TERMINAL definitions that reference it. When using CEDA to install groups, if the TYPETERMs are in a separate group from the TERMINALs, the TYPETERMs group must be installed before the TERMINALs. Changing a TYPETERM definition and then reinstalling it has no effect on an already installed terminal entry, even though the TERMINAL definition used to create it refers to the TYPETERM. To change the terminal entry, both the TYPETERM and the TERMINAL need to be reinstalled.
Create an Application Definition
To create an application definition for CICS
  1. In the Type field of the ACT, specify UNQ (if you are using EXEC CICS PASS) or GRP (if you are not using EXEC CICS PASS).
    If you are not using the RDO feature of CICS to dynamically define TCT entries, follow
    only
    steps 2 through 5 of the procedure Creating an Application Definition in this section.
  2. If you are using EXEC CICS PASS, specify Y in the Keep virtual terminal field of the ACT.
  3. If you are using EXEC CICS PASS, specify Y in the Issues CLSDST PASS field of the ACT.
  4. If you are using EXEC CICS PASS and want the startup ACL program to converse with the first CICS application, you must specify Y in the Start ACL prior to CLSDST PASS field of the ACT.
Use the CICS RDO Feature
The RDO (Resource Definition Online) feature of CICS allows users to use an online transaction, CEDA, to define terminals to CICS, starting at r1.7 of CICS. For CICS/ESA 3.1 and beyond, VTAM terminals must be defined using RDO, and cannot be done using the old DFHTCT macros. In general, for each DFHTCT operand, there is an equivalent CEDA parameter. You must create both a TERMINAL definition, which contains information specific to a particular terminal, and a TYPETERM definition, which contains generic information common to most terminals of a particular type.
TERMINAL Definition
A typical RDO TERMINAL definition would look like this:
DEFINE TERMINAL(CICS termid) GROUP(TPX) AUTINSTMODEL(NO) TYPETERM(TPXRDO) NETNAME(Virtual terminal name) PRINTER(?) INSERVICE(YES)
The PRINTER parameter may be used in conjunction with the Passthrough Print Management facility. For information on this facility, see User Passthrough Printer.
TYPETERM Definition
The corresponding RDO TYPETERM definition would look like this:
DEFINE TYPETERM(TPXRDO) GROUP(TPX) DEVICE(LUTYPE2) TERMMODEL(2) DEFSCREEN(24,80) ALTSCREEN(terminal-dependent) QUERY(ALL) SENDSIZE(0) RECEIVESIZE(0) LOGMODE(0) AUTOCONNECT(NO) ATI(YES) TTI(YES) CREATESESS(NO) RELREQ(NO) DISCREQ(YES) LOGONMSG(YES) IOAREALEN(1920,4096)
Use CICS Autoinstall
CICS includes (as part of its RDO component) a dynamic TCT facility, which allows CICS to use terminals that have not been defined in the TCT. This facility uses the VTAM bind image to define the terminal.
Similar TCT definitions are required for the Autoinstall process. A suitable model is required for Autoinstall; an exactly matching definition for the VTAM logmode is required for the TYPETERM. CICS checks the incoming CINIT with all its models and, if none match, no Autoinstall is allowed. If you are using Autoinstall, you should use the following definitions. They will match the mode table entries.
DEFINE TERMINAL(any unique ID) GROUP(TPX) AUTINSTMODEL(ONLY) TYPETERM(AUTTPXnn) INSERVICE(YES) DEFINE TYPETERM(AUTTPXnn) GROUP(TPX) DEVICE(LUTYPE2) TERMMODEL(2) DEFSCREEN(24,80) ALTSCREEN(x,y) QUERY(ALL) SENDSIZE(0) RECEIVESIZE(0) LOGMODE(0) AUTOCONNECT(NO) ATI(YES) TTI(YES) CREATESESS(NO) RELREQ(NO) DISCREQ(YES) LOGONMSG(YES) IOAREALEN(1920,4096)
Parameter Values
Use the following guidelines to determine the values of the TYPETERM, ALTSCREEN, and QUERY parameters:
If nn=...
then...
02
x,y=0,0 and specify QUERY(NO)
20
x,y=0,0
22
x,y=24,80
23
x,y=32,80
24
x,y=43,80
25
x,y=27,132
These are minimum specifications for the Autoinstall models. Other models will be required depending on other features that may be installed on the 3x74 controllers or 3270 screens. For more information, see IBM documentation.
There must be an Autoinstall model for each different PSERVIC that might be used to bind to CICS. The standard CA TPX logmode entry uses zero PSERVIC screen sizes. For sample logmode entries to be used with CICS Autoinstall, see TPXLGMOD in TPX.CB0VSRC.
LOGMODE Parameter
Under normal circumstances, CICS ignores the VTAM-supplied CINIT and builds a BIND image based on some of the other DFHTCT or TYPETERM parameters. You can overcome this by specifying LOGMODE=0 in the DFHTCT or LOGMODE(0) in the RDO TYPETERM.
Specifying a LOGMODE prevents CICS from building its own BIND image but does not inhibit any of the other parameters that CICS normally uses to build the BIND. The CICS internal logic ignores the VTAM-supplied information and assumes that the coded TCT parameters are correct.
This situation is typically not a problem, but when large data streams such as those generated by graphics applications or expected by the CEDF transaction that uses the 3270 Read Buffer command, CICS transactions can be confused and various error conditions including ATNI abends can be expected. If you omit the conflicting parameters in the TCT, CICS will pay attention to the VTAM CINIT values. The CINIT provided by this product to CICS is optimized for both network and CA TPX behavior. CICS ignores the VTAM BIND parameter and uses the TCT definitions.
Because this product is not notified of the CICS TCT parameter, do the following to avoid ATNI or AEDF abends:
  • If you specify LOGMODE=0, specify BUFFER=0,RUSIZE=0.
  • If you specify LOGMODE=
    name
    , do not specify BUFFER or RUSIZE.
Use Passthrough Printing
If you are taking advantage of the Passthrough Printing facility, you can use the RDO PRINTER parameter to associate a virtual printer with a virtual terminal. You can then use the User Passthrough Printer Table Mask to associate the virtual printer to the user. CA TPX will use the printer name supplied in the user definition or Terminal Options Table to determine which actual printer to use to complete the print operation.
If you use a compiled printer table in your CICS transactions to allocate printers, you may allocate virtual printers to virtual terminals and use the Printer Selection exit to use the same tables directly from CA TPX. For more information, see Printer Selection Exit.
CICS RDO TERMINAL Parameters
The following CICS RDO TERMINAL parameters affect this product's execution:
  • TERMINAL(CICS termid)
    Specifies the 4-byte CICS terminal ID. In the case of an Autoinstall model, this parameter is not used, so you can specify any unique name.
  • GROUP(TPX)
    Groups definitions together. You can specify any name, but if possible, specify one that indicates these are CA TPX definitions.
  • AUTINSTMODEL (NO|ONLY)
    Tells whether the TERMINAL definition is for an Autoinstall model. Possible values are:
    • NO
      Indicates that the terminal is not used as an Autoinstall model.
    • ONLY
      Indicates that the terminal is used only as an Autoinstall model.
  • TYPETERM(typeterm-name)
    Points to the corresponding TYPETERM definition for this terminal. Note that for Autoinstall, CICS searches through TYPETERM names alphanumerically and sometimes selects an existing TYPETERM for a virtual terminal before TYPETERM. Therefore, it may be necessary to name the TYPETERM so that it is alphanumerically in front of any of your other TYPETERM definitions.
  • NETNAME(VTAM luname)
    VTAM luname of the virtual terminal. In the case of an Autoinstall model, this parameter is not used, so you can specify any unique name.
  • PRINTER(printerid)
    CICS terminal ID of associated printer.
  • NSERVICE(YES)
    Specifies that the terminal must be in service to CICS, or logons will not be successful.
CICS RDO TYPETERM Parameters
The following TYPETERM parameters affect this product's execution:
  • TYPETERM(typeterm-name)
    Name of this TYPETERM definition. Note that for Autoinstall, CICS searches through TYPETERM names alphanumerically and sometimes selects an existing TYPETERM for a virtual terminal before TYPETERM. Therefore, it may be necessary to name the TYPETERM so that it is alphanumerically in front of any of your other TYPETERM definitions.
    For more information, see the
    CICS Resource Definition
    document.
  • GROUP(TPX)
    Groups definitions together. You can specify any name, but if possible, specify one that indicates these are CA TPX definitions.
  • DEVICE(LUTYPE2)
    This parameter must be specified as LUTYPE2 for all virtual terminals.
  • TERMMODEL(2)
    This parameter must be specified as 2 for all virtual terminals.
  • DEFSCREEN(24,80)
    The primary screen size for the virtual terminal. This should always be 24,80.
  • ALTSCREEN(x,y)
    The alternate screen size of the virtual terminal. This will vary depending on the logmode used to log on to CICS. For example, for a model 2, this would be 24,80.
  • QUERY(ALL)
    Indicates whether the terminal supports the Read Partition Query data stream. This allows CICS to query the terminal to see what extended options the terminal supports, such as EXTENDEDDS, COLOR, and HILIGHT. For this product, all virtual terminals that use a logmode ending in E can be queried. Specify this parameter as N if the terminal cannot be queried. Specify this parameter as Y if the terminal can be queried.
  • SENDSIZE(0)
    Indicates the maximum size of data that CICS should send to the virtual terminal.
    Always
    specify this value as 0, which causes CICS to use the appropriate RUSIZE from the logmode entry used to log on to CICS. If you do specify a value other than 0, it
    must
    match the appropriate RUSIZE in the logmode entry.
  • RECEIVESIZE(0)
    Indicates the maximum size of data that CICS will receive from the virtual terminal. Always specify this value as 0, which causes CICS to use the appropriate RUSIZE from the logmode entry used to log on to CICS. If you do specify a value other than 0, it must match the appropriate RUSIZE in the logmode entry.
  • LOGMODE(0)
    Determines the BIND parameters used by CICS when starting a session with the virtual terminal.
    Always
    specify this value as 0, which causes CICS to use the values from the logmode used by the virtual terminal. If you do specify a logmode name, it should match the name used by the virtual terminal. If you specify this parameter as all blanks, CICS will build a BIND image on its own.
  • AUTOCONNECT(NO)
    Tells CICS whether the terminal should be logged on to CICS automatically when CICS starts up. This parameter
    must
    be specified as NO for virtual terminals.
  • ATI(YES)
    Tells CICS whether transactions can be automatically initiated at this virtual terminal. Specify YES for this parameter, especially if LOGONMSG(YES) is also specified for this virtual terminal. LOGONMSG(YES) causes the CICS good morning transaction (CSGM) to be initiated automatically at logon.
  • TTI(YES)
    Tells CICS whether transactions can be initiated by typing in the transaction ID from the terminal. Always specify YES, or users will not be able to start any CICS transactions from this virtual terminal.
  • CREATESESS(NO)
    Tells CICS whether it should try to start a session with this virtual terminal if none exists, but a transaction has been started using ATI. You
    must
    specify NO for virtual terminals.
  • RELREQ(NO)
    Tells CICS whether it should release this virtual terminal upon receipt of a RELREQ request from another VTAM application. Specify NO for virtual terminals.
  • DISCREQ(YES)
    Tells CICS whether it should allow the virtual terminal to disconnect from CICS. Specify YES, so that a CESF (or CSSF) LOGOFF will allow the session with the virtual terminal to end.
  • LOGONMSG(YES)
    Tells CICS whether it should send the good morning message to the virtual terminal when it first logs on to CICS. This causes the CICS good morning transaction (CSGM) to be initiated by ATI, which also requires that you specify ATI(YES). Always specify YES, unless you always want the user to enter data first to CICS.
  • IOAREALEN(1920,4096)
    Tells CICS the size of the area used to hold data received from the terminal. The first value is the minimum size of the area CICS will acquire on input from a terminal. If the data received from the terminal is longer than the first value, CICS will use the second value to get storage for the data. If the data is longer than the second value, the transaction will abend. These two values are dependent on your applications and terminals.