16.5.1 定数部の論理マップ生成規則
- 〈この項の構成〉
(1) 定義部の定義
-
出力論理マップ長の出力
ドローセットアップの論理マップ属性ダイアログ中の展開方式の「定数部への論理マップ長出力」を指定したときに生成されます。
-
カーソル定数の出力
カーソル定数は無条件に生成されます。
(2) 論理マップ生成規則
(a) 出力論理マップ長の出力の指定
出力論理マップの論理マップ生成例を示します。また,ここで説明する出力論理マップ長とは,定数部だけの論理マップ長です。
- COBOL
-
- ・Windowsリトルエンディアン用
01 マップ名T PIC S9(4) COMP-5 VALUE +長さ.
- ・Windowsビッグエンディアン用,UNIX用
-
<論理マップ長が10,000バイト未満の場合>
01 マップ名T PIC S9(4) COMP VALUE +長さ.
<論理マップ長が10,000バイト以上の場合>
01 マップ名U PIC X(2) VALUE X'長さ'. 01 マップ名T REDEFINES マップ名U PIC S9(4) COMP.
- C言語
-
- ・Windowsリトルエンディアン用,UNIX用
short マップ名T=長さ;
- ・Windowsビッグエンディアン用
unsigned char マップ名T[2]={0x長さ};
(b) カーソル定数の出力の指定
カーソル定数を指定したときの論理マップ生成例を示します。
・繰り返し項目がある場合
- COBOL
-
- ・Windows用
01 マップ名D. 02 項目データ名D. 03 FILLER PIC X(2) VALUE X'nnnn'. : 02項目データ名T REDEFINES 項目データ名D OCCURS 回数.
- ・UNIX用
-
<カーソル定数の値が10,000未満の場合>
01 マップ名D. 02 項目データ名D. 03 FILLER PIC S9(4) COMP VALUE +nnnn. : 02項目データ名T REDEFINES 項目データ名D OCCURS 回数.
<カーソル定数の値が10,000以上の場合>
01 マップ名D. 02 項目データ名D. : 03 FILLER PIC X(2) VALUE X'nnnn'. : 02項目データ名T REDEFINES 項目データ名D OCCURS 回数.
- C言語
struct { unsigned char 項目データ名T [回数][2]; : } マップ名D={0xnn,0xnn〔,…〕};
・繰り返し項目がない場合
- COBOL
-
- ・Windows用
01 マップ名D. 02 項目データ名T. 03 FILLER PIC X(2) VALUE X'nnnn'. :
- ・UNIX用
-
<カーソル定数の値が10,000未満の場合>
01 マップ名D. 02 項目データ名T. 03 FILLER PIC S9(4) COMP VALUE +nnnn. :
<カーソル定数の値が10,000以上の場合>
01 マップ名D. 02 項目データ名T. : 03 FILLER PIC X(2) VALUE X'nnnn'. :
- C言語
struct { unsigned char 項目データ名T [2]; : } マップ名D={0xnn,0xnn};