CICSP - Environment Parameters for Natural CICS Interface

#### Search Results

Search

# CICSP - Environment Parameters for Natural CICS Interface

This Natural profile parameter can only be specified with the `NTCICSP` macro, dynamic parameter specification is not possible yet.

Note
The availability of `NTCICSP` depends on the version of Natural CICS Interface installed at your site.

The `NTCICSP` macro is used to define environment-specific parameters for Natural session options relevant in a CICS environment.

Possible settings | See below.
Default setting | See below.
Dynamic specification | no
Specification within session | no

This section covers the following topics:

- NTCICSP Macro Syntax

- Keyword Subparameters

- Example of NTCICSP Macro

## NTCICSP Macro Syntax

The `NTCICSP` macro is specified as follows:

             NTCICSP BACKEND=value,                                        *
                   BACKOUT=value,                                          *
                   BACKRPL=value,                                          *
                   CALLRPL=value,                                          *
                   CHAP=value,                                             *
                   CNTCALL=value,                                          *
                   COMARET=value,                                          *
                   DIRNAME=value,                                          *
                   DUPTID=value,                                           *
                   FDTPX=value,                                            *
                   LOGDEST=value,                                          *
                   MEMOBJR=value,                                          *
                   MSGDEST=value,                                          *
                   MSGPFX=value,                                           *
                   MSGTRAN=value,                                          *
                   PREFIX=value,                                           *
                   PRMDEST=value,                                          *
                   PSTRNID=value,                                          *
                   RCVASYN=value,                                          *
                   RESENDC=value,                                          *
                   RESENDS=value,                                          *
                   RJEDEST=value,                                          *
                   SLCALL=value,                                           *
                   SLNOHLD=value,                                          *
                   SNDLAST=value,                                          *
                   STORVIO=value,                                          *
                   TERMVAR=value,                                          *
                   TIOBSZ=value,                                           *
                   TRANCHK=value,                                          *
                   TTYCNSL=value,                                          *
                   UCTRAN=value,                                           *
                   UNITID=value,                                           *
                   USERID=value

See Keyword Subparameters.

## Keyword Subparameters

`BACKEND` | `BACKOUT` | `BACKRPL` | `CALLRPL` | `CHAP` | `CNTCALL` | `COMARET` | `DIRNAME` | `DUPTID` | `FDTPX` | `LOGDEST` | `MEMOBJR` | `MSGDEST` | `MSGPFX` | `MSGTRAN` | `PREFIX` | `PRMDEST` | `PSTRNID` | `RCVASYN` | `RESENDC` | `RESENDS` | `RJEDEST` | | `SLCALL` | `SLNOHLD` | `SNDLAST` | `STORVIO` | `TERMVAR` | `TIOBSZ` | `TRANCHK` | `TTYCNSL` | `UCTRAN` | `UNITID` | `USERID`

### BACKEND - Back-End Program Invocation Control

`BACKEND=value` defines whether a specified back-end program or transaction is to be invoked after the session has terminated (normally or abnormally).

The `BACKEND` parameter has two sub-parameters. The second sub-parameter is optional. It controls if a back-end program is to be invoked in the event of a terminal error. This also includes session clean-up tasks started by NEP.

Possible values are `ON/OFF` for both sub-parameters, but the default values are different.

Value | Explanation
--- | ---
`ON` | Same as `BACKEND=(ON,OFF)`. This is the default if the `BACKEND` parameter is omitted. A potential back-end program or transaction is always invoked, particularly after task abends, but not in the case of terminal errors. When a back-end program is invoked, the Natural termination message and return code are passed to the CICS transaction work area (TWA). In addition, the same information can be passed to a CICS COMMAREA, as described with the `BACKRPL` parameter.
`(ON,ON)` | Same as `BACKEND=(,ON)`. A potential backend program or transaction is always invoked, particularly after abends including terminal errors.
`OFF` | Forces `BACKEND=(OFF,OFF)`. A potential back-end program or transaction is only invoked if the Natural session has been terminated normally; that is, with a Natural termination message.

### BACKOUT - Backout Transaction in the Case of Unrecoverable Abends

`BACKOUT=value` defines whether the Natural CICS Interface is to perform a transaction backout by means of an `EXEC CICS SYNCPOINT ROLLBACK` call or not.

