CICS interface configuration: Difference between revisions
m (add links) |
|||
(16 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 | 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 | ||
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. | ||
<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=" | |||
==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 | <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 | 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 | <code>EXECKEY</code> set to the same value as the <code>EXECKEY</code> for M204PSFS — either | ||
both CICS or both USER.</li> | both <code>CICS</code> or both <code>USER</code>.</li> | ||
</ul> | </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 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> | |||
<p> | |||
You will need to recycle the XDM region after bringing down all Model 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 | <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 204 user parameter <var>WAITTIME</var> equal to zero causes the | ||
printing to be spooled by CICS, regardless of 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 | 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 | 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 | To use the DEBUG option, set <code>&TRACE SETC</code> to <code>YES</code>. DEBUG turns on CICS TRACE entries. | ||
TRACE entries. | |||
Specify the number of bytes to displace the Model 204 area using | ===Sharing CICS space=== | ||
&IFTWADP SETC | Specify the number of bytes to displace the Model 204 area using | ||
<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 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 137: | Line 176: | ||
</li> | </li> | ||
</ul> | </ul> | ||
===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 | 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. | ||
Application Load Table (ALT) for performance and space considerations. Make | |||
M204PSFS resident only if you use it frequently and you have sufficient storage | ===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: | |||
<ol> | |||
<li>Set <code>&FSTOUT</code> to <code>YES</code>.</li> | |||
<li>Provide a timeout value in seconds for <code>&FSTTIME</code>.</li> | |||
</ol> | |||
===Using a dynamic storage area optimizer=== | ===Using a dynamic storage area optimizer=== | ||
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 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 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 166: | 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 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 172: | 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 <var>LOUTPB</var> can be 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.
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 toCICS
. - If you are using the full-screen interface, define the program M204PSFS with
EXECKEY
set toCICS
. - Define the program OBPLTSD with
EXECKEY
set toCICS
. - Define all process-to-process programs (those linked to IFPPCI) with
EXECKEY
set to the same value as theEXECKEY
for M204PSFS — either bothCICS
or bothUSER
.
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 withPARM
valueRENT
.
- For Model 204 version 7.5 and above, verify the presence of the
RENT
value forPARM
in the STEPXMOD step in the LKCRAMJ link JCL. In earlier versions, the M204X* modules were not linkedRENT
.- For version 7.4 and below, relink M204XCRM using the LINKXCRM JCL in your JCL library with
PARM
valueRENT
.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:
- Set
&FSTOUT
toYES
. - 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.