CICS interface configuration: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
m (add links)
 
(9 intermediate revisions by 3 users not shown)
Line 3: Line 3:
to Model 204 facilities and support for CICS pseudo conversational programs.
to Model 204 facilities and support for CICS pseudo conversational programs.


The Model 204 CICS Interface provides CICS users (Release 3.3 and later and
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
Transaction Server releases) 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
Model 204. The Model 204 CICS Interface allows no resources to be held by a
task during a conversational iteration with the terminal operator.
task during a conversational iteration with the terminal operator.
Line 11: Line 9:
The following figure illustrates the module configuration for the CICS Interface.
The following figure illustrates the module configuration for the CICS Interface.


[[File:CICS_interface_module_config.gif|border]]
<p class="caption" style="width:417px">CICS Interface module configuration</p>
 
<p class="figure" style="width:417px">[[File:CICS_interface_with_VSE.gif|border]]</p>
<p class="caption" style="margin-right:15em">CICS Interface module configuration</p>


==Storage requirements==
==Storage requirements==
Storage requirements for the CICS Interface are shown in the following table.  
Storage requirements for the CICS Interface are shown in the following table.  
<table>
<table>
<tr><th>Shared subpool</th><th /> <th>Task subpool</th> <th /></tr>
<tr class="head"><th colspan="2">Shared subpool</th>  
<tr><th>Bytes</th> <th>Control block</th> <th>Bytes</th> <th>Control block</th></tr>
<th colspan="2">Task subpool</th> </tr>
<tr class="head"><th>Bytes</th> <th>Control block</th> <th>Bytes</th> <th>Control block</th></tr>
 
<tr><td>52 (34)</td> <td>CRAM ICB</td> <td>1920 (780)</td> <td>Screen buffer</td></tr>  
<tr><td>52 (34)</td> <td>CRAM ICB</td> <td>1920 (780)</td> <td>Screen buffer</td></tr>  
<tr><td>56 (38)</td> <td>OBSTOR</td> <td>2140 (85C)</td> <td>CRAM buffer</td></tr>
<tr><td>56 (38)</td> <td>OBSTOR</td> <td>2140 (85C)</td> <td>CRAM buffer</td></tr>
<tr><td>568 (238)</td> <td>Save area PDL</td><td /> <td /></tr>
<tr><td>568 (238)</td> <td>Save area PDL</td><td /> <td /></tr>
<tr><td>248 (F8)</td> <td>Abend PDL</td><td /> <td /></tr>
<tr><td>248 (F8)</td> <td>Abend PDL</td><td /> <td /></tr>
<tr><td>33 (21)</td> <td>BIND area</td><td /> <td /></tr>
<tr><td>33 (21)</td> <td>BIND area</td><td /> <td /></tr>
<tr><td>856 (358)</td> <td>OBSTOBX work area</td><td /> <td /></tr>
<tr><td>856 (358)</td> <td>OBSTOBX work area</td><td /> <td /></tr>
<tr><td>304 (130)</td> <td>COMMAREA</td> <td /> <td /> </tr>
<tr><td>304 (130)</td> <td>COMMAREA</td> <td /> <td /> </tr>
<tr><td>1837 (72D)</td> <td /> <td>4060 (FDC)</td> <td /></tr>
<tr><td>1837 (72D)</td> <td /> <td>4060 (FDC)</td> <td /></tr>
<tr><td>33 (21)</td> <td>BIND area</td> <td /> <td /> </tr>
<tr><td>33 (21)</td> <td>BIND area</td> <td /> <td /> </tr>
<tr><td>1804 (70C)</td> <td /> <td /> <td /> </tr>
<tr><td>1804 (70C)</td> <td /> <td /> <td /> </tr>
</table>
</table>
The following considerations apply to the storage requirements:
The following considerations apply to the storage requirements:
<ul>
<ul>
<li><var class="term">BIND area</var> is used only during initial invocation; it is then released via a
<li><var class="term">BIND area</var> is used only during initial invocation; it is then released via a FREEMAIN command.</li>
FREEMAIN command.</li>
 
<li><var class="term">Buffers</var> are used only during a task via a GETMAIN command from the task
<li><var class="term">Buffers</var> are used only during a task via a GETMAIN command from the task (isolated) storage subpool.</li>
(isolated) storage subpool.</li>
 
<li><var class="term">Control blocks</var> are from the shared storage subpool and exist until the user
<li><var class="term">Control blocks</var> are from the shared storage subpool and exist until the user logs off CICS.</li>
logs off CICS.</li>
 
