11.2.4 MCF受信メッセージファイル
1論理メッセージは,一つまたは複数のセグメントで構成されています。1セグメントはセグメント情報の入ったヘッダ部と,メッセージデータであるデータ部で構成されています。
セグメントには,次の五つの種別があります。
-
単セグメント
1論理メッセージが1セグメントで構成されている場合のセグメント
-
先頭セグメント
1論理メッセージが複数セグメントで構成されている場合の先頭セグメント
-
中間セグメント
1論理メッセージが複数セグメントで構成されている場合の中間セグメント
-
最終セグメント
1論理メッセージが複数セグメントで構成されている場合の最終セグメント
-
ヘッダセグメント
二つのメッセージを連結する場合に,先頭に付けるセグメント
なお,セグメントの種別は,ヘッダ部に指定します。
MCF関数(dc_mcf_receive関数,dc_mcf_recvsync関数,またはdc_mcf_sendrecv関数)で,UAPが受け取るメッセージを格納します。一つのファイルには,一つの論理メッセージを作成します。ヘッダセグメントを使用すると,二つのメッセージを連結できます。
- 〈この項の構成〉
(1) ファイルの構造
● 1論理メッセージ1セグメントのとき
● 1論理メッセージ複数セグメントのとき
● ヘッダセグメントのとき
(2) ファイルの内容
|
項目 |
位置 |
長さ(バイト) |
内容 |
|
|---|---|---|---|---|
|
ヘッダ |
入出力論理端末名 |
0 |
9 |
MCF関数でやり取りするための論理端末名を指定します(最後のヌル文字を含みます)。 複数セグメントのときは,各セグメントで同じものを指定します。 |
|
マップ名称 |
9 |
9 |
マップ名称を指定します(最後のヌル文字を含みます)。複数セグメントのときは,各セグメントで同じものを指定します。 この指定はマップ名称を返す関数でだけ有効です。 |
|
|
予備 |
18 |
9 |
ヌル文字を指定します。 |
|
|
セグメント種別 |
27 |
1 |
次の文字のどれかを指定します。 F:先頭セグメントのとき M:中間セグメントのとき L:最終セグメントのとき O:単セグメントのとき H:ヘッダセグメントのとき |
|
|
メッセージ長 |
28 |
4 |
メッセージの長さを指定します(0〜2147483647)。 |
|
|
データ |
メッセージ |
32 |
n |
セグメントの実体(データ)を,メッセージ長で指定した長さで指定します。 |
(3) 注意事項
-
MCF受信メッセージファイルの構造と,MCF関数でのUAPからのメッセージ受信要求との関係を次に示します。
-
ヘッダセグメントを連結すると,別ファイルに作成したデータを先頭セグメント,または単セグメントと合成してUAPに渡せます。ヘッダセグメントと,MCF関数でのUAPからのメッセージ受信要求との関係を次に示します。
-
MHPへのサービス要求時にセグメントヘッダに指定したセグメント種別と,実行時のファイルの種別との関係を次に示します。
● 1論理メッセージ1セグメントの場合
セグメント種別にF,M,およびLを指定した場合には,Oを指定した場合と同様に扱い,エラーとしません。
|
セグメント種別 |
ファイルの扱い |
|---|---|
|
F |
MCF受信メッセージファイルとして扱います。 |
|
M |
|
|
L |
|
|
O |
|
|
H,X |
ファイル不正として,ファイル名を問い合わせます。 |
- (凡例)
-
X:F,M,L,O,およびH以外の指定
● 1論理メッセージ複数セグメントの場合
セグメント種別にL,H,およびOを指定したメッセージを受信すると,メッセージ完了と判断して以降のセグメントを無視します。セグメント種別にFを指定した場合とMを指定した場合は,同等に扱います。
|
セグメント種別 |
MHPが受信するセグメント |
||
|---|---|---|---|
|
先頭セグメント |
中間セグメント |
最終セグメント |
|
|
F |
M |
L |
F,M,L |
|
F |
L |
M |
F,L※1 |
|
F |
O |
L |
F,O※2 |
|
M |
M |
L |
M,M,L |
|
L |
M |
F |
L※3 |
|
O |
O |
O |
O※3 |
|
F |
L |
M |
F,L※1 |
|
F |
M |
H |
受信しません※4。 |
|
X |
M |
L |
|
|
F |
X |
L |
|
|
F |
M |
X |
|
|
H |
F |
L |
H※3 |
|
H |
O |
O |
H※3 |
- (凡例)
-
X:F,M,およびL以外の指定
- 注※1
-
Mは無視されます。
- 注※2
-
Lは無視されます。
- 注※3
-
中間セグメント以降は無視されます。
- 注※4
-
ファイル不正として,ファイル名を問い合わせます。
● ヘッダセグメントによるファイルの連結の場合
セグメント種別にHを指定した場合にだけ連結します。そのほかのセグメント種別の場合は,連結するファイルの指定は無視します。
|
セグメント種別(連結の組み合わせ) |
ファイルの扱い |
|---|---|
|
H+(Fで始まるファイル) |
連結したMCF受信メッセージファイルとして扱います。 |
|
H+(Mで始まるファイル) |
|
|
H+(Lで始まるファイル) |
|
|
H+(Oで始まるファイル) |
|
|
H+(Xで始まるファイル) |
|
|
F,M,L,およびO+(不特定の種別で始まるファイル) |
+以降のファイルを無視します。 |
|
X+(不特定の種別で始まるファイル) |
ファイル不正として,ファイル名を問い合わせます。 |
- (凡例)
-
X:F,M,L,O,およびH以外の指定
ファイル名には'+',空白,およびタブを使用できません。また,ファイル名として,'ps'または'end'は使用できません。