CICS interface configuration

From m204wiki
Jump to navigation Jump to search

Overview of the CICS Interface

Teleprocessing monitor interfaces to Model 204 allow CICS complete access to Model 204 facilities and support for CICS pseudo conversational programs.

The Model 204 CICS Interface provides CICS users with a pseudo conversational version of the fullscreen and IFAM2 (Host Language and Remote User Language) interfaces of Model 204. The Model 204 CICS Interface allows no resources to be held by a task during a conversational iteration with the terminal operator.

The following figure illustrates the module configuration for the CICS Interface.

CICS Interface module configuration

Storage requirements

Storage requirements for the CICS Interface are shown in the following table.

Shared subpool Task subpool
Bytes Control block Bytes Control block
52 (34) CRAM ICB 1920 (780) Screen buffer
56 (38) OBSTOR 2140 (85C) CRAM buffer
568 (238) Save area PDL
248 (F8) Abend PDL
33 (21) BIND area
856 (358) OBSTOBX work area
304 (130) COMMAREA
1837 (72D) 4060 (FDC)
33 (21) BIND area
1804 (70C)

The following considerations apply to the storage requirements:

  • BIND area is used only during initial invocation; it is then released via a FREEMAIN command.
  • Buffers are used only during a task via a GETMAIN command from the task (isolated) storage subpool.
  • Control blocks are from the shared storage subpool and exist until the user logs off CICS.
  • Screen and CRAM buffer sizes are dependent on the model type and LOUTPB size specification, respectively. The total number of bytes varies, because control blocks are allocated on a doubleword boundary that can result in a small increase.

CICS interface components

The following table lists the subset of Model 204 CICS Interface components that you might need to identify during the installation process.

CICS interface components

Component Purpose Usage comments
CICFG COPY file Specify installation-specific parameters.
IFENTPS IFAM2 application program interface module Must be linked with the CICS user program and can be used with either a macro- or command-level version of the CICS Interface. The version is determined by a conditional assemble switch contained in CICFG.
IFIF
IFIFDOS (for VSE)
Supports IFAM2
IFPPCI Interface for process-to-process applications Must be linked with CICS user program.
IFPS CICS appendage to IFIF
M204PRNT Printing offline copies of 3270 screens to printer
OBCIPR Remote printer support
OBIF Outboard terminal interface
OBIFPS Full-screen 3270 access to Model 204 from CICS
OBPLTSD Closes any full-screen and IFAM CRAM threads using CICS termination Must be added to the CICS PLT shutdown table.

Use the CICS Standard Mapping Service

Running with storage protection on

If you are running CICS 3.3 or later with storage protection on, you must do the following to avoid ABENDs:

  • If you are using the IFAM interface, define the program DFHPSF with EXECKEY set to CICS.
  • If you are using the full-screen interface, define the program M204PSFS with EXECKEY set to CICS.
  • Define the program OBPLTSD with EXECKEY set to CICS.
  • Define all process-to-process programs (those linked to IFPPCI) with EXECKEY set to the same value as the EXECKEY for M204PSFS—either both CICS or both USER.

Preventing A03 abends

To prevent A03 abends during CICS shutdown, or to control the closing of CRAM channels after a terminal is powered off, or to control a hardware failure while the pseudo conversational facility is in use, set the &CLRTMCH option in CICFG to ‘YES’.

The following temporary storage queues are built in main storage:

  • term_id||PSFS, which contains the address of the CRAM ICB. The CRAM ICB is used in the next invocation of the interface program to close the CRAM channel left hanging by a terminal failure.
  • CRAMM204, which contains the address for the CRAM manager storage area. The storage area contains the addresses to both full-screen and IFAM CRAM ICB chains.
  • Add program OBPLTSD to the CICS PLT termination list and link before DFHDELIM (if present). During CICS shutdown, OBPLTSD reads the CRAM manager storage area and closes any open full-screen and IFAM CRAM threads.

Using direct printer support

Setting the Model 204 user parameter WAITTIME equal to zero causes the printing to be spooled by CICS, regardless of the printer’s availability.