Value | Explanation
--- | ---
`ON` | All pending file updates are backed out. This is the default value.
`OFF` | All pending file updates are committed.

Because of its abnormal termination exit, the Natural CICS Interface intercepts all abends. If an abend is not recoverable, all resources of the abending session are released and the session is terminated via `EXEC CICS RETURN`; that is, it is terminated "normally" in terms of CICS. Thus, at the end of the task, "pending" file updates are not automatically backed out by CICS.

### BACKRPL - Location of Parameter List for Back-End Program

`BACKRPL=value` controls where and how the back-end parameters are passed to a back-end program.

Value | Explanation
--- | ---
`ALL` | This is the default. The Natural back-end parameter area mapped by macro `NAMBCKP` is passed both in the CICS TWA and in a CICS COMMAREA (including potential termination data).
`COMA` | The Natural back-end parameter area mapped by macro `NAMBCKP` (including potential termination data) is passed in a CICS COMMAREA only, not in the CICS TWA.
`DATA` | The Natural back-end parameter area mapped by macro `NAMBCKP` is passed in the CICS TWA only, a CICS COMMAREA just holds potential termination data; if no termination data is available, no COMMAREA is passed.
`TWA` | The Natural back-end parameter area mapped by macro `NAMBCKP` is passed in the CICS TWA only, no CICS COMMAREA is passed.

Note
This parameter applies only to back-end programs. This parameter does not apply to back-end transactions.

### CALLRPL - Location of Parameter List for External Subroutine Programs CALLed by Natural via EXEC CICS LINK

`CALLRPL=value` controls where and how the `CALL` parameter lists are passed to external subroutine programs.

Value | Explanation
--- | ---
`ALL` | This is the default. The Natural parameter list addresses are passed both in the CICS TWA and in a CICS COMMAREA; the length of the passed COMMAREA is controlled by the second sub-parameter.
`COMA` | The Natural parameter list addresses are passed in a CICS COMMAREA only, not in the CICS TWA; the length of the passed COMMAREA is controlled by the second sub-parameter.
`TWA` | The Natural parameter list addresses are passed in the CICS TWA only, not in a CICS COMMAREA; that is, the COMMAREA length then is `0`.

Possible values for the second sub-parameter are:

Value: | Explanation:
--- | ---
`2` | This is the default. Only the parameter address list address and the field description list address (R1 and R2, as described with the `CALL` statement) are passed in a CICS COMMAREA; that is, the COMMAREA length is `8`.
`3` | The field length list address (R3, as described with the `CALL` statement) is passed in addition in a COMMAREA; that is, the COMMAREA length is `12`.
`4` | The field length list address and the large field length list address (R4, as described with the `CALL` statement) are passed in addition in a COMMAREA; that is, the COMMAREA length is `16`.

Example:

    CALLRPL=(ALL,2)

This is the default setting.

Notes:

1. The second sub-parameter applies only if the first sub-parameter is `ALL` or `COMA`.
2. If the CICS TWA is to be used, it always holds all 4 parameter list addresses.
3. If the CICS COMMAREA length is greater than `0`, the last parameter address passed gets a flag saying it is the last address in the list. This flag is set in the high order bit in the address field.
4. The `CALLRPL` parameter does not apply, when passing parameter values in a CICS COMMAREA (`%P=C`); a CICS COMMAREA then is used regardless of the `CALLRPL` parameter setting.

### CHAP - Change Task's Dispatching Priority

`CHAP=value` defines how the Natural CICS Interface is to treat long-running tasks reaching the `DBROLL` and/or `MAXROLL` call limits.

Value | Explanation
--- | ---
`ON` | The task's dispatching priority is decremented by 1 every time it reaches the `DBROLL` and/or `MAXROLL` call limits. The original task dispatching priority is re-established at the next screen I/O.
`OFF` | The session is suspended. This is the default value.

### CNTCALL - CICS Call Passing Automatically Data in Container

With `SET CONTROL 'P=C'` the `CALL` statement parameter data is passed in a CICS COMMAREA on the `EXEC CICS LINK` rather than parameter data pointers. As a CICS COMMAREA is limited to 32 KB, `EXEC CICS LINK` with a COMMAREA greater than 32 KB will fail due to a LENGERR condition.

`CNTCALL=value` enables you to automatically use a container on `EXEC CICS LINK` when the data to be passed exceeds the maximum COMMAREA length of 32 KB. This functionality only works if the CICS Transaction Server in your z/OS environment supports channels and containers.

