目次 前 次 PDF


ソフトウェアの確認

ソフトウェアの確認
Oracle Tuxedo Mainframe Adapter for SNAソフトウェアをインストールおよび構成した後は、クライアント/サーバー・トランザクション・シナリオを使用してシンプル・サーバー上でサンプル・アプリケーションを実行して、環境の動作の整合性を確認します。このプロセスでは、製品ソフトウェア・ライブラリに含まれるプログラムを使用します。
注意:
この項の内容は次のとおりです。
サンプル・アプリケーションは、シンプル・サーバー・ライブラリ(TMA/sna/simpapp)にあります。シンプル・サーバーはクライアントからサーバーに文字列を渡します。
CICS/ESAプログラムはDTPまたはDPLプロセスとして、およびサーバーまたはクライアントとして実行できます。また、シンプル・サーバーは、トランザクション・モードまたは非トランザクション・モードのいずれかで実行できます。トランザクション・モードでは、これらのシナリオにより、2つのアプリケーション環境間で同期レベル2のプロトコルが設定されていることを確認します。
クライアントがATMIクライアントとして実行される場合、サーバーはCICS/ESAホストとして実行されます。コマンド引数を指定するテキスト文字列は小文字で入力します。CICS/ESAサーバーは、小文字を大文字に変換してテキスト文字列を再表示します。
クライアントがCICS/ESAクライアントとして実行される場合、サーバーはATMIサーバーとして実行されます。この場合も、テキスト文字列は小文字で入力します。ATMIサーバーは、テキスト文字列をミラー・イメージに変換し、この文字列を反転文字で表示します。
注意:
確認テストの作成
ATMIローカル・ドメインとCICS/ESAリモート・ドメインの2つのドメインで実行する確認テストを作成します。各ドメインの実行可能ファイルは異なります。次の項では、これらの実行可能ファイルを作成する方法について説明します。
ATMIプラットフォーム実行可能ファイルの作成
ATMIプラットフォーム実行可能ファイルを作成するには、次の項で詳述されているタスクを実行します。
UBBCONFIGファイルの変更
UBBCONFIGファイルに次の変更を行います。
UBBCONFIGファイルへのATMIシンプル・サーバーの追加
UBBCONFIGファイルを変更して次のようにATMIシンプル・サーバー名を追加します。
GROUPS
GROUP3 LMID=sna GRPNO=3

SERVERS
mirrorsrv SRVGRP=GROUP3 SRVID=1 RQADDR=MIRR1 REPLYQ=Y

SERVICES
MIRROR
トランザクション・サービスの有効化
確認プロセスのトランザクション・バージョンを実行する場合は、MachineセクションのTLOGDEVICEコメントを有効にして、有効なDTPトランザクション・ログを参照するようにします。トランザクションの例を実行するには、ATMIプラットフォームの掲示板変更インタプリタtmadminを使用したUBBCONFIG TLOGDEVICEでDTPトランザクション・ログを指定して作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
GroupsセクションのGROUP3アプリケーション・サーバーは、有効なトランザクション・マネージャ・サーバーを参照している必要があります。次に例を示します。
GROUPS
GROUP3 LMID=sna GRPNO=3 TMSNAME=tsttms TMSCOUNT=2

SERVERS
mirrorsrv SRVGRP=GROUP3 SRVID=1 RQADDR=MIRR1 REPLYQ=Y

SERVICES
MIRROR
tmloadcfコマンドの実行
ATMI tmloadcfコマンドを実行してUBBCONFIGファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
次に例を示します。
tmloadcf UBBCONFIG
コマンドが実行される際に表示されるプロンプトに応答します。
DMCONFIGファイルの変更
DMCONFIGファイルには、シンプル・サーバーのローカル定義とリモート定義の両方を含める必要があります。
注意:
シンプル・サーバーにはサンプルのDMCONFIGファイルが同梱されています。
リスト3-1 サンプルのDMCONFIGファイル
*DM_LOCAL_SERVICES
#The ATMI reverse string server
MIRROR LDOM=”simpsnad”
CONV=N
RNAME=”MIRRORSERV”
INBUFTYPE=”STRING”
OUTBUFTYPE=”STRING”
DOUBLEMIRROR
CONV=N
RNAME="MIRRDPLS"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
*DM_REMOTE_SERVICES
#The CICS upper-case DTP and DPL servers
SIMPDPL AUTOTRAN=N
LDOM=”simpsnad”
RDOM=SNAG1
CONV=N
RNAME=”TOUPDPLS”
INBUFTYPE=”STRING”
OUTPBUFTYPE=”STRING”
FUNCTION=”DPL”
SIMPDTP AUTOTRAN=N
LDOM=”simpsnad”
RDOM=SNAG1
CONV=N
RNAME=”DTPS”
INBUFTYPE=”STRING”
OUTPBUFTYPE=”STRING”
FUNCTION=”APPC”
 
