Hitachi

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


1.3.1 コーディング

OpenTP1のUAPをコーディングする場合,C言語C++言語,またはCOBOL言語を使います。UAPでは,OpenTP1の機能のほかにも,OSの標準の機能やデータベース言語(SQL)を使えます。コーディングの規約については,マニュアル「OpenTP1 プログラム作成リファレンス」の該当する言語編を参照してください。SQLのコーディングの規約については,該当するリファレンスマニュアルを参照してください。

〈この項の構成〉

(1) C言語またはC++言語でコーディングする場合

(a) C言語を使うとき

ANSI Cの形式,ANSI準拠前のK&Rの形式Classic C)のどちらかに従ってコーディングします。UAPでOpenTP1の機能を使うときは,OpenTP1のライブラリ関数を呼び出します。

(b) C++言語を使うとき

ANSI Cの形式でC++言語の仕様に従ってコーディングします。UAPでOpenTP1の機能を使うときは,OpenTP1のライブラリ関数を呼び出します。OpenTP1のライブラリ関数は,ヘッダファイル(dc×××.h)でC言語のリンケージを指定しているため,C++言語でコーディングしたUAPのリンケージの際にはC言語の関数としてリンケージされ動作します。

(c) OpenTP1の関数の使い方

OSで標準的に提供する関数と同様,関数を呼び出すときには,引数を設定します。

関数が正常に実行されたかどうかは,戻ってくる値(リターン値)でわかります。関数には,リターン値を返す関数と返さない関数があります。

C言語でコーディングする場合の概要を次の図に示します。

図1‒20 C言語でコーディングする場合の概要

[図データ]

(2) COBOL言語でコーディングする場合

COBOL言語を使うときは,COBOL85またはCOBOL2002の形式でコーディングします。UAPからOpenTP1の機能を使うときは,OpenTP1のライブラリ関数に対応したCOBOL-UAP作成用プログラムを使います。COBOL-UAP作成用プログラムを,COBOLのCALL文で呼び出して,UAPの処理からOpenTP1のライブラリに制御を移します。

CALL文の実行結果は,戻ってくる数値(ステータスコード)でわかります。COBOL-UAP作成用プログラムには,ステータスコードを返さないものもあります。

COBOL言語でコーディングする場合の概要を次の図に示します。

図1‒21 COBOL言語でコーディングする場合の概要

[図データ]

注※

TP1/Server Baseサンプルでは,COBOL-UAP作成用プログラムごとに,DATA DIVISIONのテンプレート(ひな形)を使えます。DATA DIVISIONのテンプレートについては,「8.8 COBOL言語用テンプレート」を参照してください。

(3) 注意事項