Installing the Natural Development Server CICS Adapter under z/OS (Batch)

This document describes how to install the CICS connection for a Natural Development Server (NDV) running under z/OS in batch mode.

The following topics are covered:


Prerequisites

For details, refer to the section Prerequisites.

Installation Procedure

To install the Natural Development Server CICS Adapter, perform the following steps:

Step 1: Customize CICS

(Job I005, Steps 8405, 8406, 8410, 8411)

The Natural Development Server load library must be defined in the CICS DFHRPL concatenation.

The CICS TCP/IP environment can be customized using the configuration macro EZACICD in the EZACONFG configuration data set or the configuration transaction EZAC. This section describes the usage of the transaction EZAC.

Customize the standard listener CSKL of the CICS socket interface using the CICS transaction EZAC,ALTER,LISTENER and, on the second screen, define NATUXRFE in the SECEXIT.

For impersonation with pass phrases an enhanced listener is required. Customize an existing enhanced listener or define a new one using the CICS transaction EZAC,DEFINE,LISTENER with TRANID CSEL (or another name of your choice) and FORMAT ENHANCED. Customize this enhanced listener by altering the settings on the second screen as follows:

CSTRANid     ===> NRFE
CSSTTYPe     ===> KC
CSDELAY      ===> 000000
MSGLENgth    ===> 000
PEEKDATa     ===> NO
MSGFORMat    ===> EBCDIC
USEREXIT     ===> NATUXRFE
GETTID       ===> NO
USERID       ===>

The definition of SECEXIT=NATUXRFE is mandatory when an enhanced listener is used or when the Natural Development Server is started with impersonation (parameter SECURITY_MODE).

Start the listener using the CICS transaction EZAO.

To use the IPv6 internet protocol, additionally set AF=INET6.

The following CICS resource definitions are required:

  1. Define the CICS transaction for the remote front-end. This transaction name is an arbitrary name which must be defined in the NDV configuration parameter RFE_CICS_TA_NAME. This document uses the transaction name NRFE.

    DEFINE TRANSACTION(NRFE) GROUP(ndvgroup)
    PROGRAM(NATCNRFE)
    TWASIZE(128)
    RESTART(NO)
    TASKDATAKEY(USER)
    TASKDATALOC(ANY)
  2. Define the programs NATCNRFE, NATLRGWO and NATUXRFE:

    DEFINE PROGRAM(NATCNRFE) GROUP(ndvgroup)
    LANGUAGE(C) DATALOCATION(ANY) EXECKEY(USER)
    DEFINE PROGRAM(NATLRGWO) GROUP(ndvgroup)
    LANGUAGE(C) DATALOCATION(ANY) EXECKEY(USER)
    DEFINE PROGRAM(NATUXRFE) GROUP(ndvgroup)
    LANGUAGE(LE370) DATALOCATION(ANY) EXECKEY(CICS)

    NATUXRFE must be defined with EXECKEY(CICS) because the transaction CSKL is defined with TASKDATAKEY(CICS) and the program NATUXRFE is part of the calling chain initiated by CSKL. This also applies if another transaction defined with TASKDATAKEY(CICS) is used to invoke NATUXRFE.

    In addition, when using the CICS open transaction environment (OTE), set the following parameters for NATCNRFE and NATUXRFE:

    API(OPENAPI)
    CONCURRENCY(THREADSAFE)

    This is required, for example, if the parameter OTE=YES is set for the configuration macro EZACICD with TYPE=CICS for the CICS region, or if the parameter is set with the transaction EZAC,ALTER,CICS.

    The values of API, CONCURRENCY and EXECKEY for NATCNRFE must be the same as for the environment-dependent nucleus of Natural because Natural is called by NATCNRFE using standard linkage conventions (direct branch using a BASR instruction) instead of an EXEC CICS LINK command.

    You need not adapt the program definition of NATLRGWO for the CICS OTE.

  3. For DB2 access, a DB2 plan name must be defined. If you have not specified a DB2 plan name for pool threads in the DB2CONN resource definition, the transaction specified in RFE_CICS_TA_NAME and its associated DB2 plan name must be defined to CICS with a DB2TRAN and/or DB2ENTRY resource definition.

    Note:
    The dynamic plan selection provided by the Natural for DB2 interface must not be used.

  4. For DB2 access, the authorization ID under which the NDV CICS transaction is accessing DB2 must have the necessary privileges for DB2 access. The authorization ID to be used is specified in the DB2ENTRY resource definition. If you choose the USERID option, the user ID of the CICS system will be used because the NDV CICS transactions are running under the user ID of the CICS system.

The sample JCL containing the following member defines all necessary CICS entries:

  • NDVCONFC

Step 2: Create member for CICS server

  • Job I009, Step 8411, create member NDVCONFC for CICS server

Step 3: Link the object modules into the NDV load library

(Job I054, Step 8420)

The NDV object modules must be linked with the necessary runtime extensions of your CICS installations into executable load modules.

Notes:

  1. The module NATCNRFE applies to two different products, the Natural Development Server and the Natural Web I/O Interface Server (NWO). So if you have already installed NWO, the module NATCNRFE might already be there. However, it does not matter if you reinstall NATCNRFE with the Natural Development Server because the resulting module from either installation is the same.
  2. The module NATCSRFE (referenced in the configuration via FRONTEND_NAME=NATCSRFE) has already been linked in the prior steps of batch installation.

See sample job NDVI054 on dataset NDVvrs.JOBS.

Step 4: Create startup procedure

Job I200, Step 8416, create startup procedure for CICS server

Step 5: Customize the Development Server

In order to dispatch the NDV Natural sessions in CICS, you must adapt the configuration file of your development server running under z/OS in batch mode. For this purpose, two sample JCL members (NDV I009C and NDV CONFC) are available.

Refer to Configuring the Natural Development Server CICS Adapter and to Configuring the Natural Development Server.