前述のDMCONFIGファイルの例で、LDOM名のインスタンスは2つともDM_LOCAL_DOMAINSセクションのSNAドメイン名に対応しています。サーバーはリクエスト/レスポンス・サーバーです。
DM_LOCAL_SERVICESセクションで、RNAME="MIRRORSERV"RNAME="MIRRDPLS"の値はCICS/ESA環境から渡される名前です。MIRRORDOUBLEMIRRORは、UBBCONFIGファイルに指定されたmirrorsrvサーバーによって提供される公開のサービスを参照しています。CONV=Nの定義は、SNAドメインが準拠するプロトコルを示します(ただし、CICS/ESAクライアントはATMI tpcallを実行しません)。
DM_REMOTE_SERVICESセクションで、RNAMEの値はCICS/ESAドメインでの起動対象を指定します。分散プログラム・リンク(DPL)リクエストの場合は、RNAMEはコールされるプログラムの名前(または、代替ミラー・トランザクション識別子の場合は、TRANSID/プログラム名の組合せ)と等しくなります。分散トランザクション処理(DTP)リクエストの場合は、RNAMEトランザクションIDの名前と等しくなります。
トランザクション確認テストを実行する場合は、DM_SNALINKSセクションにリンク定義MAXSYNCLVL=2を入力する必要があります。トランザクション非対応のDPLテストのみ実行する場合は、MAXSYNCLVL=1を入力する必要があります。
dmloadcfコマンドの実行
ATMI dmloadcfコマンドを実行してDMCONFIGファイルを解析し、このファイルのバイナリ・バージョンを作成します。オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
次に例を示します。
dmloadcf DMCONFIG
コマンドが実行される際に表示されるプロンプトに応答します。
環境ファイルの変更
Oracle Tuxedo Mainframe Adapter for SNA製品ソフトウェアには、確認テスト用のアプリケーション環境またはマシン環境(あるいはその両方)の定義に使用できる2種類のファイルが提供されています。これらに相当するものがない場合は、提供されているファイルを変更して、システムで使用できるようにします。これらのファイルはapps.envおよび<machine>.envです。
app.envファイル
app.envファイルを変更し、これにENVFILEパラメータを指定して、UBBCONFIGファイルのMACHINESセクションに追加します。リスト3-2app.envファイルの例です。
リスト3-2 app.envファイル
#================================================================
# app.env
# Environment macros for ATMI application testing.
#
# See also
# See $(TOP)/Makefile for more information.
#
# @(#)SNA Devel apps/simpsna app.env 1.4 98/03/03 15:42:30
# Copyright 1997, BEA Systems, Inc., all rights reserved.
#----------------------------------------------------------------
APPDIR=<Your application directory here>
TUXCONFIG=<Your Tux configuration here>
BDMCONFIG=<Your Domain configuration here>
TUXDIR=<Your ATMI directory here>
 
<Machine>.envファイル
ご使用のシステムに該当する<machine>.envファイルを変更します。
これらの各ファイルは実行可能ファイルです。ご使用のシステムに該当するファイルを変更したら、これを実行してマシン環境変数をエクスポートします。いくつかの.envファイルの例を次に示します。
リスト3-3はUNIXの.envファイルの例です。
リスト3-3 solaris.envファイル
#================================================================
# solaris.env
# Environment macros for SOLARIS testing.
#
# See also
# See $(TOP)/Makefile for more information.
#
# @(#)SNA Devel apps/simpsna solaris.env 1.3 98/02/23 12:39:05
# Copyright 1997, BEA Systems, Inc., all rights reserved.
#----------------------------------------------------------------
export APPDIR=<Your application directory bin here>
export TUXCONFIG=<Your ATMI configuration qualified name here>
export BDMCONFIG=<Your ATMI domain configuration qualified name here>
export TUXDIR=<Your ATMI product directory here>
export STACK=<Your stack product library here>
#example STACK=/opt/SUNWappc
export PATH=$APPDIR:$TUXDIR/bin:$PATH
export LD_LIBRARY_PATH=$TUXDIR/lib:$LD_LIBRARY_PATH:$STACK
 
