バージョン 4.2.5
 —  オペレーション  —

Natural Net Data インターフェイス NATNETTO

このドキュメントでは、Natural Net Data インターフェイスとネットデータプロトコル定義について説明します。

以下のトピックについて説明します。

Installation』ドキュメントの「Natural Net Data インターフェイスのインストール」も参照してください。


Natural Net Data ドライバの機能説明

Natural Net Data ドライバ NATNETTO は、EntireX CICS 3270 Bridge や、メッセージ指向のサーバー環境(つまり TP モニタ)での類似のクライアント/サーバーソリューションをサポートするために導入されたコンポーネントです。

NATNETTO が実装しているプロトコルドライバは、ネットデータプロトコルを使用して、Natural(レガシー)アプリケーションによるクライアントアプリケーションからのプログラム間通信を可能にします。 代表的な例は、CICS、IMS/TM、UTM などの TP モニタ環境で実行される Natural アプリケーションにアクセスするデスクトップクライアント(Natural for Windows または VBA などで構築)です。

"ネットデータ" とは、プロトコルにテキスト定数などのフォーマットデータやデバイス依存の制御シーケンスなどが一切含まれていないという意味です。 すべてのデータは出力可能なフォーマットで通信されます。 これは、結局、非英数字フィールドで必要なマーシャリングとアンマーシャリングはクライアントが行う必要があることを暗黙に示します。

基本的に、プロトコルは以下の 2 つの部分で構成されます。

ヘッダー、バリューバッファ、および属性バッファは、送受信メッセージに含まれます。フォーマットバッファは、送信メッセージにのみ含まれます。 ヘッダーは、クライアントがフロー制御のためにミラー化する必要があるトランザクション番号を保持します。 ほとんどのレガシーアプリケーションはブロックモードの端末から起動するように設計されているので、プロトコルは PF キーやカーソル位置など 3270 に類似の機能をサポートします。

Top of page

全体的なメッセージレイアウト

全体的なメッセージレイアウトの以下の部分は必須です。

以下の部分はオプションです。

"FSCB" バリューバッファオフセット フォーマットバッファオフセット ... 
  属性バッファオフセット 補助文字 カーソル位置 ...
バリューバッファ
フォーマットバッファ
属性バッファ

レイアウトの各部分の詳細については、表 1 を参照してください。

Top of page

ヘッダーのレイアウト

表 1:コントロールブロック - 固定部分

フィールド フォーマット 範囲 意味
Eyecatcher A4 FSCB アイキャッチャー
Product code A3 - 製品 ID
Protocol version N2 01 - 99 特定の製品のバージョン
Value buffer offset N10 算出 メッセージの先頭からのバリューバッファのオフセット
Format buffer offset N10 算出 メッセージの先頭からのフォーマットバッファのオフセット
Total message length N10 算出 すべてのバッファを累積した長さ
Message number N6 呼び出しごとに 1 ずつ増加 通信相手によってエコーされます。
Block number N5 01~99(通常は 01) 1 つのメッセージ内の分割ブロック用
Number of parameters N5 算出 VB 内のパラメータ数
Session token A32   セキュリティトークン
Message format A1 表 2 を参照 バリューバッファ内のフィールド区切りのモード
Delimiter character A1 -  
Architecture A2 表 3 を参照 送信相手のアーキテクチャ
Call type A2 表 4 を参照 現在のコールのタイプ
Response code N4 0001 - 9999 クライアントからのレスポンスコード
Block status A1 L または N ブロックは最後の msg または次の msg
Server name/TAC A8 - TP トランザクションコードまたはサーバーの名前
Aid character A2 表 5 を参照 クライアントで押されたか生成された補助文字
Cursor line N3 1 - クライアント上の最大物理行 カーソル行または 000 *
Cursor column N3 1 - クライアント上の最大物理列 カーソル列またはカーソルフィールド番号 *
Attribute buffer offset N10 算出 メッセージの先頭からの属性バッファのオフセット
Timestamp A16 一般 クロック値(マップ格納時間、16 進数、出力可能)を保存
DBID N5 1 - 32767 サーバー上の FNAT の DBID
File number N5 1 - 32767 サーバー上の FNAT のファイル番号
Date form A1 I、G、E、U Natural に従った日付フォーマット
Decimal character A1 - サーバー上の Natural デリミタ文字
Input delimiter char. A1 - Natural INPUT 区切り文字(サーバー)
Control character A1 - Natural 制御文字(サーバー)
Language code N2 01 - 99 Natural 言語コード(サーバー)
Application ID A8 - Natural アプリケーション ID
Program name/map A8 - 実行中のプログラム/マップまたはフォーマット名
Error number N5 00001 - 99999 Natural エラー番号
Line number N4 0001 - 9999 現在の I/O ステートメントの行番号
Error state A1 - ステータスバイト
Error program A8 - エラーの原因となったオブジェクト
Error level N2 01 - 15 エラーオブジェクトのサブルーチンレベル
Message type A1 表 6 を参照 メッセージのタイプ
Option flag 1 A1 表 7 を参照 コントロールフラグ
Option flag 2 A1 表 7 を参照 コントロールフラグ
Option flag 3 A1 表 7 を参照 コントロールフラグ
Option flag 4 A1 表 7 を参照 コントロールフラグ
Option flag 5 A1 表 7 を参照 コントロールフラグ
Option flag 6 A1 表 7 を参照 コントロールフラグ
Option flag 7 A1 表 7 を参照 コントロールフラグ
Option flag 8 A1 表 7 を参照 コントロールフラグ

