5.1.1 UOCのコーディング
UOCのコーディングには,C言語またはCOBOL言語を使用します。
UOCをコーディングしてソースファイルを作成するとき,次の表に示すTP1/EEライブラリ関数のほかにも,OSの標準機能を使えます。反映UOCでは,データベース言語(SQL)も使うことができます。
UOCでは,次に示すTP1/EEのライブラリ関数を使用できます。
|
項番 |
機能 |
C言語ライブラリ |
COBOL-UAP作成用プログラム |
UOC |
備考 |
|||
|---|---|---|---|---|---|---|---|---|
|
開始 終了 |
反映先指定 |
編集 |
反映 |
|||||
|
1 |
ユーザメッセージログ出力 |
ee_logprint_user |
CBLEELOG('PRINTU ') |
○ |
○ |
○ |
○ |
− |
|
2 |
メッセージの出力抑止 |
ee_log_dctmsg |
CBLEELOG('DCTMSG ') |
○ |
○ |
○ |
○ |
− |
|
3 |
メッセージの出力抑止解除 |
ee_log_actmsg |
CBLEELOG('ACTMSG ') |
○ |
○ |
○ |
○ |
− |
|
4 |
トランザクション処理時間監視 |
ee_trn_watch |
CBLEETRN('WATCH ') |
× |
× |
× |
○ |
説明中のtrn_expiration_time定義はtrnrks_service定義の-eオプション値に読み替えてください。 |
|
5 |
トランザクション処理時間の残り時間取得 |
ee_trn_getrtime |
CBLEETRN('GETRTIME') |
× |
× |
× |
○ |
項番4と同様です。 |
|
6 |
遠隔サービスの要求 |
ee_rpc_call |
CBLEERPC('CALL ') |
× |
× |
× |
○ |
flags(COBOL:データ名C)を次のように設定してください。必須項目です。
次の指定はできません。
|
|
7 |
通信先を指定した遠隔サービスの要求 |
ee_rpc_call_to |
CBLEERPC('CALLTO ') |
× |
× |
× |
○ |
directionのflagsはEERPC_SCDPORTだけ指定可能です。それ以外は項番6と同様です。 |
|
8 |
サービスの応答待ち時間の更新 |
ee_rpc_set_watch_time |
CBLEERPC('SETWATCH') |
× |
× |
× |
○ |
説明中のwatch_time定義はtrnrks_service定義の-wオプション値に読み替えてください。 |
|
9 |
サービスの応答待ち時間の参照 |
ee_rpc_get_watch_time |
CBLEERPC('GETWATCH') |
× |
× |
× |
○ |
項番8と同様です。 |
|
10 |
非同期応答型RPCの応答受信 |
ee_rpc_poll_any_replies |
CBLEERPC('POLLANYR') |
× |
× |
× |
○ |
項番8と同様です。 |
|
11 |
すべての非同期応答型RPCの応答受信拒否 |
ee_rpc_discard_further_replies |
CBLEERPC('DISCARDF') |
× |
× |
× |
○ |
項番8と同様です。 |
|
12 |
特定の非同期応答型RPCの応答受信拒否 |
ee_rpc_discard_specific_reply |
CBLEERPC('DISCARDS') |
× |
× |
× |
○ |
項番8と同様です。 |
|
13 |
エラーが発生した非同期応答型RPCの識別子取得 |
ee_rpc_get_error_descriptor |
CBLEERPC('GETERDES') |
× |
× |
× |
○ |
項番8と同様です。 |
|
14 |
データ連携支援の強制終了 |
ee_bpp_term |
CBLEEBPP('TERM') |
○ |
○ |
○ |
○ |
リターン値(COBOL:データ名B)でEECOMER_CNDBPP(COBOL:00005)は返されません。 説明中のeebpprunコマンドはデータ連携支援プロセスに読み替えてください。 |
|
15 |
接続ハンドルの取得 |
ee_trn_gethandle |
CBLEETRN('GETHNDL ') |
○ |
○ |
× |
× |
− |
|
16 |
上記以外 |
× |
× |
× |
× |
− |
||
- (凡例)
-
○:使用可能
×:使用不可
−:該当しません
- 注
-
上記以外の関数を使用した場合の動作は保証しないので注意してください。
なお,上記の関数仕様についてはマニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」および「1. トランザクションインタフェース」を参照してください。
(1) C言語でコーディングする場合
C言語を使うときは,ANSI C形式に従ってコーディングします。
(2) COBOL言語でコーディングする場合
COBOL言語を使うときは,COBOL2002の形式でコーディングします。
(3) コーディング規約
コーディングするときは,マニュアル「OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引」の該当する言語編のコーディング規約に従ってコーディングしてください。SQLのコーディングの規約については,該当するリファレンスマニュアルを参照してください。