A WAITTIME greater than zero causes M204PSFS to make sure that the printer task acquires the printer before continuing.

The &PRTWAIT parameter in CICFG causes M204PSFS to wait until the printing is physically completed on the printer. &PRTWAIT is ignored if WAITTIME equals zero.

Not running IFAM2 at command level

In CICFG, set &IFCALLR to ‘MACRO’ if you are not running IFAM2 at command level.

Using the DEBUG option

To use the DEBUG option, set &TRACE SETC to ‘YES’. DEBUG turns on CICS TRACE entries.

Sharing CICS space

Specify the number of bytes to displace the Model 204 area using &IFTWADP SETC ‘n’.

  • The IFAM2 interface requires 87 bytes of CICS TWA area. The Model 204 TWA area may be displaced within the TWA area if application programs require the TWA area. The displacement value must be expressed in multiples of four, because the Model 204 TWA area aligns on a full-word boundary.
  • Make sure that you assemble both IFENTPS and IFPS with the same CICFG copy member values. The TWA area is used to pass parameters between the two and, thus, must reference the same area.

    Your site might have several compatible versions of IFENTPS and IFPS for applications that use different TWA areas/sizes. To make sure that IFENTPS and IFPS are generated in compatible sets, specify in the CICFGT copy member (&IFAM2LM) the CICS load module name and the IFENTPS name for the IFENTPS/IFPS pair.

    For example, consider a version of IFENTPS that has its TWA area displaced by 20 bytes and needs to link to a version of IFPS that also expects its TWA area to be displaced by 20 bytes. If the reference to the TWA area is the same, both a macro- and a command-level version of IFENTPS can then reference the same copy of IFPS.

Running COBOL II applications

If you run CICS IFAM2 applications written in COBOL II, set the &IFABEND parameter in CICFG to NO. This prevents the ABEND handler in IFENTPS from causing ASRAs.

If you do this, you might want to include an ABEND handler routine in your COBOL II applications to prevent hanging threads after an ABEND. If you do, the ABEND handler routine must issue an IFFNSH call.

Making M204PSFS resident

M204PSFS can be made resident and loaded at initialization using the Application Load Table (ALT) for performance and space considerations. Make M204PSFS resident only if you use it frequently and you have sufficient storage space.

Full-screen thread timeout option (z/VSE systems)

Model 204 provides a CICS full-screen thread timeout option, which you can activate in the CICFG file. Be sure to evaluate its appropriateness for your site.

To use this option:

  1. Set &FSTOUT to ’YES’.
  2. Provide a timeout value in seconds for &FSTTIME.

Using a dynamic storage area optimizer

If a dynamic storage area optimizer is installed in CICS (XA-REB), do not optimize Model 204 programs. The package relieves dynamic storage constraints by loading nonresident programs above the 16-megabyte line. If Model 204 programs are optimized, the results are unpredictable.

Not using PRINT=PAI

Do not use PRINT=PA1 in the SIT definition.

PA1 is the Model 204 cancel request key. If PRINT=PA1 is specified, the print request is satisfied, and CICS discards the PA1 EIBAID when the transaction is started.

Choosing BMS paging commands

BMS paging commands, which are defined in the SIT, should be chosen with care.

For example, if a line command is entered anywhere other than the first position when using the Model 204 full-screen editor, and an equal sign is the CICS paging command, a data stream is generated with an equal sign as the leading data character. Because CICS passes control to BMS before passing control to the user transaction, a paging command is assumed, and BMS attempts to satisfy that request.

Specify BMS=STANDARD in the SIT if full BMS and paging are not requirements.

Setting the LOUTPB parameter

The LOUTPB parameter for IODEV=11 determines the CRAM buffer size. It is sufficient to set the LOUTPB value slightly larger than the screen size for the 3270 model type used. If users are resetting model types, set LOUTPB to match the largest screen size.

For example, the screen size for a model 2 is 1920 bytes, and LOUTPB can be set at 2000.