COBOL-UAP作成用プログラムインタフェースの一覧
TP1/NET/TCP/IPで使用するCOBOL-UAP作成用プログラムインタフェースについて,COBOL言語,およびデータ操作言語に分けて説明します。
なお,UAP作成の詳細については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。
COBOL言語のプログラムインタフェース
COBOL言語でUAPを作成する場合,OpenTP1システムの関数に対応しているプログラムを,CALL文で呼び出してUAPを作成します。
COBOL言語のプログラムインタフェースの一覧を次の表に示します。
その他のプログラムについては,マニュアル「OpenTP1 プログラム作成リファレンス COBOL言語編」を参照してください。
データ操作言語のプログラムインタフェース
データ操作言語(DML)を使用した,通信文について説明します。データ操作言語の形式の詳細については,マニュアル「OpenTP1 プログラム作成リファレンス COBOL言語編」を参照してください。
データ操作言語のプログラムインタフェースの一覧を,次の表に示します。
|
通信文 |
機能 |
対応するC言語のライブラリ関数 |
|
|---|---|---|---|
|
データコミュニケーション機能 |
メッセージの受信 |
「表4-4 RECEIVE文(データコミュニケーション機能)の指定とC言語のライブラリ関数との対応」,および「表4-5 SEND文(データコミュニケーション機能)の指定とC言語のライブラリ関数との対応」を参照してください。 |
|
|
メッセージの送信 |
|||
|
サービス機能 |
継続問い合わせ応答の終了 |
dc_mcf_contend |
|
|
一時記憶データの受け取り |
dc_mcf_tempget |
||
|
一時記憶データの更新 |
dc_mcf_tempput |
||
- 注
-
dc_mcf_resend(メッセージの再送)に対応するデータ操作言語のインタフェースはありません。
そのほかの通信文については,マニュアル「OpenTP1 プログラム作成リファレンス COBOL言語編」を参照してください。
通信記述項について
TP1/NET/TCP/IPのメッセージ送受信の通信文で,通信記述項に指定できる句の指定要否を,次の表に示します。
|
データ名を指定する句 |
データ領域の値の設定元 |
|||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
1. |
2. |
3. |
4. |
5. |
6. |
7. |
8. |
9. |
10. |
|
|
STATUS KEY |
B |
B |
B |
B |
B |
B |
B |
B |
B |
B |
|
SYMBOLIC TERMINAL |
B |
U1※ |
U1 |
U1 |
− |
U1 |
U1 |
× |
× |
× |
|
MESSAGE DATE |
B |
B |
B |
− |
− |
− |
− |
− |
− |
− |
|
MESSAGE TIME |
B |
B |
B |
− |
− |
− |
− |
− |
− |
− |
|
SYNCHRONOUS MODE |
U2 |
U2 |
U1 |
U2 |
U2 |
U1 |
U1 |
− |
− |
− |
|
SWITCHING MODE |
− |
− |
− |
U2 |
− |
− |
− |
− |
− |
− |
|
NEXT TRANSACTION |
− |
− |
− |
− |
U2 |
− |
− |
− |
− |
− |
|
DETAIL MODE |
− |
− |
− |
U2 |
U2 |
− |
− |
− |
− |
− |
|
WAITING TIME |
− |
− |
U2 |
− |
− |
U2 |
U2 |
− |
− |
− |
- (凡例)
-
1.:先頭セグメントの非同期受信(RECEIVE)
2.:中間,最終セグメントの非同期受信(RECEIVE)
3.:単一セグメントの同期受信(RECEIVE)
4.:一方送信メッセージの単一セグメントの非同期送信(SEND)
5.:応答メッセージの単一セグメントの非同期送信(SEND)
6.:単一セグメントの同期送信(SEND)
7.:単一セグメントの同期送受信(SEND)
8.:継続問い合わせ応答の終了(DISABLE)
9.:一時記憶データの受け取り(RECEIVE)
10.:一時記憶データの更新(SEND)
B:OpenTP1から値が返されます。省略できます。
U1:UAPで値を設定します。省略できません。
U2:UAPで値を設定します。省略できます。
−:該当しません。設定しても無効です。
×:空白以外の値を設定するとエラーリターンします。
- 注※
-
先頭メッセージ受信時のRECEIVE文と同一のCD句を用いた場合は省略できます。
コンパイラオプション -VOSCBL,DataCommを指定した場合の通信記述項について
次のどちらかを行った場合,通信記述項の初期値は,メインフレームのXDM/DCCMデータコミュニケーション機能を使用する場合の値となります。
-
通信記述項の句の指定を省略した場合
-
通信文の実行前に通信記述項の句に指定されたデータ名に初期値を設定していない場合
コンパイラオプションについては,マニュアル「COBOL2002 使用の手引 手引編」を参照してください。
データコミュニケーション機能とC言語のライブラリ関数の対応
RECEIVE文(データコミュニケーション機能)の指定とC言語のライブラリ関数との対応を,次の表に示します。
|
FOR句 |
SYNCHRONOUS MODE句 |
対応するC言語のライブラリ関数 |
||
|---|---|---|---|---|
|
INPUT |
I-O |
SYNC,または'1' |
ASYNC,'0','△',または省略 |
|
|
○ |
− |
− |
○ |
dc_mcf_receive |
|
− |
○ |
− |
○ |
|
|
− |
○ |
○ |
− |
dc_mcf_recvsync |
- (凡例)
-
○:指定あり
−:指定なし
SEND文(データコミュニケーション機能)の指定とC言語のライブラリ関数との対応を,次の表に示します。
|
FOR句 |
SYNCHRONOUS MODE句 |
BEFORE句 |
対応するC言語のライブラリ関数 |
||
|---|---|---|---|---|---|
|
OUTPUT |
I-O |
SYNC,または'1' |
ASYNC,'0','△',または省略 |
||
|
○ |
− |
− |
○ |
− |
dc_mcf_send |
|
− |
○ |
− |
○ |
− |
dc_mcf_reply |
|
− |
○ |
○ |
− |
− |
dc_mcf_sendsync |
|
− |
○ |
○ |
− |
○ |
dc_mcf_sendrecv |
- (凡例)
-
○:指定あり
−:指定なし
COBOL-UAP作成用プログラムインタフェース使用時の注意事項
-
送受信するメッセージのセグメント長
メッセージを送受信するCOBOL-UAP作成用プログラムインタフェースを使用する場合,システム定義,共用メモリ,およびOpenTP1ファイルについて,次の関連する項目を見積もってください。
-
システム環境定義の動的共用メモリの最大使用時の総量(dynamic_shmpool_size)
-
システムジャーナルサービス定義の最大レコードデータ長(jnl_max_datasize)
-
MCFマネジャ定義のユーザサーバのジャーナルバッファの大きさ(mcfmuap -j)
-
MCFマネジャ定義の最大セグメント長(mcfmuap -e segsize)
-
MCF通信構成定義のジャーナルバッファの大きさ(mcftcomn -j)
-
MCF通信構成定義のメッセージ送受信に使用するバッファグループ(mcftalccn -g sndbufまたはrcvbuf)で指定された送受信バッファのバッファ長(mcftbuf -g length)
-
MCFで使用する動的共用メモリの総量
-
システムジャーナルファイルの総量
-
メッセージキューファイルの総量
なお,通信相手システムごとに送受信するセグメント長が異なる場合,MCF通信構成定義で指定する送受信バッファグループは,通信相手システムごとに用意する運用を推奨します。
-