* NATCONFG にカーソルフィールド番号表記が設定されている場合は、カーソル行は常に 000 で、カーソル列はフィールドの絶対番号を含み、ここにカーソルが配置される(送信)か送信時に配置済み(受信)です。

注意:
現在、すべてのヘッダーフィールドが使用されているわけではありません。

表 2:フィールド区切りのモード

フォーマット A1

意味
D デリミタモード
F 固定フォーマットモード
L フィールドの前に長さフィールド(N3)を配置

表 3:送信相手のアーキテクチャ

フォーマット A2 のマスク

意味
- 1 下位バイト 1 番目のマスク(Vax)
- 2 未使用
- 4 EBCDIC アーキテクチャのマスク
- 8 ASCII 8 アーキテクチャのマスク
1 - 浮動小数点表記 VAX のマスク
2 - 浮動小数点表記 IEEE のマスク

表 4:コールタイプ

フォーマット A2

通信のタイプ 意味
Natural ネットデータ/3GL MD マップデータ(フォーマットを使用したネットデータ)
  ND ネットデータ
  CM コマンドモード(サーバー)
  FD マップフォーマットダウンロード
  IP 通常の入力ステートメント
  CS セッションクローズ終了メッセージ

表 5:補助文字表

フォーマット A2

補助文字 PF キー
EN Enter
CL Clear
P1 PA1
P2 PA2
P3 PA3
01 PF1
02 PF2
03 PF3
. . . . . .
47 PF47
48 PF48
CS Close Session

注意:
CS(Close Session)を使用すると、クライアントはサーバーセッションを直ちに強制的に閉じることができます。 したがって、これは実際には PF キーではなく、サーバーのコマンドコードです。

表 6:メッセージタイプ

意味
D ダイアログメッセージ
A 非同期 メッセージ
P 出力メッセージ

表 7:Natural ネットデータ通信のオプションフラグ

すべてのフラグはフォーマット A1 です。

フラグ 意味
Option 1 F メッセージにはフォーマットバッファが含まれます(フォーマットバッファオプション)。
Option 2 S ネットデータは画面バッファから生成されます。
  P ネットデータはページバッファから生成されます。
Option 3 A メッセージには属性バッファが含まれます(属性バッファオプション)。
Option 4 P VB 内のデータは表示フォーマット(出力可能)です。
  I VB 内のデータは送信元の内部フォーマットです。
  A データは英数字に変換された内部フォーマットです。
Option 5 M 送信メッセージにはオーバーレイ部分が含まれます。
Option 6 1 拡張フォーマットバッファオプション 1。
  2 拡張フォーマットバッファオプション 2。
Option 7   将来的に使用される予定。
Option 8   将来的に使用される予定。

Top of page

フォーマットバッファのレイアウト

基本部分

フォーマットバッファの各エントリは、以下の 4 つの要素から成る可変長の文字列です。

表 8:フォーマットバッファエントリ

要素 意味
識別子 F フィールド
  S サブフィールド
保護 M 変更可能フィールド
  O 出力専用フィールド、保護されたフィールド
フォーマット A アルファベット
  N 数値
フィールド長 L~LLL,L Natural 標準に従った長さ指定

例:

FMA20 フィールド、変更可能、フォーマットはアルファベット、フィールド長は 20
SMN12,4 サブフィールド、変更可能、フォーマットは数値、フィールド長は 12.4
O 出力専用フィールド、保護されたフィールド

注意:
数値長の精度部分は、デリミタおよび小数点文字プロファイルパラメータの現在の値に関係なく、常にコンマ(,)で区切られます。 アルファベットタイプのフィールドについては、精度部分は省略されます。

