Hitachi

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


3.1.1 サービス関数のコーディング

サービス関数のコーディングは,サービスグループ単位で行います。

コーディングには,C言語C++言語,またはCOBOL言語を使います。

サービス関数をコーディングしてソースファイルを作成するとき,TP1/EEの機能のほかにも,OSの標準の機能やデータベース言語(SQL)を使えます。

〈この項の構成〉

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

(a) C言語を使うとき

ANSI Cの形式に従ってコーディングします。TP1/EEの機能を使うときは,TP1/EEのAPI関数を呼び出します。

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

ANSI Cの形式でC++言語の仕様に従ってコーディングします。TP1/EEの機能を使うときは,TP1/EEのAPI関数を呼び出します。TP1/EEのAPI関数は,ヘッダファイル(ee×××.h)でC言語のリンケージを指定しているため,C++言語でコーディングしたUAPオブジェクトファイルのリンケージの際にはC言語の関数としてリンケージされ動作します。また,サービス関数の外部参照名は,C言語の形式にしてください。

(c) TP1/EEの関数の使い方

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

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

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

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

[図データ]

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

COBOL言語を使うときは,COBOL85COBOL2002の形式でコーディングします。ただし,OSがLinuxの場合は,次の形式でコーディングしてください。

Linux (IA32)の場合

COBOL製品として使用できるのはCOBOL85だけです。必ずCOBOL85の形式でコーディングしてください。

Linux (EM64T)の場合

COBOL製品として使用できるのはCOBOL2002だけです。必ずCOBOL2002の形式でコーディングしてください。

TP1/EEの機能を使うときは,TP1/EEのライブラリにあるCOBOL-UAP作成用プログラムを使います。COBOL-UAP作成用プログラムを,COBOL言語のCALL文で呼び出して,SPPの処理からTP1/EEのライブラリに制御を移します。

CALL文の実行結果は,戻ってくる数値(ステータスコード)でわかります。

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

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

[図データ]

(3) コーディング規約

コーディングするときは,マニュアル「OpenTP1 プログラム作成リファレンス」の該当する言語編のコーディング規約に従ってください。SQLのコーディングの規約については,該当するリファレンスマニュアルを参照してください。

マニュアル「OpenTP1 プログラム作成リファレンス」の該当する言語編で示されているコーディング規約以外に,TP1/EEとして定められているコーディング規約を次に示します。