2.3.3 SDBデータベース節で指定する埋込み変数の宣言
SDBデータベース節のRECORD NAMEおよびRECORD LENGTHで指定する埋込み変数を,主プログラムの作業場所節で宣言する必要があります。作業場所節以外で宣言した場合,動作は保証されません。
SDBデータベース節のRECORD NAMEおよびRECORD LENGTHで指定する埋込み変数と,COBOL言語のデータ記述項の対応を次の表に示します。
SDBデータベース節で指定する埋込み変数 |
COBOL言語のデータ記述項 |
項目の記述 |
---|---|---|
RECORD NAMEに指定する埋込み変数 |
L1 基本項目名※ PICTURE X(30) 〔〔USAGE〕 DISPLAY〕 |
|
RECORD LENGTHに指定する埋込み変数 |
INTEGER型に対応する埋込み変数を宣言します。INTEGER型のCOBOL言語のデータ記述項については,「表2-3 DMLのデータ型とCOBOL言語のデータ記述項の対応」を参照してください。 |
- (凡例)
-
L1:レベル番号01〜49,または77
- 注※
-
基本項目名は,60バイト以内で,COBOLコンパイラで使用できる名称にしてください。
SDBデータベース節で指定する埋込み変数の宣言例を次に示します。
-
SDBデータベース節の記述例(データ部のSDBデータベース節)
SDB-DATABASE SECTION. SDB DATABASE01 RECORD NAME RECNAME RECORD LENGTH RECLENGTH .
-
埋込み変数の宣言例(データ部の作業場所節)
WORKING-STORAGE SECTION. 77 RECNAME PIC X(30) VALUE SPACE. 77 RECLENGTH PIC S9(8) COMP VALUE ZERO.
SDBデータベース節のRECORD NAMEおよびRECORD LENGTHで指定する埋込み変数の使用例については,「2.4.3(5) SDBデータベース節で指定する埋込み変数の使用例」を参照してください。
- 注意事項
-
プログラムにDMLを記述する場合は,SDBデータベース節で指定した埋込み変数のデータ記述項にGLOBAL句を指定して埋込み変数の名前を大域名にしてください。このとき,DMLを実行する副プログラムから主プログラムまでの間に,より優先順位が高い同一名称のデータ項目がないようにしてください。例を次に示します。