<li><var class="term">Screen and CRAM buffer</var> sizes are dependent on the model type and
<li><var class="term">Screen and CRAM buffer</var> sizes are dependent on the model type and <var>LOUTPB</var> size specification, respectively. The total number of bytes varies,
LOUTPB size specification, respectively. The total number of bytes varies,
because control blocks are allocated on a doubleword boundary that can
because control blocks are allocated on a doubleword boundary that can
result in a small increase.</li>
result in a small increase.</li>
Line 51: Line 59:
<b>CICS interface components</b>
<b>CICS interface components</b>
<table>
<table>
<tr><th>Component</th> <th>Purpose</th> <th>Usage comments</th></tr>
<tr class="head"><th>Component</th> <th>Purpose</th> <th>Usage comments</th></tr>
 
<tr><td>CICFG</td> <td>COPY file</td> <td>Specify installation-specific parameters.</td></tr>
<tr><td>CICFG</td> <td>COPY file</td> <td>Specify installation-specific parameters.</td></tr>
<tr><td>IFENTPS</td> <td>IFAM2 application program interface module</td> <td>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.</td></tr>
<tr><td>IFENTPS</td> <td>IFAM2 application program interface module</td> <td>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.</td></tr>
<tr><td>IFIF</td> <td>Supports IFAM2</td> <td /></tr>
 
<tr><td style=white-space:nowrap>IFIF <br />IFIFDOS (for VSE)</td> <td>Supports IFAM2</td> <td /></tr>
 
<tr><td>IFPPCI</td> <td>Interface for process-to-process applications</td> <td>Must be linked with CICS user
<tr><td>IFPPCI</td> <td>Interface for process-to-process applications</td> <td>Must be linked with CICS user
program.</td></tr>
program.</td></tr>
<tr><td>IFPS</td> <td>CICS appendage to IFIF</td> <td /></tr>
<tr><td>IFPS</td> <td>CICS appendage to IFIF</td> <td /></tr>
<tr><td>M204PRNT</td> <td>Printing offline copies of 3270 screens to printer</td> <td /></tr>
<tr><td>M204PRNT</td> <td>Printing offline copies of 3270 screens to printer</td> <td /></tr>
<tr><td>OBCIPR</td> <td>Remote printer support</td> <td /></tr>
<tr><td>OBCIPR</td> <td>Remote printer support</td> <td /></tr>
<tr><td>OBIF</td> <td>Outboard terminal interface</td> <td /></tr>
<tr><td>OBIF</td> <td>Outboard terminal interface</td> <td /></tr>
<tr><td>OBIFPS</td> <td>Full-screen 3270 access to Model 204 from CICS</td> <td /></tr>
<tr><td>OBIFPS</td> <td>Full-screen 3270 access to Model 204 from CICS</td> <td /></tr>
<tr><td>OBPLTSD</td> <td>Closes any full-screen and IFAM CRAM threads using CICS termination</td> <td>Must be added to the CICS PLT shutdown table.</td></tr>
<tr><td>OBPLTSD</td> <td>Closes any full-screen and IFAM CRAM threads using CICS termination</td> <td>Must be added to the CICS PLT shutdown table.</td></tr>
</table>
</table>


==Use the CICS Standard Mapping Service==
==Use the CICS Standard Mapping Service==
===Running with storage protection on===
===Running with storage protection on===
If you are running CICS 3.3 or later with storage protection on, you must do the
If you are running CICS with storage protection on, you must do the following to avoid ABENDs:
following to avoid ABENDs:
<ul>
<ul>
<li>If you are using the IFAM interface, define the program DFHPSF with
<li>If you are using the IFAM interface, define the program DFHPSF with
EXECKEY set to CICS.</li>
<code>EXECKEY</code> set to <code>CICS</code>.</li>
<li>If you are using the full-screen interface, define the program M204PSFS
 
with EXECKEY set to CICS.</li>
<li>If you are using the full-screen interface, define the program M204PSFS with <code>EXECKEY</code> set to <code>CICS</code>.</li>
<li>Define the program OBPLTSD with EXECKEY set to CICS.</li>
 
<li>Define the program OBPLTSD with <code>EXECKEY</code> set to <code>CICS</code>.</li>
 
<li>Define all process-to-process programs (those linked to IFPPCI) with
<li>Define all process-to-process programs (those linked to IFPPCI) with
EXECKEY set to the same value as the EXECKEY for M204PSFS—either
<code>EXECKEY</code> set to the same value as the <code>EXECKEY</code> for M204PSFS &mdash; either
both CICS or both USER.</li>
both <code>CICS</code> or both <code>USER</code>.</li>
</ul>
 
