データ・フィールドの構造

フィールド名、PICTURE 定義、および数字の USAGE 文節は、内部 DDS 形式のフィールド名 (または、DD オプションの場合は別名) およびデータ・タイプ表現から直接に導出されます。 フィールド名および PICTURE 定義は、以下のように構成されます。   06 field-name PIC (以下の表の注 1 を参照してください)。
注: 適切な COBOL 定義については表 1 を参照してください。
表 1. データ・フィールドの構造
DDS

COBOL データ部
n = フィールドの全長 (DDS の桁 30 ~ 34)
m= 小数部の桁数 (DDS の桁 36 と 37)

データ・タイプ (桁 35) 形式 DDS の桁 36 と 37 がブランクである場合 DDS の桁 36 と 37 がブランクでない場合
物理ファイル、論理ファイル、プリンター・ファイ ル、および通信ファイル

b (ブランク)
P
S
B
F


A
H
L
T
Z
E
J
O
G

デフォルト
パック 10 進数5
ゾーン 10 進数/符号付き数字4
2 進数
浮動小数点1
   単精度
   倍精度
文字4
16 進データ
日付2
時刻2
タイム・スタンプ2
DBCS 択一データ
DBCS 専用データ
DBCS 混用データ
DBCS グラフィック・データ
UCS2 グラフィック・データ

PIC X(n)3
PIC S9(n) COMP-3
PIC S9
PIC S9(n) COMP-4
PIC 9(5) COMP-4 または COMP-1
PIC 9(10) COMP-4 または COMP-2
PIC X(n)3
PIC X(n)
PIC X(n) または FORMAT DATE
PIC X(n) または FORMAT TIME
PIC X(n) または
FORMAT TIMESTAMP
PIC X(n)
PIC X(n)
PIC X(n)
PIC X(2n) または PIC G(n)3

PIC N(2n)

PIC S9(n-m)V9(m)
PIC S9(n-m)V9(m) COMP-3
PIC S9(n-m)V9(m)
PIC S9(n-m)V9(m) COMP-4
PIC 9(5) COMP-4 または COMP-1
PIC 9(10) COMP-4 または COMP-2

ディスプレイ・ファイル

b (ブランク)
X
N
Y
I
W
A
D
F


M
L
T
Z
S
E
J
O
G

デフォルト
英字だけ
数字シフト
数字だけ
キーボード入力禁止
カタカナ
英数字シフト
数字だけ
浮動小数点1
   単精度
   倍精度
数字専用の文字
日付2
時刻2
タイム・スタンプ2
符号付き数字シフト
DBCS 択一
DBCS 専用
DBCS 混用
DBCS グラフィック
UCS2 グラフィック

PIC X(n)
PIC X(n)
PIC X(n)

PIC X(n)
PIC X(n)
PIC X(n)
PIC X(n)
PIC 9(5) COMP-4 または COMP-1
PIC 9(10) COMP-4 または COMP-2
PIC X(n)
PIC X(n) または FORMAT DATE
PIC X(n) または FORMAT TIME
PIC X(n) または
FORMAT TIMESTAMP

PIC X(n)
PIC X(n)
PIC X(n)
PIC X(2n) または PIC G(n)

PIC N(2n)

PIC S9(n-m)V9(m)

PIC S9(n-m)V9(m)
PIC S9(n-m)V9(m)
PIC S9(n-m)V9(m)


PIC S9(n)
PIC 9(5) COMP-4 または COMP-1
PIC 9(10) COMP-4 または COMP-2




PIC S9(n-m)V9(m)



注:
  1. CVTOPT パラメーターの *NOFLOAT 値が有効な場合には、 浮動小数点フィールドは、BINARY の USAGE を持つ FILLER 項目として取り入れられます。 *FLOAT が指定された場合には、フィールドは、 与えられたそれらの DDS 名を COMP-1 (単精度浮動小数点) または COMP-2 (倍精度浮動小数点) の USAGE で使用することによって、取り入れられます。 浮動小数点フィールドを参照してください。
  2. デフォルトで、FILLER 項目は英数字として宣言されます。 CRTBNDCBL または CRTCBLMOD コマンドの CVTOPT パラメーター上で *DATE、*TIME、 または *TIMESTAMP を指定することにより、COBOL に日付、時刻、 およびタイム・スタンプのフィールドを日時データ・タイプとして扱うようにすることもできます。 日付、時刻、およびタイム・スタンプのフィールドを参照してください。
  3. DDS では、フィールドが VARLEN の属性を持つ場合、結果はフィールドの先頭に 2 バイト追加されたものになります。
  4. DDS 文字または DATFMT キーワードを指定したゾーン・データ・タイプが使用された場合には、CRTBNDCBL または CRTCBLMOD コマンドで CVTOPT パラメーターに *CVTTODATE 値が指定されると、ILE COBOL はこれを日付フィールドとして扱います。
  5. DATFMT キーワードを指定した DDS パック・データ・タイプが使用された場合には、CRTBNDCBL または CRTCBLMOD コマンドで CVTOPT パラメーターに *CVTTODATE 値が指定されると、ILE COBOL はこれを日付フィールドとして扱います。
  6. DDS では、データ・タイプが G で、属性が CCSID(n) (n は、国別 CCSID コンパイラー・オプションまたは NTLCCSID PROCESS オプションで指定された CCSID) であるフィールドは、UCS-2 グラフィック・データ・タイプです。UCS-2 グラフィック・データ・タイプを COBOL NATIONAL データ・タイプとして取り入れるには、CRTBNDCBL または CRTCBLMOD コマンドの CVTOPT パラメーターに *PICNGRAPHIC を指定してください。 詳しくは、「IBM® Rational® Development Studio for i: ILE COBOL プログラマーの手引き」を参照してください。