Table of Contents Previous Next PDF


ART CICS Calls Transaction in Z/CICS

ART CICS Calls Transaction in Z/CICS
In certain circumstances, some transactions have been migrated to ART/CICS on Linux, while some still reside on z/OS. This solution aims to build a bridge, through which applications in ART/CICS can invoke transactions on z/OS.
You can call an online transaction, referred to as main transaction hereinafter, provided by ART/CICS from 3270 terminal or a Tuxedo client through GWSNAX. To make the main transaction call a sub-transaction on z/OS, you need to follow these steps, which will be elaborated later:
Step 1: Configuring ART CICS on Open System
To configure ART CICS on open system, do the following:
In the transactions.desc file at $KIXCONFIG, add your ART CICS client transaction:
BUFC;DTPAPFT;dpl caller <sysid>_<program>;BUFCLT
In programs.desc, add the client and server program:
BUFCLT;DTPAPFT;DPL client;COBOL; ;ENABLED
BUFSRV;DTPAPBK;DPL server;COBOL; ;ENABLED;KIXB
For more information, see CICS Runtime Configuration Files.
Step 2: Defining VTAM Resources
1.
The LU configuration for the remote CICS region should resemble Listing 10‑1 and be located in SYS1.VTAMLIST by default. It is shown in bold typeface where the LU name is used for this remote CICS region.
Listing 10‑1 LU Configuration for Remote CICS Region
CRMMN3     VBUILD TYPE=APPL
**LUNAME**   APPL ACBNAME=**LUNAME**,
             APPC=YES,
             SYNCLVL=SYNCPT,
             AUTH=(ACQ,PASS),
             PARSESS=YES
*example ACBNAME=( CRMLU80 )
 
Note:
All entries prefixed and terminated with ** are placeholders for you to fill in with relevant parameters, or take a note of the subsequent configuration entries. It is applicable to all of the subsequent cases and won’t be noted again.
2.
The purpose is to add LU to the connection of the CICS region. The value of NETNAME field should be consistent with the LU defined on system A in Step 1: Configuring ART CICS on Open System.
Note:
Listing 10‑2 Define LU Connection for Remote CICS Region
ADD GROUP(**GROUPNAME**) LIST(**LISTNAME**)
 
DEFINE CONNECTION(**CONNNAME**) GROUP(**GROUPNAME**)
DE(BEA TMA SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(**LUNAME**)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)
*example CONNECTION(BEALST)
*example CONNECTION(BEA)
*example GROUP(BEACONN)
*example NETNAME(CRMLU80)
 
DEFINE SESSION(**SESSIONNAME**) GROUP(**GROUPNAME**))
CONNECTION(**CONNNAME**)
DE(SESSION EXAMPLE)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(**SNANAME**) MAXIMUM(**SESSNBR**,**WINNER**)
*example SESSION(BEATEST)
*example CONNECTION(BEA)
*example GROUP(BEACONN), keep it same as group name in DEFINE CONNECTION statement
*example MODENAME(SMSNA100) MAXIMUM(10,5)
 
3.
In SDSF, enter the following commands:
a.
Enter LOG in SDSF
 
 
 
 
 
b.
Enter /V net,id=**Major Node Name**,act,scope=all to activate all LUs defined under this major node. Example below uses crmmn3 as the node name.
 
 
 
 
c.
 
 
 
 
Step 3: Configuring and Deploying TMA SNA
1.
2.
Add one line SNAX:::: to your $TUXDIR/udataobj/DMTYPE.
3.
In Tuxedo UBBCONFIG, configure the following:
a.
Add two GROUP entries and three SERVER entries as shown in Listing 10‑3.
Listing 10‑3 UBBCONFIG Configuration
*GROUPS
DMGRP GRPNO=**NN** LMID=**LMNAME**
GWGRP1 GRPNO=**MM** LMID=**LMNAME**
*SERVERS
DMADM SRVID=**nnn** SRVGRP=DMGRP
GWADM SRVGRP=GWGRP1 SRVID=**nnn**
REPLYQ=N RESTART=Y
GWSNAX SRVGRP=GWGRP1 SRVID=**nnn** RQADDR="**SNADOM**"
REPLYQ=N RESTART=Y
CLOPT="-A -- -b"
 
Note:
GRPNO parameters are numeric and must be unique for all groups defined in ubbconfig. LMNAME parameter for the LMID must be one of the LMIDs defined in the *MACHINES section of the ubbconfig. In MP configuration with multiple LMIDs, it is recommended to define multiple groups — one per LMID — for the GWSNAX servers to be replicated across all machines in the cluster.
**nnn** is the Server ID number that must be unique for each server in the group. RESTART=Y is recommended; -b in CLOPT is recommended if there is a router or firewall between GWSNAX and CRM on z/OS periodically breaking the connection. This option activates a heartbeat mode that can help maintain the connectivity.
After updating the ubbconfig, ensure:
the Tuxedo domain is not running (otherwise run tmshutdown), and run tmloadcf to compile the updated ubbconfig;
BDMCONFIG environment variable points to the latest compiled bdmconfig file;
ULOG establishes connections with the CRM after running tmboot to bring up Tuxedo domain with GWSNAX;
For more information, see Configuring and Starting the System.
b.
Listing 10‑4 Enabling service level security in UBBCONFIG
*RESOURCES
SECURITY USER_AUTH
*SERVERS
AUTHSVR SRVGRP=GROUP0 SRVID=2 CLOPT="-A"
 