The default container name then is `NCI-COMMAREA` unless explicitly specified via the application programming interface `USR4204N` prior to the Natural `CALL` statement.

Value | Explanation
--- | ---
`ON` | When the COMMAREA data would exceed 32 KB, the Natural CICS Interface automatically uses a CICS container on the EXEC CICS LINK, using `NCI-COMMAREA` as default name.
`OFF` | When the COMMAREA data would exceed 32 KB, the Natural `CALL` statement fails with a `NAT0920` message and reason code `LENGERR` (hexadecimal 16).

### COMARET - CICS COMMAREA Usage for Task Control

`COMARET=value` defines whether the Natural CICS Interface is to take advantage of the CICS command level COMMAREA facility when terminating and restarting pseudo- conversational tasks.

Value | Explanation
--- | ---
`ON` | A pseudo-conversational Natural task saves its restart information into a CICS COMMAREA, unless it has been invoked with `EXEC CICS LINK`. This is the default value.
`OFF` | Forces Natural to place its restart information into CICS main temporary storage, which results in more overhead because of additional CICS service calls necessary to place and retrieve this information. The CICS temporary storage key used consists of a prefix string (as defined with the `NCMDIR` parameter `TSKEY` (see the TP Monitor Interfaces documentation) and of the terminal ID. If running in a CICSplex environment, the CICS temporary storage key prefix must be defined in a CICS TST as `REMOTE/SHARED` to be accessible in all participating CICS regions.

### DIRNAME - Name of Natural CICS Interface System Directory Module

`DIRNAME=value` specifies the name of the Natural CICS Interface system directory module.

Value | Explanation
--- | ---
(see below) | Any valid module name.
`prefixCB` | prefix is the common prefix for programs and files, see `PREFIX` parameter. This is the default value.

The first 5 characters of the directory module name are also used as part of CICS temporary storage queue names related to the relevant NCI environment. So when running more than one Natural CICS environment in a CICS region, the relevant system directory module names must be different in the first 5 characters.

Note that the specified or defaulted Natural CICS Interface system directory module name may be modified at run-time via the NCI system directory module name exit interface `NCIDIREX` (see the TP Monitor Interfaces documentation). This makes it possible to use the same NCI driver/Natural parameter module, but use different NCI environments (thread groups/thread sizes, etc.) depending for example on CICS system ID, transaction ID.

### DUPTID - Handle Duplicate Terminal ID

The Natural CICS Interface requires unique terminal IDs, because the terminal ID is the key for its session information records (SIRs). This is normally guaranteed for a single CICS region, but not necessarily over several CICS regions sharing the same SIP server.

`DUPTID=value` determines how the Natural CICS Interface has to deal with duplicate terminal IDs, that is, when a new session is to be started and an SIR already exists for this terminal ID.

Value | Explanation
--- | ---
`ON` | If a duplicate terminal ID is encountered, the Natural CICS Interface internally forces the old session to terminate and, after that, starts a new session. This is the default value.
`OFF` | When an SIR already exists for the new session's terminal ID, the Natural CICS Interface terminates the new session and issues the message `NS19`. For an explanation and remedial actions, see Natural under CICS Messages, SCP Processing Errors in the Messages and Codes documentation.

A terminal ID exit interface is available to create unique 8-character terminal IDs, for example, by appending the 4-character CICS system ID to the physical 4-character CICS terminal ID, which results in a logical Natural terminal ID.

### FDTPX - Force Use of NCIDTPEX Exit for all Terminal Types

`FDTPX=value` determines whether the `NCIDTPEX` terminal I/O exit interface (see the TP Monitor Interfaces documentation) is called for all types of terminal used in your environment.

Value | Explanation
--- | ---
`ON` | The `NCIDTPEX` interface is called for all terminal types.
`OFF` | The `NCIDTPEX` interface is only called for distributed transaction processing (DTP) using APPC or MRO conversions. This is the default value.

### LOGDEST - Natural CICS Logging Destination

`LOGDEST=value` specifies the name of a CICS destination, where the Natural CICS Interface writes its session log records to.

Value | Explanation
--- | ---
`name` | Any valid destination name.
`NLOG` | This is the default value.

A CICS destination control table entry must be defined for the optional Natural CICS log data set.

### MEMOBJR - Roll To Memory Object When Possible

In later versions of CICS TS, main temporary storage queues are allocated above the bar. When using CICS main temporary storage, roll data is split into temporary storage queue items with a maximum size of 32 KB each.

Depending on the CICS TS version installed at your site, CICS also supports the usage of memory objects for CICS applications. Allocating CICS memory objects for roll data means less overhead since the roll data must not be split.

Possible values for `MEMOBJR=value` are:

Value | Explanation
--- | ---
`ON` | Data is rolled by using CICS memory objects if supported by the CICS version installed at your site. This is the default value.
`OFF` | Data is rolled into CICS main temporary storage.

### MSGDEST - Destination ID for Natural Error Message Logging

`MSGDEST=value` specifies the name of the CICS destination to be used by the Natural CICS Interface for NCI informational messages and to log the Natural session termination message if a session terminates abnormally.

Value | Explanation
--- | ---
`name` | Any valid destination name
`NERR` | This is the default value.

Since these messages are in character format, any already available CICS destination (for example, `CSSL`) can be used rather than defining a new one.

### MSGPFX - Generate NCI Message Prefix for WTL Messages

The Natural CICS Interface uses a prefix for all messages it sends to the `MSGDEST` destination. This prefix has a length of approximately 48 bytes and comprises the following information:

- NCI message number,

- CICS region `SYSID`,

- terminal ID or the string `ASYN` for non-terminal tasks,

- user ID,

- transaction ID,

- date and time.

By default, the message prefix is also appended to those messages which are output through `CMWTL`.

Possible values for `MSGPFX=value` are:

Value | Explanation
--- | ---
`ON` | The `NCI` message prefix is appended to all messages which are issued through `CMWTL`. This is the default value.
`OFF` | The `NCI` message prefix is not appended to the messages which are issued through `CMWTL`. The messages are issued unchanged.

### MSGTRAN - Internal Message Switching Transaction ID

`MSGTRAN=value` specifies the transaction ID internally used by the Natural message switching and asynchronous session flushing facilities.

This parameter has the same meaning as the `MSGTRAN` parameter in the `NCIZNEP` module (see the Natural Installation documentation) and must be specified identically.

Value | Explanation
--- | ---
(see below) | Any valid CICS transaction ID.
`NMSG` | This is the default value.

This transaction ID must be different from any transaction ID used to invoke Natural, and it must be defined in CICS.

### PREFIX - Common Prefix for Programs and Files

`PREFIX=value` defines a common module prefix for the Natural CICS components as the Natural CICS system directory `prefixCB`, the CICS 3270 Bridge `XFAINTU` exit `prefixXFA`, the VSAM roll files `prefixRn`, where `n` =1 - 9, and system control records in CICS main temporary storage holding information about all permanent GETMAIN storages by the Natural CICS Interface as local pools and shared threads. The TS control record keys are of the form `prefixXCR`, where `X` is an unprintable character. In general, it is good practice to use this common prefix for all programs that relate to the Natural CICS Interface, for example, `prefixDRV` for the Natural CICS Interface module, `prefixNEP` for the Natural CICS Interface node error program.

To exempt the temporary storage control records from automatic deletion, do not specify an expiry interval in the respective TSMODEL resource definition.

Value | Explanation
--- | ---
`XXXXX` | prefix is the name of 1 to 5 characters that conforms to the naming conventions for load modules and temporary storage queues.

No default value is provided.

### PRMDEST - Name of the Natural CICS Profile Parameter Input Destination

`PRMDEST=value` specifies the name of a CICS destination containing Natural dynamic profile parameters.

Value | Explanation
--- | ---
`name` | Any valid destination name
`NPRM` | This is the default value.

At system initialization time, the Natural CICS Interface retrieves Natural dynamic profile parameters and saves them in its environment. At session start, potential other profile parameters (entered by way of terminal input or by a front-end caller) are concatenated at the end of the parameter string which was retrieved from the `PRMDEST` destination, that is, explicit dynamic profile parameters can be used to overwrite the Natural CICS Interface system profile parameters read from `PRMDEST`.

A CICS destination control table entry must be defined for the optional Natural CICS Interface profile parameter input destination, normally an extra partition destination.

### PSTRNID - Control of *INIT-PROGRAM Variable Setting

When a Natural task is activated by a front-end program, the `PSTRNID` parameter determines, how the Natural system variable `*INIT-PROGRAM` is set.

Possible values for `PSTRNID=value` are:

Value | Explanation
--- | ---
`ON` | `*INIT-PROGRAM` is set to the actual transaction ID used for Natural CICS pseudo-conversational task processing, which is not necessarily the transaction ID of the task which originally started the Natural session. This is the default value.
`OFF` | `*INIT-PROGRAM` is set to the transaction ID of the task, which originally started the Natural session.

### RCVASYN - Recover Asynchronous Session

`RCVASYN=value` defines how the Natural CICS Interface treats asynchronous sessions.

Value | Explanation
--- | ---
`ON` | This is the default value. The Natural CICS Interface forces some Natural profile parameter settings for non-terminal sessions to prevent unexpected input or abends due to NT06, NT11 or other I/O errors. `RCVASYN=ON` forces the following parameter settings: `CM=OFF,MENU=OFF,PC=OFF` `TTYPE=ASYL` if the `SENDER` specification is blank, not specified or a CICS transient data queue, or if `CONSOLE` is specified (see Asynchronous Natural Sessions under CICS in the TP Monitor Interfaces documentation). `SENDER='msgdest'` if the `SENDER` specification is blank or not specified. `OUTDEST='sender'` if the `OUTDEST` specification is blank or not specified. `INTENS=1,EJ=OFF` if the `SENDER` specification is `CONSOLE` or a CICS transient data queue which is not set up for print control characters.
`OFF` | The Natural CICS Interface does not do anything specific for non-terminal sessions; it is the user's responsibility to set appropriate Natural profile parameters for an asynchronous Natural session; see Asynchronous Natural Processing.

### RESENDC - Check for Screen Re-sending after Subroutine Calls

Natural optimizes the 3270 output data stream by default. The screen imaging technique used by Natural makes it possible for Natural to always remember the map most recently sent. Thus, when sending a new map, Natural actually sends "updates" of the old map only. With this logic, a screen image can get destroyed by 3GL programs called by Natural which perform screen I/Os themselves.

Possible values for `RESENDC=value` are:

Value | Explanation
--- | ---
`ON` | The Natural CICS Interface checks whether any called 3GL programs have performed screen I/Os. If so, the Natural CICS Interface causes Natural to send a full screen with the next screen I/O. This is the default value.
`OFF` | The Natural CICS Interface causes Natural to send only updates.

### RESENDS - Screen Re-send Check after Pseudo-Conversational Session Resume

Natural optimizes the 3270 output data stream by default. The screen imaging technique used by Natural makes it possible that Natural always remembers the map most recently sent. Thus, Natural only sends "updates" when sending a new map, too. With this logic a screen image can get destroyed, for example, by message switching (CICS CMSG transaction) during pseudo-conversational screen I/O.

Possible values for `RESENDS=value` are:

Value | Explanation
--- | ---
`ON` | During the Natural session, the Natural CICS Interface also recognizes screen I/Os from outside and causes Natural to re-send the screen most recently issued. This is the default value.
`OFF` | Natural only sends "updates" when sending a new map.

### RJEDEST - Name of the Natural CICS Submit Destination

`RJEDEST=value` applies to z/OS-type operating systems only.

Value | Explanation
--- | ---
(see below) | Destination name.
`NRJE` | This is the default value.

`RJEDEST` specifies the destination name of the CICS extra partition destination used by the `NATRJE` utility for submitting jobs via the JES internal reader facility.

| Warning: An appropriate CICS destination must be defined in the CICS DCT and start-up JCL; see also the corresponding step in Installing Natural CICS Interface on z/OS in the Natural Installation documentation. Function code `L` or `B` (parm3 of the `NATRJE CALL` statement) must be set for the last `NATRJE` call. When `L` is specified and `nrje` is an extra partition destination, the destination is closed, which in turn triggers the start of the internal reader. When `B` is specified and `nrje` is an indirect destination, the destination is not closed; in this case, a trailing `/*EOF` card must be submitted in order to trigger the start of the internal reader.

For further information on the Natural `NATRJE` utility, refer to the Natural Utilities documentation.

### SLCALL - Standard Linkage Call

The Natural `CALL` statement invokes a dynamic non-Natural program using CICS conventions, that is, via an `EXEC CICS LINK`. A dynamic non-Natural program can also be invoked with standard linkage conventions (for example, `BALR/BASR/BASSM 14,15`) if an appropriate indicator is set in the Natural program before the `CALL` statement is executed; see also the terminal command `%P=S`, `%P=SC`, `%P=L` and `%P=LS`.

| Warning: The terminal commands `%P=S`, `%P=SC`, `%P=L` and `%P=LS` bypass the `SLCALL` automatism of using a certain linkage convention.

`SLCALL=value` enables you to automatically use a certain linkage convention.

Value | Explanation
--- | ---
`ON` | The Natural CICS Interface determines whether the module to be called is a valid CICS command level program by looking for the string `DFH` at the module's load point. If `DFH` is found, the program is invoked via an `EXEC CICS LINK`. If `DFH` is not found, the module is treated according to standard linkage conventions and is invoked via `BALR/BASSM 14,15`.
`OFF` | The linkage convention is not used. This is the default value.

### SLNOHLD - Load Option for External Programs to Be Invoked via Standard Linkage Conventions

`SLNOHLD=value` defines how the Natural CICS Interface treats non-LE external programs to be invoked via standard linkage conventions (that is, dynamic non-CICS programs and RCA programs) in a non-CICSPlex environment.

Value | Explanation
--- | ---
`ON` | This is the default value. The Natural CICS Interface loads all non-LE external programs to be invoked via standard linkage conventions (including RCA programs) via `EXEC CICS LOAD` without the `HOLD` option, thus allowing these programs to be `NEWCOPY`ed while the Natural session is suspended/waiting in a pseudo-conversational screen I/O. `SLNOHLD=ON` corresponds to the processing which the Natural CICS Interface does for LE programs in general and for non-LE programs in a CICSPlex environment anyhow.
`OFF` | This is how Natural worked eversince. The Natural CICS Interface loads all non-LE external programs to be invoked via standard linkage conventions (including RCA programs) via `EXEC CICS LOAD HOLD`, that is, such a program is fixed in storage for some time depending on the `DELETE` profile parameter setting, RCA programs until session end.

### SNDLAST - LAST Option Usage for EXEC CICS SEND Commands

`SNDLAST=value` is useful for SNA terminals (`LUTYPE2`) with bracket protocol to force "end bracket" for pseudo-conversational screen I/Os.

Value | Explanation
--- | ---
`ON` | The `LAST` option is used for `EXEC CICS SEND` commands before the task terminates in pseudo-conversational mode. This is the default value.
`OFF` | The `LAST` option is not used.

### STORVIO - Storage Violation Trap

This keyword parameter sets a storage violaton trap for external subroutine program calls with call option `%P=C` or `%P=CC` (see the Terminal Commands documentation), where parameters are passed as values instead of address pointers.

`STORVIO=(value1,value2)` activates the storage violation trap.

Value | Explanation
--- | ---
`value1` | Defines the number of bytes requested for extended storage. The specified number of bytes is added to the total size requested for parameter storage with the `CALL` statement. Unintended modification of this extended storage by an (erroneous) external program does not lead to a real CICS storage violation. Possible values are:
`0` | No bytes are requested for extended storage. This is the default value.
`1 - 16777215` | The number of bytes requested to prevent a real CICS storage violation when processing the call option `%P=C` or `%P=CC`.
`value2` | Controls the reaction on a detected storage violation. Possible values are:
`0` | An NCI0250 storage violation message is issued. This is the default value. It also applies if `value2` is not specified.
`1 - 32767` | An NCI0250 storage violation message is issued. In addition, an NAT0920 condition occurs with the specified value passed as a reason code. We recommend that you do not specify a value from `1` to `255`; a value in this range can be confused with a value returned by CICS in the EIBRESP field as the result of a failing `EXEC CICS LOAD` or `EXEC CICS LINK` request.
`S0C3` | An NCI0250 storage violation message is issued. In addition, an S0C3 abend is forced, which causes an NAT0954 condition.
`NOMSG` | No message is issued and no abend is forced.
Default | `STORVIO=OFF` Deactivates the storage violation trap.

### TERMVAR - Terminal ID Variable for Natural Work Files

`TERMVAR=value` enables a Natural user to have exclusive Natural work files under CICS without having to know the terminal ID.

Value | Explanation
--- | ---
`xxxx` | Variable `xxxx` is a four-character string. See explanation below.
`&TID` | This is the default value.

As terminal IDs are unique in a CICS system, exclusive work files in CICS temporary storage usually contain the CICS terminal ID. The parameter `TERMVAR` allows you to define a variable. If this variable is found in a work file name, it will be replaced by the actual terminal ID. Strings with non-alphanumeric characters must be enclosed in apostrophes (').

Note that for non-terminal sessions the packed CICS task number is used as a logical terminal ID.

| Warning: The variable string must not contain the substring `'**'`, because Natural will replace this substring with the work file number, which makes it impossible to insert the terminal ID.

### TIOBSZ - Size of the Natural Terminal I/O Buffer

`TIOBSZ=value` specifies the size of the Natural terminal I/O buffer.

Value | Explanation
--- | ---
`8 - 60` | Size of the terminal I/O buffer in KB.
`16` | This is the default value.

### TRANCHK - Check Input Map for Transaction ID

If a connection to a CICS session gets lost or dropped (for example, when a session manager is installed) without having terminated the session, another user can get into this open session when calling CICS. Usually, the first action of a user in a CICS environment is to enter a transaction ID.

Possible values for `TRANCHK=value` are:

Value | Explanation
--- | ---
`ON` | The Natural CICS Interface checks whether the first 4 bytes of the transaction ID entered by the user matches the Natural transaction ID. If so, the Natural CICS Interface assumes a "restart" after a connection has been lost or dropped. All resources of the "old" session are freed and a new session is started.
`OFF` | Data entered by the user are not checked for the Natural transaction ID. This is the default value.

### TTYCNSL - Control Console Communication

This parameter is for compatibility with previous versions of the Natural CICS Interface. `TTYCNSL=value` controls session and device characteristics for Natural sessions started through a console device by using, for example, the `MODIFY` command.

Value | Explanation
--- | ---
`ON` | The `*DEVICE` system variable is set to `TTY`: communication with the console is in 3270 data stream holding TTY control orders. The `PSEUDO` profile parameter is evaluated allowing or disallowing the session to run in pseudo-conversational mode. This is the default value.
`OFF` | The `*DEVICE` system variable is set to `BATCH` forcing batch/command-line mode: each line is output separately to the console by an `EXEC CICS WRITE OPERATOR` command. The `PSEUDO` profile parameter is ignored: the session runs in conversational mode to indicate that a session is pending.

### UCTRAN - Lower/Mixed Case Support in Natural

`UCTRAN=value` enables or disables the lower/mixed case support by the Natural CICS Interface.

Value | Explanation
--- | ---
`ON` | Same as `UCTRAN=(ON,ON)`. NCI lower/mixed case support is fully enabled. This is the default value.
`OFF` | Same as `UCTRAN=(OFF,ON)`. NCI lower/mixed case support is disabled for pseudo-conversational screen I/Os.

The first subparameter controls NCI mixed case support after a pseudo-conversational screen I/O, while the second subparameter controls NCI mixed case support after a conversational screen I/O; the latter also includes NTC uploads.

#### First Subparameter (pseudo-conversational screen I/Os)

To accomplish lower/mixed case support for pseudo-conversational Natural sessions, it is necessary that the terminal input be not already translated to upper case before the Natural nucleus gets control. Therefore, the Natural CICS Interface by default switches terminals defined with `UCTRAN(ON)` into mixed mode `(UCTRAN(TRANID))` for the lifetime of the Natural session.

As for security reasons any modification of CICS definitions/control blocks may not be desired, the Natural CICS Interface can be prevented from modifying a terminal's upper case translation status by setting this `NTCICSP` parameter `UCTRAN` to `OFF`. If so, the user must define a terminal as running in "lower case" (CICS `TYPETERM` parameter `UCTRAN(TRANID/OFF)`) to be able to use the Natural lower/mixed case support.

As all CICS versions supported by the current Natural Version provide "case switching" on transaction level via the `UCTRAN` parameter in a transaction's `PROFILE`, this `NTCICSP` parameter should be set to `OFF`, thus leaving lower/mixed case support to CICS.

Note
In CICS, the combination of the `UCTRAN` parameters in both `TYPETERM` and `PROFILE` definitions determine how CICS treats the terminal input of a pseudo-conversational transaction (for details see CICS Resource Definition Manual or others). Therefor it is always advisable that mainly the `PROFILE` associated to a transaction defines the required upper case translation status thus making an application unaffected by any `TYPETERM` upper case translation mode changes.

#### Second Subparameter (conversational screen I/O)

Lower/mixed case support for conversational I/Os means that the Natural CICS Interface uses the "as is" option on the CICS terminal input requests (`CONVERSE/RECEIVE ASIS`). If the second subparameter is set to `OFF`, the Natural CICS Interface does the conversational CICS terminal input requests without the "as is" option,

### UNITID - Establish Unique Terminal IDs

`UNITID=value` helps make the CICS terminal ID for Natural purposes unique over more than one CICS region.

Value | Explanation
--- | ---
`ON` | The Natural CICS Interface appends a CICS system ID (local `SYSID` if no MRO, otherwise `TOR SYSID`) to the 4-byte CICS terminal ID, thus creating an 8-byte logical terminal ID.
`OFF` | The Natural CICS Interface uses the CICS terminal ID as it is. This is the default value.

This parameter is of interest when resources are shared as SIP server or roll server by several CICS regions, particularly in non-CICSplex: If the same terminal IDs are used in several CICS environments, this parameter helps to provide unique terminal IDs for Natural. Inside the Natural CICS Interface, Natural terminal IDs are 8-byte fields, and a combination of 8-byte terminal ID and 8-byte CICS user ID is taken as key for SIP and the roll server.

The result of this parameter is used by the Natural CICS Interface for the session key and the roll server key and by Natural for the system variable `*INIT-ID`.

Notes:

1. A terminal ID exit (`NCITIDEX`) possibly will post-process that logical terminal ID. (`NCITIDEX` is described in the TP Monitor Interfaces documentation.)
2. Also a user ID exit (`NCIUIDEX` and `NATUEX1`) may post-process the `*INIT-ID` system variable. (`NCIUIDEX` is described in the TP Monitor Interfaces documentation, `NATUEX1` in the Operations documentation.)
3. This parameter also applies to Natural Advanced Facilities (NAF) printers, that is, the printers have to be defined appropriately in the NAF spooling and report management system `NATSPOOL`, or a user ID exit should be used to post-process the `*INIT-ID` for printers.
4. For non-terminal sessions, the Natural CICS Interface always sets up an 8-byte logical terminal ID consisting of the packed CICS task number and the CICS system ID; that is, `UNITID=ON` is forced for asynchronous tasks with the CICS task number taken as terminal ID.

### USERID - Deal with CICS User ID

`USERID=value` defines how Natural under CICS should deal with a CICS user ID for a Natural session.

The first subparameter is for terminal bound CICS sessions, the second subparameter for non-terminal, that is, asynchronous, DPLEd, etc. CICS sessions, the third subparameter is for program-to-program sessions, that is, DTP, APPC.

Value | Explanation
--- | ---
`ANY` | Any non-blank value returned by `EXEC CICS ASSIGN USERID (..)` is considered to be valid. This is the default value.
`ON` | A non-blank value returned by `EXEC CICS ASSIGN USERID (..)` is considered to be valid if it is different from the CICS default user ID and, for terminal bound sessions only, if the user has signed on in CICS.
`OFF` | The value returned by `EXEC CICS ASSIGN USERID (..)` is ignored.

#### Further Processing

When a CICS user ID is invalid or ignored, the edited (unpacked) CICS task number is taken for non-terminal, that is, asynchronous or DPLed, etc., CICS sessions; for terminal bound sessions, the 3-byte CICS operator ID is taken when it is non-blank, otherwise the CICS terminal ID is taken; for DTP sessions the pseudo terminal ID is taken.

Notes:

1. CICS terminal IDs are unique within a CICS region, while CICS user IDs and operator IDs are not necessarily unique. However, CICS terminal IDs may have duplicates in other CICS regions resulting in duplicate user IDs in Adabas.
2. Natural user ID exit `NATUEX1` (see the Operations documentation) or Natural CICS user ID exit interface `NCIUIDEX` (see the TP Monitor Interfaces documentation) may be used to customize the content of the system variable `*INIT-USER`.

## Example of NTCICSP Macro

             NTCICSP PREFIX=NCI92,                                      *
                   DIRNAME=NCI92,                                       *
                   BACKRPL=COMA,                                        *
                   CALLRPL=COMA

### On this page

- NTCICSP Macro Syntax
- Keyword Subparameters
- Example of NTCICSP Macro