<blockquote class="note">
<p><b>Note:</b> If you are using [[Defining the user environment (CCAIN)#CRAM options for z.2FOS|CRAM-XDM]], you can run the above programs in <code>USER</code> key. However, to do so, you must link the CRAM-XDM M204X* modules with <code>PARM</code> value <code>RENT</code>. </p>
<ul>
<li>For Model&nbsp;204 version 7.5 and above, verify the presence of the <code>RENT</code> value for <code>PARM</code> in the STEPXMOD step in the LKCRAMJ link JCL. In earlier versions, the M204X* modules were not linked <code>RENT</code>.</li>
 
<li>For version 7.4 and below, relink M204XCRM using the LINKXCRM JCL in your JCL library with <code>PARM</code> value <code>RENT</code>. </li>
</ul>
</ul>
<p>
You will need to recycle the XDM region after bringing down all Model&nbsp;204 Onlines and CICS regions that use CRAM-XDM. </p>
</blockquote>
===Preventing A03 abends===
===Preventing A03 abends===
To prevent A03 abends during CICS shutdown, or to control the closing of
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
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
while the pseudo conversational facility is in use, set the <code>&CLRTMCH</code> option in CICFG to <code>YES</code>.
CICFG to ‘YES’.
<p>
<p>The following temporary storage queues are built in main storage:</p>
The following temporary storage queues are built in main storage:</p>
<ul>
<ul>
<li>term_id||PSFS, which contains the address of the CRAM ICB. The CRAM
<li>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
ICB is used in the next invocation of the interface program to close the
CRAM channel left hanging by a terminal failure.</li>
CRAM channel left hanging by a terminal failure.</li>
<li>CRAMM204, which contains the address for the CRAM manager storage
<li>CRAMM204, which contains the address for the CRAM manager storage
area. The storage area contains the addresses to both full-screen and
area. The storage area contains the addresses to both full-screen and
IFAM CRAM ICB chains.</li>
IFAM CRAM ICB chains.</li>
<li>Add program OBPLTSD to the CICS PLT termination list and link before
<li>Add program OBPLTSD to the CICS PLT termination list and link before
DFHDELIM (if present). During CICS shutdown, OBPLTSD reads the
DFHDELIM (if present). During CICS shutdown, OBPLTSD reads the
Line 99: Line 133:


===Using direct printer support===
===Using direct printer support===
Setting the Model 204 user parameter WAITTIME equal to zero causes the
Setting the Model&nbsp;204 user parameter <var>WAITTIME</var> equal to zero causes the
printing to be spooled by CICS, regardless of the printer’s availability.
printing to be spooled by CICS, regardless of the printer's availability.


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


The &PRTWAIT parameter in CICFG causes M204PSFS to wait until the
The <code>&PRTWAIT</code> parameter in CICFG causes M204PSFS to wait until the
printing is physically completed on the printer. &PRTWAIT is ignored if
printing is physically completed on the printer. <code>&PRTWAIT</code> is ignored if
WAITTIME equals zero.
<var>WAITTIME</var> equals zero.
 
===Not running IFAM2 at command level===
===Not running IFAM2 at command level===
In CICFG, set &IFCALLR to ‘MACRO’ if you are not running IFAM2 at command
In CICFG, set <code>&IFCALLR</code> to <code>MACRO</code> if you are not running IFAM2 at command level.
level.
 
===Using the DEBUG option===
===Using the DEBUG option===
To use the DEBUG option, set &TRACE SETC to ‘YES’. DEBUG turns on CICS
To use the DEBUG option, set <code>&TRACE SETC</code> to <code>YES</code>. DEBUG turns on CICS TRACE entries.
TRACE entries.
 
===Sharing CICS space===
===Sharing CICS space===
Specify the number of bytes to displace the Model 204 area using
Specify the number of bytes to displace the Model&nbsp;204 area using
&IFTWADP SETC ‘n’.
<code>&IFTWADP SETC 'n'</code>.
<ul>
<ul>
<li>The IFAM2 interface requires 87 bytes of CICS TWA area. The Model 204
<li>The IFAM2 interface requires 87 bytes of CICS TWA area. The Model&nbsp;204
TWA area may be displaced within the TWA area if application programs
TWA area may be displaced within the TWA area if application programs
require the TWA area. The displacement value must be expressed in
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
multiples of four, because the Model 204 TWA area aligns on a full-word
boundary.</li>
boundary.</li>
<li>Make sure that you assemble both IFENTPS and IFPS with the same
<li>Make sure that you assemble both IFENTPS and IFPS with the same
CICFG copy member values. The TWA area is used to pass parameters
CICFG copy member values. The TWA area is used to pass parameters
between the two and, thus, must reference the same area.
between the two and, thus, must reference the same area.
<p>Your site might have several compatible versions of IFENTPS and IFPS for
<p>
Your site might have several compatible versions of IFENTPS and IFPS for
applications that use different TWA areas/sizes. To make sure that
applications that use different TWA areas/sizes. To make sure that
IFENTPS and IFPS are generated in compatible sets, specify in the
IFENTPS and IFPS are generated in compatible sets, specify in the
CICFGT copy member (&IFAM2LM) the CICS load module name and the
CICFGT copy member (<code>&IFAM2LM</code>) the CICS load module name and the
IFENTPS name for the IFENTPS/IFPS pair.</p>
IFENTPS name for the IFENTPS/IFPS pair.</p>
<p>For example, consider a version of IFENTPS that has its TWA area
<p>
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
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
expects its TWA area to be displaced by 20 bytes. If the reference to the
Line 140: Line 178:


===Running COBOL II applications===
===Running COBOL II applications===
If you run CICS IFAM2 applications written in COBOL II, set the &IFABEND
If you run CICS IFAM2 applications written in COBOL II, set the <code>&IFABEND</code>
parameter in CICFG to NO. This prevents the ABEND handler in IFENTPS
parameter in CICFG to <code>NO</code>. This prevents the ABEND handler in IFENTPS from causing ASRAs.
from causing ASRAs.
<p>
<p>If you do this, you might want to include an ABEND handler routine in your
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 <var>IFFNSH</var> call.</p>
COBOL II applications to prevent hanging threads after an ABEND. If you do,
 
the ABEND handler routine must issue an IFFNSH call.</p>
===Making M204PSFS resident===
===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.
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)===
===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.
Model&nbsp;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:
To use this option:
<ol>
<ol>
<li>Set &FSTOUT to ’YES’.</li>
<li>Set <code>&FSTOUT</code> to <code>YES</code>.</li>
<li>Provide a timeout value in seconds for &FSTTIME.</li>
<li>Provide a timeout value in seconds for <code>&FSTTIME</code>.</li>
</ol>
</ol>


Line 160: Line 198:
If a dynamic storage area optimizer is installed in CICS (XA-REB), do not
If a dynamic storage area optimizer is installed in CICS (XA-REB), do not
optimize Model 204 programs. The package relieves dynamic storage
optimize Model 204 programs. The package relieves dynamic storage
constraints by loading nonresident programs above the 16-megabyte line. If
constraints by loading nonresident programs above the 16-megabyte line. If Model&nbsp;204 programs are optimized, the results are unpredictable.
Model 204 programs are optimized, the results are unpredictable.
 
===Not using PRINT=PAI===
===Not using PRINT=PAI===
Do not use PRINT=PA1 in the SIT definition.
Do not use <code>PRINT=PA1</code> in the SIT definition.


PA1 is the Model 204 cancel request key. If PRINT=PA1 is specified, the print
PA1 is the Model&nbsp;204 cancel request key. If <code>PRINT=PA1</code> is specified, the print
request is satisfied, and CICS discards the PA1 EIBAID when the transaction
request is satisfied, and CICS discards the PA1 EIBAID when the transaction is started.
is started.


===Choosing BMS paging commands===
===Choosing BMS paging commands===
Line 174: Line 211:


For example, if a line command is entered anywhere other than the first position
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
when using the Model&nbsp;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
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
data character. Because CICS passes control to BMS before passing control to
Line 180: Line 217:
satisfy that request.
satisfy that request.


Specify BMS=STANDARD in the SIT if full BMS and paging are not
Specify <code>BMS=STANDARD</code> in the SIT if full BMS and paging are not requirements.
requirements.


===Setting the LOUTPB parameter===
===Setting the LOUTPB parameter===
The LOUTPB parameter for IODEV=11 determines the CRAM buffer size. It is
The <var>LOUTPB</var> 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
sufficient to set the <var>LOUTPB</var> value slightly larger than the screen size for the
3270 model type used. If users are resetting model types, set LOUTPB to
3270 model type used. If users are resetting model types, set <var>LOUTPB</var> to match the largest screen size.
match the largest screen size.


For example, the screen size for a model 2 is 1920 bytes, and LOUTPB can be
For example, the screen size for a model 2 is 1920 bytes, and <var>LOUTPB</var> can be set at 2000.
set at 2000.
 
==See also==
<ul>
<li>[[Model 204 installation on IBM z/OS#Install the CICS interface|Installing the Model 204 CICS interface on z/OS]] </li>
 
<li>[[Model 204 installation on IBM z/VSE#CICS interface installation|Installing the Model 204 CICS interface on z/VSE]] </li>
</ul>


[[Category:Installation]]
[[Category:Installation]]

Latest revision as of 23:12, 5 April 2017

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 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.

Note: If you are using CRAM-XDM, you can run the above programs in USER key. However, to do so, you must link the CRAM-XDM M204X* modules with PARM value RENT.

  • For Model 204 version 7.5 and above, verify the presence of the RENT value for PARM in the STEPXMOD step in the LKCRAMJ link JCL. In earlier versions, the M204X* modules were not linked RENT.
  • For version 7.4 and below, relink M204XCRM using the LINKXCRM JCL in your JCL library with PARM value RENT.

You will need to recycle the XDM region after bringing down all Model 204 Onlines and CICS regions that use CRAM-XDM.

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.

See also