サブフィールドを使用して、Natural のダイナミック属性機能によって基本フィールドから分離されたフィールドを指定します。 フィールドがさまざまなサブフィールドにダイナミックに分割される場合は、次のようにマークされます。

最初のサブフィールドは通常どおり識別子 F でマークされ、その他のすべてのサブフィールドは S で識別されます。

拡張 1

以下の図に、データセクションの一部を示します。これは、Natural の内部画面属性バッファのレイアウトを示します。 フォーマットバッファの拡張オプション 1 が設定されている場合は、属性バイト(PATTR1PATTR4)の各フィールドは出力可能なフォーマットになり、適切なフィールドフォーマットバッファエントリに追加されます。 拡張は基本フォーマットエントリから "/"(スラッシュ)で区切られます。

          
PATTR1 
          
DS 
          
X 
          
 
          
ATTRIBUTE BYTE 1
          
P1TMP 
          
EQU 
          
X'80' 
          
1000 0000 
          
TEMPORARY PROTECTED (ONLY PAGE)
          
P1EXTLNG 
          
EQU 
          
X'80' 
          
1000 0000 
          
EXTENDED LENGTH (ONLY SCREEN)
          
P1RPA 
          
EQU 
          
X'40' 
          
0100 0000 
          
FIELD CAN BE REPEATED
          
P1PROT 
          
EQU 
          
X'20' 
          
0010 0000 
          
FIELD IS PROTECTED
          
P1NUM 
          
EQU 
          
X'10' 
          
0001 0000 
          
FIELD IS NUMERIC
          
P1SKIP 
          
EQU 
          
P1PROT+P1NUM 
  (X'30')
          
 
          
FIELD WILL BE SKIPPED AUTOMATICALLY
          
P1HIGH 
          
EQU 
          
X'08' 
          
0000 1000 
          
FIELD IS HIGHLIGHTED
          
P1BLINK 
          
EQU 
          
X'04' 
          
0000 0100 
          
FIELD IS BLINKING
          
P1NOND 
          
EQU 
          
P1HIGH+P1BLINK 
  (X'0C')
          
 
          
FIELD IS NON-DISPLAY
          
P1NHC 
          
EQU 
          
X'02' 
          
0000 0010 
          
FIELD MAY NOT BE PRINTED
          
P1CURS 
          
EQU 
          
X'01' 
          
0000 0001 
          
SET CURSOR HERE (ONLY UNPROT)
          
 
          
SPACE 
          
 
          
 
          
 
          
PATTR2 
          
DS 
          
X 
          
 
          
ATTRIBUTE BYTE 2
          
P2ITAL 
          
EQU 
          
X'80' 
          
1000 0000 
          
ITALIC/CURSIVE
          
P2MAND 
          
EQU 
          
X'40' 
          
0100 0000 
          
INPUT MANDATORY
          
P2MFILL 
          
EQU 
          
X'20' 
          
0010 0000 
          
MANDATORY FILL
          
P2LC 
          
EQU 
          
X'10' 
          
0001 0000 
          
DO NOT TRANSLATE (LOWER CASE)
          
P2CS2 
          
EQU 
          
X'08' 
          
0000 1000 
          
SECOND CHARACTER SET
          
P2UL 
          
EQU 
          
X'04' 
          
0000 0100 
          
UNDERLINED
          
P2RVID 
          
EQU 
          
X'02' 
          
0000 0010 
          
REVERSED VIDEO
          
P2RL 
          
EQU  
          
X'01'
          
0000 0001
          
RIGHT-LEFT
          
 
          
SPACE 
          
 
          
 
          
 
          
PATTR3 
          
DS 
          
X 
          
COLOR ATTRIBUTE 
          
ATTRIBUTE BYTE 3
          
P3TP 
          
EQU 
          
X'80' 
          
1000 0000 
          
TERMINAL PROGRAM AVAILABLE
          
P3PFK 
          
EQU 
          
X'40' 
          
0100 0000 
          
*COM FIELD
          
P3NUM 
          
EQU 
          
X'20' 
          
0010 0000 
          
NUMERIC FIELDS
          
P3HELPR 
          
EQU 
          
X'10' 
          
0001 0000 
          
HELP ROUTINE AVAILABLE
          
P3FRAME 
          
EQU 
          
X'08' 
          
0000 1000 
          
FRAME ATTRIBUTE
          
P3NEUTR 
          
EQU 
          
X'07' 
          
0000 0111 
          
NEUTRAL
          
P3YELL 
          
