Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成の手引


8.3.2 DAMサンプル固有の作業

DAMサンプル固有の準備手順について説明します。ここの記述では,次の条件でサンプルを使うものとします。

使うシェル:Cシェル

OpenTP1ホームディレクトリ:/usr/betran

〈この項の構成〉

(1) アプリケーションプログラムを作成します

DAMサンプル用のサンプルプログラムを作成する手順を示します。サンプルプログラムは,UNIXのツールmakeコマンドを使います。サンプルでは,専用のmakefileをDAMサンプルのディレクトリに作成してあります。makeコマンドは,OpenTP1をセットアップしたあとに実行してください。OpenTP1のセットアップについては,「8.3.3(1) OpenTP1をセットアップします」を参照してください。OpenTP1をセットアップする前にmakeコマンドを実行するとコンパイルエラーで失敗します。

(a) トランザクション制御用オブジェクトファイルの作成

OpenTP1のコマンドtrnmkobjコマンドで,トランザクション制御用オブジェクトファイルを作成します。

サンプルで使うmakefile内では,トランザクション制御用オブジェクトファイルをdam_sw.oという名称で作成するようにしてあります。そのため,trnmkobjコマンドを実行して作成するオブジェクトファイル名は,dam_sw.oになるようにしてください。

オブジェクトファイルは,$DCDIR/spool/trnrmcmd/userobj/ディレクトリの下に作成されます。同じ名称のオブジェクトファイルがある場合は,事前に退避させておいてください。

コマンド入力例を次に示します。

%  trnmkobj  -o  dam_sw  -R  OpenTP1_DAM  <CR>

(b) UAPの実行形式ファイルの作成

aplib/ディレクトリにあるc/またはcobol/ディレクトリをカレントディレクトリとして,makeコマンドを実行します。

C言語のUAPを作成するコマンド入力例を次に示します。

%  chdir  $DCDIR/examples/dam/aplib/c  <CR>
%  make   <CR>

このコマンドを実行すると,aplib/ディレクトリにUAPの実行形式ファイル(C言語)が作成されます。

(2) システム定義を修正します

サンプルでは,システム定義の手間を省くために,システム定義の定義例を提供しています。ただし,一部の定義ファイルは,実際のOpenTP1ホームディレクトリを絶対パス名で指定する必要があります。

(a) OpenTP1ホームディレクトリの定義を変更する手順

実際のOpenTP1ホームディレクトリに修正するときは,変更用のツールchconfコマンドを使います。このコマンドを実行と,定義ファイルにOpenTP1ホームディレクトリが$DCDIRとなっている部分をOpenTP1ホームディレクトリ(例えば,/usr/betran)に変更します。

chconfコマンドは,conf/ディレクトリに移動してから実行します。

コマンド入力例を次に示します。

%  chdir  $DCDIR/examples/dam/conf  <CR>
%  chconf  <CR>

chconfコマンドを実行すると,定義ファイルの内容が変更されます。変更する定義ファイルと変更する内容を次の表に示します。変更される部分を太字で示します。

表8‒5 変更する定義ファイルと変更する内容(DAMサンプル)

変更する定義ファイル

変更する内容

env

putenv DCCONFPATH $DCDIR/examples/dam/conf

prc

putenv prcsvpath $DCDIR/examples/dam/aplib

sts

物理ファイル名:$DCDIR/examples/dam/betranfile/×××

sysjnl

物理ファイル名:$DCDIR/examples/dam/betranfile/×××

cdtrn

物理ファイル名:$DCDIR/examples/dam/betranfile/×××

このツール(chconfコマンド)を実行する前には,環境変数DCDIRにあらかじめOpenTP1ホームディレクトリを設定しておいてください。設定していないと正常に変更できません。

(b) 変更したOpenTP1ホームディレクトリを元に戻す方法

変更したOpenTP1ホームディレクトリを元に戻すときは,変更取り消し用のツールbkconfコマンドを使います。chconfコマンドで変更しようとした内容を,初期状態に戻します。

chconfコマンドでシステム定義を正常に変更できなかった場合は,すぐにbkconfコマンドを実行してください。

コマンド入力例を次に示します。

%  chdir  $DCDIR/examples/dam/conf  <CR>
%  bkconf  <CR>

(3) 環境変数と定義ファイルを設定します

作成したサンプルUAPとサンプルのシステム定義で,OpenTP1システムを開始する手順について説明します。

(a) 環境変数DCCONFPATHの設定

環境変数DCCONFPATHに定義ファイルを格納しているディレクトリを設定します。この設定をすると,OpenTP1が定義ファイルの内容を認識できるようになります。

コマンド入力例を次に示します。

cshの場合
%  setenv  DCCONFPATH  $DCDIR/examples/dam/conf  <CR>
bashの場合
$  export  DCCONFPATH=$DCDIR/examples/dam/conf  <CR>

(b) 定義ファイルenvのコピー

定義ファイルのうち,envファイルだけは,$DCDIR/confからOpenTP1に読み込まれます。そのため,サンプルとして作成したenv定義ファイルを$DCDIR/confへ移動します。

$DCDIR/conf/ディレクトリにenv定義ファイルを作成している場合は,上書きされてしまうので,必要であれば退避しておいてください。

コマンド入力例を次に示します。

%  cp  $DCDIR/examples/dam/conf/env  $DCDIR/conf  <CR>

(c) OpenTP1ファイルシステムの初期化

OpenTP1ファイルシステムを初期化します。DAMサンプル用のOpenTP1ファイルシステムの初期化は,dam_mkfsというシェルファイルを実行します。

コマンド入力例を次に示します。

%  dam_mkfs  <CR>

このシェルファイルを実行すると,$DCDIR/examples/dam/ディレクトリの下にbetranfileというファイルが生成され,この下にOpenTP1ファイルシステムが構築されます。