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のライブラリ関数を呼び出します。
(2) COBOL言語でコーディングする場合
COBOL言語を使うときは,COBOL85またはCOBOL2002の形式でコーディングします。UAPからOpenTP1の機能を使うときは,OpenTP1のライブラリ関数に対応したCOBOL-UAP作成用プログラムを使います。COBOL-UAP作成用プログラムを,COBOLのCALL文で呼び出して,UAPの処理からOpenTP1のライブラリに制御を移します。
CALL文の実行結果は,戻ってくる数値(ステータスコード)でわかります。COBOL-UAP作成用プログラムには,ステータスコードを返さないものもあります。
COBOL言語でコーディングする場合の概要を次の図に示します。
|
- 注※
-
TP1/Server Baseサンプルでは,COBOL-UAP作成用プログラムごとに,DATA DIVISIONのテンプレート(ひな形)を使えます。DATA DIVISIONのテンプレートについては,「8.8 COBOL言語用テンプレート」を参照してください。
(3) 注意事項
-
JNI(Java Native Interface)は使用できません。使用した場合の動作は保証できません。
-
OpenTP1のAPIは,すべてメインスレッド上で発行してください。UAPはマルチスレッドで作成できますが,OpenTP1が提供するAPIはスレッドセーフではないためです。メインスレッド以外でOpenTP1のAPIを発行すると,UAPが誤動作して異常終了するおそれがあります。ただし,次に示すAPIは,メインスレッド以外でも発行できます。
-
ee_で始まるTP1/EEのC言語インタフェース
-
CBLEEで始まるTP1/EEのCOBOL言語インタフェース
-