リスト3-4はMVSの.envファイルの例です。
リスト3-4 mvs.envファイル
*================================================================
* mvs.env
* Environment macros for running the SNACRM on MVS.
*
* @(#)SNA $Source: /repos/sna/apps/simpsna/mvs.env,v $
* $Revision: 1.4 $ $Author: crount $
* $Date: 2000/08/22 15:30:46 $ $State: Exp $ $Locker: $
* Copyright 2000, BEA Systems, Inc., all rights reserved.
*---------------------------------------------------------------
APPDIR=<Your site high-level qualifier here>
*example APPDIR=BEA
 
サーバーの構築
ATMIプラットフォームのbuildserverユーティリティを使用して、提供されたソース・ファイルmirrorsrv.cからmirrorsrvサーバー・ロード・モジュールを構築します。このソース・ファイルには、mirrorsrvサーバーによって公開される2つのサービス・エントリ、MIRRORDOUBLEMIRRORが含まれます。
MIRRORサービスは、実行されると、クライアントからテキスト文字列を受信してこれらの文字を反転し、入力されたテキスト文字列のミラー・イメージを表示します。
DOUBLEMIRRORサービスは、実行されると、クライアントからテキスト文字列を受信してこれらの文字を反転し、文字列のイメージの後に反転文字列を連結します。
次のコマンドは、buildserverユーティリティを起動するコマンド・エントリの例です。
buildserver -o mirrorsrv -f mirrorsrv.c -s MIRROR,DOUBLEMIRROR
オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
クライアントの構築
ATMIプラットフォームのbuildclientユーティリティを使用して、提供されたソース・ファイルtoupcltからクライアント・ロード・モジュールを構築します。このロード・モジュールは実行すると小文字の文字列をサーバーに送信し、次にサーバーがそれをいくつかのモードで大文字に変換するため、様々なサーバー・シナリオが実行されます。
次に例を示します。
buildclient -o toupclt -f toupclt.c
オプションの詳細は、該当するATMIプラットフォームのドキュメントを参照してください。
CICS/ESA実行可能ファイルの作成
CICS/ESA実行可能ファイルを作成するには、次の項で詳述されているタスクを実行します。
ソース・コード言語の選択
確認に使用されるCICS/ESAサンプル・プログラムは、Oracle Tuxedo Mainframe Adapter製品ソフトウェアのインストール中にアンロードされます。これらのプログラムは2つの言語(COBOLおよびC)で用意されています。CICS/ESA実行可能オブジェクト・コードをビルドするために使用する言語を選択する必要があります(この選択はMVSホストで使用可能なコンパイラのタイプに左右されます)。
サンプル・プログラムの名前は接尾辞によって識別できます。
TOUPDTPS.cはC言語プログラムの名前です
TOUPDTPS.cblはCOBOL言語プログラムの名前です
これらのサンプル・プログラムの構造は異なりますが、どちらも同じ機能を実行します。ビルドするATMIプラットフォームの実行可能プログラムは、これらのいずれかと通信します。
ソース・コードのホストへの転送
FTP (ファイル転送プログラム)などの任意の方法で、ソース・コードをホストに転送します。宛先は順次データセットまたはPDSファイルになります。表3‑1に、UNIXおよびMVSプラットフォーム用に提供されているソース・コード・ファイルを示します。UNIXのファイル名の拡張子は、ソース・コードを転送する宛先ライブラリのタイプを示します。
 
CICS/ESA Verbの変換
この手順では、EXEC CICS動詞を、選択したソース言語で必要な形式のプログラムのCALL文に変換します。ソースはSYSINデータセットから読み取られます。変換されたソース・プログラムはSYSPUNCHデータセットに書き込まれます。変換モジュールによるリストはSYSPRINTデータセットに書き込まれます。
各ソース言語にそれぞれ変換モジュールが用意されています。また、変換手順には言語固有のパラメータがあります。ご使用の環境に適用できるその他の変換オプションについては、『IBM CICS/ESA Application Programming Guide』を参照してください。
変換モジュールはCICS/ESAロード・データセットにインストールされます。これは次の例ではCICSxxx.SDFHLOADエントリで指定されます(xxxはCICS/ESAのリリース番号)。
COBOL言語での変換モジュールの例
リスト3-5における変換モジュール名はDFHECP1$です。パラメータCOBOL2は、COBOL IIのverbを含むソース・モジュールを変換することを指定しています。
リスト3-5 COBOL言語での変換モジュールの例
//TRN EXEC PGM=DFHECP1$,
// PARM=‘COBOL2,NOS,CICS’,REGION=256K
//STEPLIB DD DSN=CICSXXX.SDFHLOAD,DISP=SHR
//SYSIN DD DSN=YOUR.PDS(pgmname),DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD DSN=&&SYSCIN,
// DISP=(,PASS),UNIT=SYSDA,
// DCP=BLKSIZE=400,
// SPACE=(400,(400,100))
 
C言語での変換モジュールの例
リスト3-6における変換モジュール名はDFHEDP1$です。パラメータCは、Cのverbを含むソース・モジュールを変換することを指定しています。
リスト3-6 C言語での変換モジュールの例
//TRN EXEC PGM=DFHEDP1$,
// PARM=‘C,NOS,CICS’,REGION=256K
//STEPLIB DD DSN=CICSXXX.SDFHLOAD,DISP=SHR
//SYSIN DD DSN=YOUR.PDS(pgmname),DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD DSN=&&SYSCIN,
// DISP=(,PASS),UNIT=SYSDA,
// DCB=BLKSIZE=400,
// SPACE=(400,(400,100))
 
変換されたソース・ファイルのコンパイル
次の手順では、変換されたソース・ファイル&&SYSCINをコンパイルします。この手順により、リンク編集手順に向けた次のプログラム・モジュールが生成されます。
TOUPDPLS (CICSサーバーのDPLモジュール)
TOUPDTPS (CICS APIを使用するCICSサーバーのDTPモジュール)
MIRRDPLC (CICSクライアントのDPLモジュール)
MIRRDTPC (CPI-C動詞を使用するCICSクライアントのDTPモジュール)
COBOLコンパイラの例
リスト3-7はCOBOLコンパイラの例を示します。
リスト3-7 COBOLコンパイラの例
//COB EXEC PGM=IGYCRCTL,REGION=GM,
// PARM=‘NODYNAM,RENT,RES,APOST,MAP,XREF’
//STEPLIB DD DSN=SYS2.COB2.COB2COMP,DISP=SHR
//SYSLIB DD DSN=CICSXXX.SDFCOB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=&&SYSCIN,DISP=(OLD,DELETE)
//SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS),
// UNIT=&WORK,SPACE=(400,(20,20))
//SYSUT1 DD UNIT-WORK,SPACE=(460,(350,100))
//SYSUT2 DD UNIT=WORK,SPACE=(460,350,100))
//SYSUT3 DD UNIT=WORK,SPACE=(460,(350,100))
//SYSUT4 DD UNIT=&WORK,SPACE=(460,(350,100))
//SYSUT5 DD UNIT=&WORK,SPACE=(460,(350,100))
//SYSUT6 DD UNIT=&WORK,SPACE=(460,(350,100))
//SYSUT7 DD UNIT=&WORK,SPACE=(460,(350,100))
 
Cコンパイラの例
C言語のソースをコンパイルおよび事前にリンクします。Oracle Tuxedo Mainframe Adapter for SNAのインストール・ライブラリには、C言語のコンパイラの例が含まれています。リスト3‑8はC/MVSコンパイラの例を示します。
この例では、外部記憶域の変数は、CICS/ESA環境のロード・モジュールで再入可能である必要があります。また、C言語のソースにはlong型の変数および関数名も含まれています。long型の名前を解決し、コンパイルされたオブジェクトから再入可能な変数を作成するには、事前リンク手順を実行する必要があります。事前リンク手順を実行し、コンパイル・プログラムでRENTオプションを使用して、コンパイル出力をリンク編集手順で使用します。
リスト3-8 C/MVSコンパイラの例
//*----------------------------------------
//* COMPILE STEP:
//*----------------------------------------
//COMPILE EXEC PGM=CBC310,REGION=2M,COND=(7,LT,TRN),
// PARM=(‘OPT(1),LONGNAME,RENT,SOURCE’)
//STEPLIB DD DSNAME=SYS1.SCEERUN,DISP=SHR
// DD DSNAME=SYS1.SCBC3CMP,DISP=SHR
//SYSMSGS DD DSNAME=SYS1.SCBC3MSG(EDCMSGE),DISP=SHR
//SYSIN DD DSNAME=&&SYSCIN,DISP=SHR **FROM TRN STEP
//SYSLIB DD DSNAME=SYS1.SCEEH.H,DISP=SHR
// DD DSNAME=SYS1.SCEEH.SYS.H,DISP=SHR
// DD DSNAME=CICSxxx.SDFHC370,DISP=SHR**CPIC
// REQUIRED**
//SYSLIN DD DSNAME=&&PLNKSET,UNIT=VIO,
// DISP=(MOD,PASS),SPACE=(TRK,(3,3)),
// DCP=(RECFM=FG,LRECL=80,BLKSIZE=&SYSLBLK)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSCPRT DD SYSOUT=*
//SYSUT1 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200
//SYSUT4 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200
//SYSUT5 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT6 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT7 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT8 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=12800
//SYSUT9 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=137,BLKSIZE=882
//SYSUT10 DD SYSOUT=*
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200
//SYSUT14 DD UNIT=VIO,SPACE=(32000,(30,30,)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=128007
//PLKED EXEC PGM=EDCPRLK,COND=((7.LT,C),(7,LT,TRN)),
// PARM=’MAP’
//STEPLIB DD DSN=SYS1.SCEERUN,DISP-SHR
//SYSMSGS DD DSN=SYS1.SCEEMSGP(EDCPMSGE),DISP+SHR
//SYSLIB DD DSN=&LE370HLQ..SCEECPP,DISP=SHR
// DD DUMMY
//SYSIN DD DSN=&&PLNKSET,DISP=(MOD,PASS)
//SYSMOD DD DSN=&&LOADSET,DISP=(,PASS),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
 
実行可能オブジェクトの作成
次の手順では、コンパイルされたソースを取得して実行可能オブジェクトを作成します。作成されたオブジェクト・モジュールは、CICS/ESAリージョン・データセットと連結されるアプリケーション・ライブラリにロードする必要があります。
次のCOBOLおよびCプログラムの例では、SYSLINは、コンパイルされたソースとその他の必要な実行可能ファイル(CICS API動詞用インタフェース、CPI-C動詞用インタフェースおよびSNAのリソース・リカバリ動詞(同期レベル2)用インタフェースなど)を連結したファイルの名前です。
リスト3-9では、モジュールは再入可能としてリンクされ、31ビット・モードのアドレス機能を持つものとしてマークされています。このアクションは、CPI-CおよびSAAのリソース/リカバリ・リクエストを実行するMIRRDTPCモジュールでは必須です。
NAMEは、生成する実行可能ファイルの名前に変更する必要があります。
リスト3-9 TOUPDPLS、TOUPDTPSおよびMIRRDPLCのCOBOLリンク編集サンプル
//LKED EXEC PGM=IEWL, * ** LINKAGE EDITOR **
// PARM=AMODE=31,RENT,
// REGION=512K
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD *
// INCLUDE SYSLIB(DFHECI)
// ORDER DFHECI
// NAME xxxxxxxx(R)
/*
//SYSLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
// DD DSN=CICSxxx.SDFHCOB,DISP=SHR
// DD DSN=SYS1.SCEELKED,DISP=SHR
// DD DSN=SYS1.SIGYCOMP,DISP=SHR
//SYSLMOD DD DSN=application.loadlib,DISP=(SHR,PASS)
//SYSUT1 DD UNIT=VIOD,SPACE=(1024,(50,20))
//
 
リスト3-10 MIRRDTPCのCOBOLリンク編集サンプル
//LKED EXEC PGM=IEWL, * ** LINKAGE EDITOR **
// PARM=AMODE=31,RENT,
// REGION=512K
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD *
// INCLUDE SYSLIB(DFHECI)
// INCLUDE SYSLIB(DFHCPLC)
// INCLUDE SYSLIB(DFHCPLRR)
// ORDER DFHECI
// NAME xxxxxxxx(R)
/*
//SYSLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
// DD DSN=CICSxxx.SDFHCOB,DISP=SHR
// DD DSN=SYS1.SCEELKED,DISP=SHR
// DD DSN=SYS1.SIGYCOMP,DISP=SHR
//SYSLMOD DD DSN=application.loadlib(xxxxxxxx),DISP=(SHR,PASS)
//SYSUT1 DD UNIT=VIOD,SPACE=(1024,(50,20))
//
 
リスト3-11 Cのリンク編集サンプル
//LKED EXEC PGM=HEWL,REGION=4M,
// PARM='AMODE=31,RENT,
// COND=((7,LT,C),(7,LT,PLKED),(7,LT,TRN))
//SYSLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
// DD DSN=SYS1.SCEELKED,DISP=SHR
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)
// DD *INCLUDE SYSLIB(DFHELII)
// INCLUDE SYSLIB(DFHCPLC)
// INCLUDE SYSLIB(DFHCPLRR)NAME xxxxxxxx(R)
/*
//SYSLMOD DD DSN=application.loadlib(xxxxxxxx),DISP=SHR
//SYSUT1 DD UNIT=VIOD,SPACE=(1024,(50,20))
//SYSPRINT DD SYSOUT=*
 
CICS/ESAアプリケーションの構成
インストールされたOracle Tuxedo Mainframe Adapter for SNAソフトウェアには、CICSアプリケーションを構成するための2つのサンプル・ファイルが含まれています。
BEACONNファイルには、ホスト・システムのCICS/ESA構成パラメータが含まれています。これには接続定義とセッション定義があります。
BEASNAファイルには、アプリケーション定義が含まれ、これによりCICS/ESA環境でのインストールの確認を実行できます。この定義はインストールの確認を実行する場合に必要です。これらにはプログラム定義、トランザクション定義、およびCPI-Cの例におけるパートナ定義があります。
注意:
BEACONNファイルは、定義が現在ない場合にのみ、CICS/ESAシステム定義(CSD)ファイルに追加してください。システム管理者に確認してください。
ファイルを追加する方法の1つとして、バッチ・ユーティリティ・プログラムDFHCSDUPの使用があります。リスト3-12は、BEASNAファイルを追加するバッチ・プログラムとしてDFHCSDUPの起動に使用できるジョブ制御言語(JCL)文の例です。
リスト3-12 DFHCSDUPを起動するJCLの例
//YOURJOB JOB accounting info,name,MSGLEVEL=1
//STEP1 EXEC PGM=DFHCSDUP,REGION=512K,
// PARM='CSD(READWRITE),PAGESIZE(60),NOCOMPAT'
//STEPLIB DD DSN=CICSxxx.SDFHLOAD,DISP=SHR
//DFHCSD DD UNIT=SYSDA,DISP=SHR,DSN=CICSxxx.DFHCSD
//SYSPRINT DD SYSOUT=A
//SYSIN DD DSN=YOUR.PDS(BEASNA),DISP=SHR
 
サンプル・メンバーの定義では、Oracle Tuxedo Mainframe Adapter for SNAのオンライン・リソース定義(RDO)グループ名を使用します。この定義は既存のRDOグループに追加できるだけでなく、頻繁に使用する場合はCICS/ESA起動リストに追加することもできます。(この場合、CICS/ESAリージョンの起動時にグループが自動的にインストールされます。)グループを起動リストに追加するには、サンプルRDOの次の文を非コメント化します。
ADD GROUP(BEACONN) LIST(**YOURLIST**)
ADD GROUP(BEASNA) LIST(**YOURLIST**)
これらの引数のうち、**YOURLIST**が起動リスト名です。
CICS/ESAリージョンの起動後にグループを手動でインストールするには、CICS/ESAターミナル・セッションから次のコマンドを発行します。
CEDA I GROUP(BEACONN)
CEDA I GROUP(BEASNA)
BEACONNファイル: 接続定義
BEACONNファイルにはサンプルの接続定義が含まれています。
注意:
サンプルの接続定義の名前はBEAで、インストール・グループ名BEACONNの下にあります。これは次のようになります。
リスト3-13 BEACONNファイルのサンプル接続定義
DEFINE CONNECTION(BEA) GROUP(BEACONN)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(**LOCALLU**)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)
 
**LOCALLU**は、VTAMで認識されるSNAスタックのLU名に変更する必要があります。ATTACHSECオプションは、ユーザーのセキュリティ上接続で必要とされるアタッチ時間のレベルを指定します。最もシンプルなセキュリティはLOCALです。ユーザーの認証はリンクの認証自体と同じとみなされ、リモートのセキュリティ・ユーティリティで提供される認証の検証に依存します。AUTOCONNECTは、接続を確立するタイミングを指定します。NOは必須です。このエントリは、接続がスタックによって確立されるときにCICSがセッションをバインドしないことを示します。
注意:
サンプルの接続定義は、既存の接続を含まない別のグループのホストに配置してインストールします。たとえば、CEDA INSTALLコマンドを使用します。
CEDA INSTALL GROUP(BEACONN)
BEACONNファイル: セッション定義
BEACONNファイルには、サンプルのセッション定義も含まれています。これは、リモート・ホストに配置することにより、ATMIプラットフォームのローカル・ドメインとリモート・ホストとの通信用の論理リンクを定義します。
サンプルのセッション定義の名前はBEATESTで、BEACONNというインストール・グループの下にあります。リスト3-14は、BEACONNファイルのセッション定義の例を示します。
リスト3-14 BEACONNファイルのサンプル・セッション定義
DEFINE SESSION(BEATEST) GROUP(BEACONN)
CONNECTION(BEA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE RDO SESSION)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(**MODE**) MAXIMUM(**MAX**,**MIN**)
 
AUTOCONNECTは、セッションのアクティブ化をネゴシエートする方法を指定します。YESは、接続がバインドされたときにCICS/ESAホストが自身の競合の勝者セッションとネゴシエートできるようにします。Oracle Tuxedo Mainframe Adapter for SNAソフトウェアがCICS/ESAホストのかわりに接続を確立する必要があります。ただし、スタックが接続を確立した場合は、これは勝者として認識された個数のセッションのみバインドできます。AUTOCONNECTパラメータをYESに設定すると、接続が確立されたときにただちにホストは勝者セッションをバインドします。それ以外の場合、ホストのアウトバウンド・クライアントは勝者セッションを待機してからバインドする必要があります。
**MODE**は、SMSNA100などのCICS/ESA提供のモード名、またはユーザー定義のモード名のいずれかに置き換えます。BEA接続に別のセッション定義セットが存在する場合は、このモード名は接続に定義されているすべてのセット間で一意である必要があります。このモード名はVTAM LOGMODE名に対応します。
MAXIMUMオプションは、(**MAX**)セット内のセッションの合計数、および競合の勝者セッションの合計数(**MIN**)を定義します。インストールが確認されるには、勝者セッションの合計数にホストおよびリモート・スタックの勝者セッションの合計数が含まれている必要があります。インストールの確認プロセスでは、両方の側をクライアントとして実行できます。ローカルの競合の勝者セッションとリモート・ホストの勝者セッションの合計数は、セッション数と一致する必要があります。ローカルのセッション数はリモートのセッション数と一致する必要があります。
BEASNAファイル: プログラム定義
BEASNAファイルには、リスト3-15に示すサンプルのプログラム定義が含まれています。サンプル内のLANGUAGE変数**LANG**を、サンプル・アプリケーションに選択したソース・タイプを示すCまたはCOBOLに置き換えます。
リスト3-15 BEASNAファイルのサンプル・プログラム定義
DEFINE PROGRAM(MIRRDPLC) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL CLIENT
(MIRROR STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
DEFINE PROGRAM(MIRRDTPC) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT (MIRROR
STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
DEFINE PROGRAM(TOUPDTPS) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP SERVER
(TOUPPER STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
DEFINE PROGRAM(TOUPDPLS) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL SERVER
(TOUPPER STRING))
LANGUAGE(**LANG**) DATALOCATION(ANY)
 
BEASNAファイル: リモート・プログラム定義
BEASNAファイルには、リスト3-16に示すサンプルのリモート・プログラム定義も含まれています。このプログラム定義をCICS DPLクライアントが使用してDPLリクエストのリモート・システムおよびリモート・サービスを指定します。サンプルのREMOTESYSTEM変数**CONNECTION ID**をリモートLUの接続名に置き換えます。
リスト3-16 BEASNAファイルのサンプル・リモート・プログラム定義
DEFINE PROGRAM(MIRRDPLS) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE DPL REMOTE PROGRAM
DEFINITION)
LANGUAGE(C) DATALOCATION(ANY)
REMOTESYSTEM(**CONNECTION ID**) REMOTENAME(MIRRDPLS)
 
BEASNAファイル: トランザクション定義
BEASNAファイルには、リスト3-17に示すサンプルのトランザクション定義も含まれています。
リスト3-17 BEASNAファイルのサンプル・トランザクション定義
DEFINE TRANSACTION(DTPS GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP SERVER)
TASKDATALOC(ANY) PROGRAM(TOUPDTPS)
DEFINE TRANSACTION(H1PL) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL CLIENT -
SYNCLEVEL 1)
TASKDATALOC(ANY) PROGRAM(MIRRDPLC)
DEFINE TRANSACTION(H2PL) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT -
SYNCLEVEL 2)
TASKDATALOC(ANY) PROGRAM(MIRRDPLC)
DEFINE TRANSACTION(H0TP) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DPL CLIENT -
SYNCLEVEL 0)
TASKDATALOC(ANY) PROGRAM(MIRRDTPC)
DEFINE TRANSACTION(H2TP) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT -
SYNCLEVEL 2)
TASKDATALOC(ANY) PROGRAM(MIRRDTPC)
 
BEASNAファイル: パートナ定義
サンプルのCICS/ESAクライアントのMIRRDTPCには、CPI-C動詞が含まれています。パートナ・リソース定義には、ATMIサーバーとの会話型通信を割り当てるために必要なCPI-C側の情報と、リモートのLUおよびトランザクション・プログラムに関する情報が含まれています。
リスト3-18に示すように、TPNAMEパラメータはリモート・システムで起動されるトランザクション・プログラムを指定します。この場合、その名前はDMCONFIGファイルのDM_LOCAL_SERVICESセクションのRNAME値に関連付けられます。このRNAMEはパートナ定義のTPNAMEと一致する必要があります。(サンプルのDMCONFIGファイルにはローカル・サービス定義であるMIRRORが存在することに注意してください。この定義内のRNAMEはサンプルのパートナ定義のTPNAMEと一致しています。)
プロファイル・リソース定義は会話型通信属性、特にMODENAMEを定義できます。サンプルのPROFILEパラメータは有効なプロファイル・リソース定義に置き換えることができます。このパラメータのデフォルト・プロファイル名はDFHCICSAです。DFHCICSAはCICSに含まれているプロファイルです。
リモートLUのConnection定義に指定されているNETNAMEを使用して、**NETWORK NAME**を置き換えます。
リスト3-18 BEASNAファイルのサンプル・パートナ定義
DEFINE PARTNER(MIRRDTPS) GROUP(BEASNA)
DE(TUXEDO MAINFRAME ADAPTER FOR SNA EXAMPLE CICS DTP CLIENT USING CPIC
VERBS
TPNAME(MIRRORSERV) PROFILE(**DFHCICSA**)
NETNAME(**NETWORK NAME**)
 
接続およびセッションのステータスの表示
確認グループ定義の作成後、次のCICS/ESAシステム・コマンドを使用して接続およびセッションのステータスを表示できます。
CEMT I CONN(BEA) **view the status of the connection
CEMT I NET(**NETNAME**) **View the status of the sessions
CEMT I MODENAME(**MODE**) **View the status of the mode
サンプル・アプリケーションの実行
サンプル・アプリケーションを実行してOracle Tuxedo Mainframe Adapter for SNAのインストールを確認する準備ができました。次の前提条件を満たしておく必要があります。
サンプル・アプリケーションには複数のシナリオが含まれています。クライアントがATMIクライアントとして実行される場合、サーバーはCICS/ESAホストとして実行されます。クライアントがCICS/ESAクライアントとして実行される場合、サーバーはATMIサーバーとして実行されます。
ATMIクライアントからのアプリケーションの実行
このシナリオでは、toupcltクライアントは、CICS/ESAホスト・サーバーに対してtpcallを実行します。入力した文字列はサーバーにより小文字から大文字に変換されます。クライアントはトランザクション対応モードかトランザクション非対応モードで実行できます。CICS/ESAサーバーはDTPプログラムまたはDPLプログラムとして実行できます。
たとえば、次のコマンドを入力します。
toupclt -s 0 -t DTP “hello world”
このコマンドでは、引数およびオプションは次のように定義されています。
-s (0|2)
アプリケーションの同期レベル。
0 = none (デフォルト)
2 = トランザクション。
-t (DPL|DTP)
リモート・サーバー・プログラム。
DPL = 分散プログラム・リンク(デフォルト)
DTP = 分散トランザクション・プログラム
-h
ヘルプ
“ “
最大1915文字の文字列を小文字にします。
ATMIクライアントはコマンドを正常に実行すると文字列を大文字で表示します(次はその例です)。
“HELLO WORLD”
CICS/ESAクライアントからのアプリケーションの実行
次の項では、CICS/ESAクライアントからアプリケーションを実行する2つのシナリオを示します。
CPI-Cを使用したCICS/ESAクライアント
このシナリオでは、CICS/ESAクライアントは、テキスト文字列をOracle Tuxedo Mainframe Adapter for SNAシンプル・サーバーに送信します。この文字列は、クライアントの画面に逆の順序で再表示されます。
次のいずれかのコマンドを入力します。
H0TP <string>
H2TP <string>
これらのコマンドでは、引数およびオプションは次のように定義されています。
H0TP = CPI-C Application Sync-Level 0
H2TP = CPI-C Application Sync-Level 2
<string> is a text string up to 1915 characters long.
CICS/ESAクライアントは、トランザクションを正常に完了すると、テキスト文字列を逆の順序で表示します。例:
次のように入力するとします。
H0TP HELLO WORLD
次の値が戻されます。
DLROW OLLEH
DPLを使用したCICS/ESAクライアント
2つのトランザクションでは、DPLサンプルに対して同じプログラムを実行できます。1つは必須の同期レベル1のシンプルなリクエスト/レスポンスで、もう1つは同期レベル2のトランザクション・リクエスト/レスポンスです。
次のいずれかのコマンドを入力します。
H1PL <string>
H2PL <string>
これらのコマンドでは、引数およびオプションは次のように定義されています。
H1PL = DPL Application Sync-Level 1
H2PL = DPL Application Sync-Level 2
<string> is a text string up to 955 characters long.
CICS/ESAクライアントはトランザクションを正常に完了すると、入力されたテキスト文字列に、テキスト文字列の反転(またはミラー)イメージを連結して表示します。例:
次のように入力するとします。
H1PL HELLO WORLD
次の値が戻されます。
HELLO WORLD : DLROW OLLEH
CICS/VSEクライアントからのアプリケーションの実行
CICS/VSEのサンプル・アプリケーションは、CICS/ESAのサンプル・アプリケーションと実質的には同じですが、ファイル名の拡張子が.vseである点のみ異なります。サンプル・アプリケーションを実行するシナリオは両方のクライアント・カテゴリに共通に適用されます。その他に注目に価する相違といえば、CICS/VSEオペレーティング・システムに対応するとともに、CPI-Cインタフェースに対するCICS/VSEの非サポートに対応するための、サンプル・アプリケーションの軽微な構文変更ぐらいのものです。
CICS/VSEサンプル・アプリケーション
次はCICS/VSEサンプル・アプリケーションのリストです。
その他の考慮事項
FTPの操作によっては、C言語の特殊文字が誤変換される場合があります。ソース・ファイルを編集し、大カッコ[ ]および縦棒| |文字の誤変換を訂正する必要がある場合があります。
CSMIおよびCVMIは、属性INBFMH = NOが指定されたプロファイルDFHCICSTを使用します。DTPトランザクションを使用する場合は、INBFMH = ALLを設定する必要があります。そうしないと、ABEND AXFQが発生します。
CICS/VSEトランザクションは、セキュリティ属性RSLC=NOを使用して定義する必要があります。そうしないと、クライアントにEIBRCODE (NOTAUTH)が戻されます。

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