TAMサンプル固有の準備手順について説明します。ここの記述では,次の条件でサンプルを使うものとします。
TAMサンプル用のサンプルプログラムを作成する手順を示します。サンプルプログラムは,UNIXのツールmakeコマンドを使います。サンプルでは,専用のmakefileをTAMサンプルのディレクトリに作成してあります。
OpenTP1のコマンドtrnmkobjコマンドで,トランザクション制御用オブジェクトファイルを作成します。
サンプルで使うmakefile内では,トランザクション制御用オブジェクトファイルをtam_sw.oという名称で作成するようにしてあります。そのため,trnmkobjコマンドを実行して作成するオブジェクトファイル名は,tam_sw.oになるようにしてください。
オブジェクトファイルは,$DCDIR/spool/trnrmcmd/userobj/ディレクトリの下に作成されます。同じ名称のオブジェクトファイルがある場合は,事前に退避させておいてください。
コマンド入力例を次に示します。
% trnmkobj -o tam_sw -R OpenTP1_TAM <CR>
aplib/ディレクトリにあるc/またはcobol/ディレクトリをカレントディレクトリとして,makeコマンドを実行します。C言語のUAPを作成するコマンド入力例を次に示します。
% chdir $DCDIR/examples/tam/aplib/c <CR>
% make <CR>
このコマンドを実行すると,aplib/ディレクトリにUAPの実行形式ファイル(C言語)が作成されます。
サンプルでは,システム定義の手間を省くために,システム定義の初期値を提供しています。ただし,一部の定義ファイルは,実際のOpenTP1ホームディレクトリを絶対パス名で指定する必要があります。
実際のOpenTP1ホームディレクトリに修正するときは,変更用のツールchconfコマンドを使います。このコマンドを実行することで,定義ファイルにOpenTP1ホームディレクトリが$DCDIRとなっている部分をOpenTP1ホームディレクトリ(例えば,/usr/betran)に変更します。
chconfコマンドは,サンプルで提供するconf/ディレクトリに移動してから実行します。コマンド入力例を次に示します。
% chdir $DCDIR/examples/tam/conf <CR>
% chconf <CR>
chconfコマンドを実行すると,定義ファイルの内容が変更されます。変更する定義ファイルと変更する内容を次の表に示します。変更される部分を太字で示します。
表8-7 変更する定義ファイルと変更する内容(TAMサンプル)
変更する定義ファイル | 変更する内容 |
---|---|
env | putenv DCCONFPATH $DCDIR/examples/tam/conf |
prc | putenv prcsvpath $DCDIR/examples/tam/aplib |
sts | 物理ファイル名:$DCDIR/examples/tam/betranfile/××× |
sysjnl | 物理ファイル名:$DCDIR/examples/tam/betranfile/××× |
cdtrn | 物理ファイル名:$DCDIR/examples/tam/betranfile/××× |
このツール(chconfコマンド)を実行する前には,環境変数DCDIRにあらかじめOpenTP1ホームディレクトリを設定しておいてください。設定していないと正常に変更できません。
変更したOpenTP1ホームディレクトリを元に戻すときは,変更取り消し用のツールbkconfコマンドを使います。chconfコマンドで変更しようとした内容を,初期状態に戻します。
chconfコマンドでシステム定義を正常に変更できなかった場合は,すぐにbkconfコマンドを実行してください。
コマンド入力例を次に示します。
% chdir $DCDIR/examples/tam/conf <CR>
% bkconf <CR>
作成したサンプルUAPとサンプルのシステム定義で,OpenTP1システムを開始する手順について説明します。
環境変数DCCONFPATHに定義ファイルを格納しているディレクトリを設定します。この設定をすることで,OpenTP1が定義ファイルの内容を認識できるようになります。
コマンド入力例を次に示します。
% setenv DCCONFPATH $DCDIR/examples/tam/conf <CR>
定義ファイルのうち,envファイルだけは,$DCDIR/confからOpenTP1に読み込まれます。そのため,サンプルとして作成したenv定義ファイルを$DCDIR/confへ移動します。
$DCDIR/conf/ディレクトリにenv定義ファイルを作成している場合は,上書きされてしまうので,必要であれば退避しておいてください。
コマンド入力例を次に示します。
% cp $DCDIR/examples/tam/conf/env $DCDIR/conf <CR>
OpenTP1ファイルシステムを初期化します。TAMサンプル用のOpenTP1ファイルシステムの初期化は,tam_mkfsというシェルファイルを実行します。
コマンド入力例を次に示します。
% tam_mkfs <CR>
このシェルファイルを実行することで,$DCDIR/examples/tam/ディレクトリの下にbetranfileというファイルが生成され,この下にOpenTP1ファイルシステムが構築されます。