Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


1.2.5 アプリケーションプログラムの翻訳と結合

UAPの翻訳と結合方法については,使用するOSのリファレンスマニュアルを参照してください。

〈この項の構成〉

(1) プログラムの翻訳(コンパイル)

COBOL言語のUAPのオブジェクトファイルを作成するには,ソースプログラムをCOBOLコンパイラで翻訳します。

翻訳方法の詳細については,COBOL言語のマニュアルを参照してください。

(2) スタブの翻訳(コンパイル)

スタブのオブジェクトファイルを作成するには,スタブのソースプログラムをCコンパイラで翻訳します。

(3) 結合(リンケージ)

ここでの説明中の※1〜※3の意味を次に示します。

注※1

リソースマネジャにXAインタフェースでアクセスするトランザクションを実行する場合に必要です(OpenTP1で提供するリソースマネジャは,すべてXAインタフェースでアクセスします)。トランザクション制御用オブジェクトファイルは,OpenTP1のコマンド(trnmkobjコマンド)で作成します。trnmkobjコマンドについてはマニュアル「OpenTP1 運用と操作」を参照してください。

注※2

リソースマネジャにアクセスする場合に必要です。OpenTP1で提供するリソースマネジャのオブジェクトファイルを結合するときは,リンケージのコマンドに次の引数を指定します。

メッセージ送受信機能を使う場合:-lmcf,-lmnet

DAMアクセス機能を使う場合:-ldam

TAMアクセス機能を使う場合:-ltam

ISAM機能を使う場合:-lismb,-lisam,-lrsort

メッセージキューイング機能を使う場合:-lmqacb

他社のリソースマネジャのオブジェクトファイルの結合方法については,使用する他社リソースマネジャのリファレンスマニュアルを参照してください。

注※3

CBLDCUTO('T-STATUS')(ユーザサーバのテスト状態の報告)を使う場合に必要です。オンラインテスタのオブジェクトファイルを結合するときは,リンケージのコマンドに次の引数を指定します。

ユーザサーバのテスト状態を報告する場合:-luto

(a) SPP,MHPに結合させるファイル

SPPまたはMHPの実行形式ファイルは,次に示すファイルを結合させて作成します。

  • UAPのオブジェクトファイル(メインプログラムとサービスプログラム)

  • スタブのオブジェクトファイル

  • トランザクション制御用オブジェクトファイル※1

  • リソースマネジャで提供するオブジェクトファイル※2

  • オンラインテスタで提供するオブジェクトファイル※3

  • OpenTP1のライブラリ

  • COBOLのライブラリ(COBOL85言語で作成したUAPの場合はCOBOL85のライブラリ,COBOL2002言語で作成したUAPの場合はCOBOL2002のライブラリ)

(b) SUPに結合させるファイル

SUPの実行形式ファイルは,次に示すファイルを結合させて作成します。

  • UAPのオブジェクトファイル(メインプログラム)

  • トランザクション制御用オブジェクトファイル※1

  • リソースマネジャで提供するオブジェクトファイル※2

  • オンラインテスタで提供するオブジェクトファイル※3

  • OpenTP1のライブラリ

  • COBOLのライブラリ(COBOL85言語で作成したUAPの場合はCOBOL85のライブラリ,COBOL2002言語で作成したUAPの場合はCOBOL2002のライブラリ)

(c) オフラインの業務をするUAPに結合させるファイル

オフラインの業務をするUAPの実行形式ファイルは,次に示すファイルを結合させて作成します。

  • UAPのオブジェクトファイル(メインプログラム)

  • OpenTP1のライブラリ

  • COBOLのライブラリ(COBOL85言語で作成したUAPの場合はCOBOL85のライブラリ,COBOL2002言語で作成したUAPの場合はCOBOL2002のライブラリ)

(d) サービス関数動的ローディング機能を使用するSPP,MHPに結合させるファイル

サービス関数動的ローディング機能を使用するSPP,MHPの実行形式ファイルは,次に示すファイルを結合させて作成します。

  • UAPのオブジェクトファイル(メイン関数)

  • OpenTP1のライブラリ

  • トランザクション制御用オブジェクトファイル※1

  • リソースマネジャで提供するオブジェクトファイル※2

  • オンラインテスタで提供するオブジェクトファイル※3

また,サービス関数動的ローディング機能とスタブでのサービス検索を併用する場合は,次のファイルが必要です。

  • UAPのオブジェクトファイル(サービス関数)

  • スタブのオブジェクトファイル

(4) 注意事項

OSがHP-UXの場合,リンケージ時のバインドモードには必ず"immediate"を指定してください。"immediate"以外のバインドモードで作成した実行形式ファイルをOpenTP1のUAPとして使った場合,システムの動作は保証しません。作成したUAPのバインドモードが"immediate"かどうかは,OSのchatrコマンドで確認してください。