CICS interface configuration
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.
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 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:
- Set &FSTOUT to ’YES’.
- 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.