8.2.4 Baseサンプル固有の作業(サービス関数動的ローディング機能を使用する場合)
サービス関数動的ローディング機能を使用する場合の,Baseサンプル固有の準備手順について説明します。ここの記述では,次の条件でサンプルを使うものとします。
使うシェル:Cシェル
OpenTP1ホームディレクトリ:/usr/betran
(1) アプリケーションプログラムを作成します
サービス関数動的ローディング機能を使用する場合の,BaseサンプルのUAPを作成する手順を示します。サンプルプログラムを作成するときは,UNIXのツールmakeコマンドを使います。サンプルでは,専用のmakefileをBaseサンプルのディレクトリに作成してあります。
makeコマンドは,aplib/ディレクトリにあるc/またはcobol/ディレクトリをカレントディレクトリとして実行します。makeコマンドは,OpenTP1をセットアップしたあとに実行してください。OpenTP1のセットアップについては,「8.2.5(1) OpenTP1をセットアップします」を参照してください。OpenTP1をセットアップする前にmakeコマンドを実行するとコンパイルエラーで失敗します。
C言語のUAPを作成するコマンド入力例を次に示します。
% chdir $DCDIR/examples/base/aplib/c <CR> % make -f make_svdl <CR>
このコマンドを実行すると,aplib/ディレクトリの下にbasespp2およびbasesup2というUAPの実行形式ファイル(C言語)が作成されます。
(2) システム定義を修正します
サンプルでは,システム定義の手間を省くために,定義ファイルの例を提供しています。ただし,一部の定義ファイルは,実際のOpenTP1ホームディレクトリを絶対パス名で指定する必要があります。
(a) OpenTP1ホームディレクトリの定義を変更する手順
実際のOpenTP1ホームディレクトリに修正するときは,変更用のツールchconfコマンドを使います。このコマンドを実行すると,定義ファイルの項目でOpenTP1ホームディレクトリが$DCDIRとなっている部分を,実際のOpenTP1ホームディレクトリ(例えば,/usr/betran)に変更できます。
chconfコマンドは,$DCDIR/examples/base/conf/ディレクトリに移動してから実行します。コマンド入力例を次に示します。
% chdir $DCDIR/examples/base/conf <CR> % chconf <CR>
chconfコマンドを実行すると,定義ファイルの内容が変更されます。変更する定義ファイルと変更する内容を次の表に示します。実際のOpenTP1ホームディレクトリに変更される部分を太字で示します。
変更する定義ファイル |
変更する内容 |
---|---|
env |
putenv DCCONFPATH $DCDIR/examples/base/conf |
prc |
putenv prcsvpath $DCDIR/examples/base/aplib |
sts |
物理ファイル名:$DCDIR/examples/base/betranfile/××× |
sysjnl |
物理ファイル名:$DCDIR/examples/base/betranfile/××× |
cdtrn |
物理ファイル名:$DCDIR/examples/base/betranfile/××× |
このツール(chconfコマンド)を実行する前には,環境変数DCDIRにあらかじめOpenTP1ホームディレクトリを設定しておいてください。設定していないと正常に変更できません。
なお,basespp2およびBASESPP2のserviceオペランドに指定された,$DCDIRを含むUAP共用ライブラリ名は,環境変数を使用して指定できるため,chconfコマンドを実行しても定義ファイルの内容は変更されません。
(b) 変更したOpenTP1ホームディレクトリを元に戻す方法
変更したOpenTP1ホームディレクトリを元に戻すときは,変更取り消し用のツールbkconfコマンドを使います。chconfコマンドで変更しようとした内容を,初期状態に戻します。
chconfコマンドでシステム定義を正常に変更できなかった場合は,すぐにbkconfコマンドを実行してください。
コマンド入力例を次に示します。
% chdir $DCDIR/examples/base/conf <CR> % bkconf <CR>
(3) 環境変数と定義ファイルを設定します
作成したサンプルUAPとサンプルのシステム定義で,OpenTP1システムを開始する手順について説明します。
(a) 環境変数DCCONFPATHの設定
環境変数DCCONFPATHに,定義ファイルを格納しているディレクトリを設定します。この設定をすると,OpenTP1が定義ファイルの内容を認識できるようになります。
コマンド入力例を次に示します。
- cshの場合
% setenv DCCONFPATH $DCDIR/examples/base/conf <CR>
- bashの場合
$ export DCCONFPATH=$DCDIR/examples/base/conf <CR>
(b) 定義ファイルenvのコピー
定義ファイルのうち,envファイルだけは,$DCDIR/confからOpenTP1に読み込まれます。そのため,サンプルとして作成したenv定義ファイルを$DCDIR/confへ移動します。
$DCDIR/conf/ディレクトリにenv定義ファイルを作成している場合は,上書きされてしまうので,必要であれば退避しておいてください。
コマンド入力例を次に示します。
% cp $DCDIR/examples/base/conf/env $DCDIR/conf <CR>
(c) OpenTP1ファイルシステムの初期化
OpenTP1ファイルシステムを初期化します。Baseサンプル用のOpenTP1ファイルシステムの初期化は,base_mkfsというシェルファイルを実行します。
コマンド入力例を次に示します。
% base_mkfs <CR>
このシェルファイルを実行すると,$DCDIR/examples/base/ディレクトリの下にbetranfileというファイルが生成され,この下にOpenTP1ファイルシステムが構築されます。