NDCLインタフェースのライブラリの呼び出し方法は以下のとおりです。
CALL "NDCL" USING DC-BLOCK [DATA]
【パラメータの説明】
DC-BLOCK(第1パラメータ) | 通信時にホスト側へ送信する制御情報領域のデータ名を指定します。 |
DATA(第2パラメータ) | 送受信データ領域のデータ名を指定します。 |
詳細は「(1) 制御情報領域(DC-BLOCK)」、「(2) 送受信データ領域(DATA)」を参照してください。
(1) 制御情報領域(DC-BLOCK)
第1パラメータの制御情報領域(DC-BLOCK)の構造を以下に示します。

以下にCOBOLのパラメータブロックのコーディング例を示します。
01 DC-BLOCK.
02 FUNCTION-ID PIC X(4).
02 STATUS-CODE.
03 TOP-CODE PIC 9(2).
03 TAIL-CODE PIC 9(2).
02 DETAIL-CODE PIC 9(4) BINARY.
02 FILE-NAME PIC X(8).
02 SEND-LENGTH PIC 9(5).
02 RECEIVE-LENGTH PIC 9(5).
02 TIMER PIC 9(2).
02 SESSION-KEEP PIC X.
02 FILLER PIC X.
02 CHANGE-DIRECT PIC X.
02 DATA-CHAIN PIC X.
02 FILLER PIC X(7).
02 REQ-MODE PIC X.
02 SENSE PIC 9(8) BINARY.
02 FILLER PIC X(2).【各パラメータの詳細】
(a)機能名 | 各機能に固有の文字列をASCIIコードで設定します。 |
(b)完了情報 | 完了情報(通知コードおよび詳細コード)については「4.3 完了情報」を参照してください。 |
(c)ファイル名 | アプリケーションの名前を任意で指定します。ファイル名は、ASCIIコードで8バイト以内で指定します。ファイル名は左詰めで設定し、8バイトに満たない場合は、残りの部分に空白(0x20)を設定します。 |
(d)送信データ長 | 機能名がCONNECTまたはWRITEの場合、送信データの有効データ長を5桁で指定します。送信データがない場合は0を設定します。 |
(e)受信バッファ長 | 機能名がREADの場合、受信データを格納するバッファの長さを5桁で指定します。 |
(f)受信データ長 | 機能名がREADの場合、受信データのデータ長を通知します。 |
(g)タイマ | 機能名がCONNECTまたはREADの場合に、各命令が完了するまでの待ち時間を指定します。 |
(h)セション確立方法 | 機能名がCONNETの場合、セションの確立方法をASCIIコードで指定します。 |
(i)送信権(CD) | 機能名がWRITEの場合、データ送信に送信権を付けるか付けないかをASCIIコードで指定します。 |
(j)チェイン | 機能名がCONNECTの場合、データ送受信時にデータを分割して転送するか、単一データとして転送するかをASCIIコードで指定します。 |
(k)送信モード | 機能名がCONNECTの場合、WRITE(会話強制終了)を行うか否かをASCIIコードで指定します。 |
(l)センス情報 | 機能名がWRITE(会話強制終了)の場合、センス情報を指定します。 |
(2) 送受信データ領域(DATA)
第2パラメータの送受信データ領域(DATA)は機能名の指定に伴い以下のように指定します。
機能名 | 送受信データ領域(DATA)の設定 |
|---|---|
OPEN | 指定不要 |
CLOSE | 指定不要 |
CONNECT | ログオンメッセージを格納しているバッファのデータ名を指定 |
DISCONNECT | 指定不要 |
READ | 受信データを格納するバッファのデータ名を指定 |
WRITE | 送信データを格納しているバッファのデータ名を指定 |
CANCEL | 指定不要 |