EQU 
          
X'06' 
          
0000 0110 
          
YELLOW
          
P3TURQ 
          
EQU 
          
X'05' 
          
0000 0101 
          
TURQUOISE
          
P3GREEN 
          
EQU 
          
X'04' 
          
0000 0100 
          
GREEN
          
P3PINK 
          
EQU 
          
X'03' 
          
0000 0011 
          
PINK
          
P3RED 
          
EQU 
          
X'02' 
          
0000 0010 
          
RED
          
P3BLUE 
          
EQU 
          
X'01' 
          
0000 0001 
          
BLUE
          
* 
          
 
          
FBI (DB)
          
 
          
(FIELD PROCESSING INFORMATION)
          
 
          
SPACE 
          
 
          
 
          
 
          
PATTR4 
          
DS 
          
X 
          
 
          
INTERNAL PROCESSING ATTRIBUTES
          
P4TEXT 
          
EQU 
          
X'80' 
          
1000 0000 
          
FIELD IS TEXT CONSTANT
          
P4SAME 
          
EQU 
          
X'40' 
          
0100 0000 
          
SAME ATTRIBUTE AS BEFORE
          
P4NATTR 
          
EQU 
          
X'20' 
          
0010 0000 
          
FIELD NEW ATTRIBUTE
          
* 
          
 
          
 
          
 
          
PAGE BUFFER, DYNAMIC ATTRIBUTE
          
P4OVL 
          
EQU 
          
X'10' 
          
0001 0000 
          
FIELD BELONGS TO OVERLAY BUFFER
          
P4MDT 
          
EQU 
          
X'08' 
          
0000 1000 
          
FIELD HAS BEEN MODIFIED
          
P4MDTH 
          
EQU 
          
X'04' 
          
0000 0100 
          
UPDATE FROM HELP (PAGE BUFFER)
          
P4NFLD 
          
EQU 
          
X'04' 
          
0000 0100 
          
FIELD NEW ON SCREEN
          
* 
          
 
          
 
          
 
          
IF SET FOR OVL, NEW LINE
          
P4CONT 
          
EQU 
          
X'02' 
          
0000 0010 
          
FIELD IS CONT OF BEFORE
          
P4LAST 
          
EQU 
          
X'01' 
          
0000 0001 
          
LAST ATTRIBUTE IN BUFFER
          
**P4HELP 
          
EQU 
          
P4TEXT+P4MDT
          
 
          
HELP REQUEST FOR THIS FIELD

例:

拡張フォーマットバッファエントリ 18820300 は、フィールドが数値で、反転表示モードでは斜体で強調表示されることを示します。 フィールドの色はピンクです。

Top of page

バリューバッファのレイアウト

バリューバッファ構造には、以下の 3 つのモードが可能です。

Top of page

属性バッファ

属性バッファはオプションです。 これは、パラメータフィールドごとに 1 バイトの、mdt フラグを示すエントリで構成されます。 mdt は、クライアントが各変更可能フィールドに設定する必要があります。 このフラグの値は "0" または "1" です。 1 の値は、mdt が設定されていることを表します。

例:

この例では、図 1 に 3270 フォーマットの画面イメージを、図 2 に同じフォーマットの生成されたネットデータストリームを示します。 Natural マップの名前は NETM002 です。

                             TESTMAP NWI

  
  
  AL20.0 ABCDEFGHIJKLMNOPQRST 
  NL20.0 1234567890 
  NL10.4 0000001234.5678 
  AL20C AAAAABBBBBCCCCDDDDDZ 
  N20.0 999999999999999999 

  
  
  
  Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- 
        Help                              -     +                       %%

図 1:3270 デバイス上の NETM002

  FSCBNAT010000000206000000038000000004710000120000100006
    F 04MD0000LNATvrsXSEN0000010000000465B3E0C25A1A1DE4000000000000I.,%01NETT     
  O NETM002 000000170   D  FSAP 1 ABCDEFGHIJKLMNOPQRST1234567890 
    0000001234.5678AAAAABBBBBCCCCDDDDDZ999999999999999999 
                            FMA20/08100024FOA20/
  38102024FMA15/08102024FOA20/38101624FOA20/38102024FOA79/70000035.000000
  

図 2:NETM002 の実行により生成されたネットデータストリーム

NATvrs は、現在の Natural バージョンのversionreleasesystem maintenance levelを表します。

コンフィグレーション設定:固定フォーマット、フォーマットバッファ + 拡張フォーマットバッファ、属性バッファオプション、カーソル位置はフィールド番号で表現されています。

Top of page