c.
Add ARTTCPL ARTADM ARTCNX ARTTSQ ARTSTRN ARTDPL to the *SERVERS section.
4.
Configure DMCONFIG:
Tuxedo dmconfig file is used to define the CRM parameters and services accessed through the TMA SNA connection. Some of these parameters are used locally and others are sent by GWSNAX to CRM on z/OS when the connection is established to dynamically configure the connection attributes. Some of the configuration parameters we have specified are used below in the DM_SNASTACKS, DM_SNALINKS, and DM_REMOTE_SERVICES sections of the dmconfig.
If you are building a new dmconfig, Listing 10‑5 may need to be adjusted to your mainframe connection. If it already exists for the same CRM connection, you only need to merge the relevant entries from the DM_SNASTACKS, DM_SNALINKS, and DM_REMOTE_SERVICES sections into the existing configuration. It is shown in bold typeface where you need to change according to your environment in Listing 10‑5:
Listing 10‑5 Sample DMCONFIG Configuration
*DM_LOCAL_DOMAINS
simpsnad
GWGRP=GWGRP1 // same as GWSNAX group in ubbconfig
TYPE=SNAX
DOMAINID="simpsnad"
DMTLOGDEV=**/tuxedo/path/to/DMTLOG** //GWSNAX domain TLOG file name
*DM_REMOTE_DOMAINS
MVSDOM TYPE=SNAX
DOMAINID="MVSDOM"
*DM_SNACRM
simpcrm SNACRMADDR="//host.name:NNNN" //host:port of CRM
NWDEVICE="/dev/tcp"
LDOM="simpsnad"
*DM_SNASTACKS
stack1
SNACRM="simpcrm"
STACKTYPE="VT210"
LOCALLU="**LUNAME**" // NETNAME in VTAM CONNECTION definition
LTPNAME="*"
STACKPARMS="host.name" //same as CRM host name
*DM_SNALINKS
link1 STACKREF="stack1" //Reference to DM_SNASTACKS entry name
RDOM="MVSDOM" //Reference to DOMAINID in DM_REMOTE_DOMAINS
LSYSID="OT12" //VTAM connection name
RSYSID="**CICX**"
RLUNAME="**CICSAPPL**" //CICS APPLID of CICS region
MODENAME="**SNANAME**" //MODE NAME in SESSION definition.
SECURITY="LOCAL" //if you want to use security features, refer to documentation
STARTTYPE="COLD"
MAXSESS=20
MINWIN=20
MAXSYNCLVL=2
*DM_LOCAL_SERVICES
*DM_REMOTE_SERVICES
SVSN_**PROGY** AUTOTRAN=N
LDOM="simpsnad" //Reference to DOMAINID in DM_LOCAL_DOMAINS
RDOM=MVSDOM //Reference to DOMAINID in DM_REMOTE_DOMAINS
CONV=N
RNAME="**PROGY**" //Reference to program name defined in remote CICS region
 
5.
Use tmloadcf to load UBBCONFIG.
Note:
6.
Use dmloadcf to load DMCONFIG.
7.
tpgrpadd tuxgrp
tpusradd -g tuxgrp tuxusr
Replace tuxgrp and tuxusr with your own and three files tpgrp, tpusr, and tpacl — will be generated.
8.
addusr -d SNAXDOM -R MVSDOM -u “mfusr” -w
addumap -d SNAXDOM -R MVSDOM -p “tuxusr” -u “mfusr”
9.
Step 4: Start CRM on Mainframe
Use the following command to start CRM on mainframe:
CRM [ -t 0|1|2|3 ] [-p<nbr>] [-s] [-n <type>:#:#] [-u <keyfile>] [-V] [-P [interval]] [-R [interval]] [-F [trcsz]] <addr> <group>
You can use JCL to start CRM as shown in Listing 10‑6:
Listing 10‑6 Using JCL to Start CRM
// SET STARTCMD='"//<address>:<port>" <group>'
// SET OBJLIB=
// SET DATA=
// SET ENVFILE=ENV
// SET RUNOPTS=
// SET SIZE=0M
// SET ENV='ENVAR("_CEE_ENVFILE=DD:ENV")'
//* SET CEE=CEE,CBC=CBC
//CRM EXEC PGM=CRM,REGION=&SIZE,
// PARM='POSIX(ON) &ENV &RUNOPTS/&STARTCMD'
//STEPLIB DD DSN=&OBJLIB,DISP=SHR
//* DD DSN=&CEE..SCEERUN,DISP=SHR
//* DD DSN=&CBC..SCLBDLL,DISP=SHR
//MSGFILE DD SYSOUT=*
//TRACE DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//ENV DD DSN=&DATA(&ENVFILE),DISP=SHR
 
For more information, see Command Reference Pages.
After all preceding steps performed, boot the ARTIMS domain and make a call to the online transaction to invoke the sub-transaction on z/OS.
 

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.