SEWB+/RECORD DEFINER ユーザーズガイド

[目次][用語][索引][前へ][次へ]

3.1 レコードソース生成規則

レコードソースの生成は,レコード定義の属性領域の各定義と,SEWB+/REPOSITORYが提供する言語別タイプごとのレコード生成キーワードを基に行われます。

レコード生成キーワードは,プログラミング言語で規定されたデータの定義と,データ項目の定義情報を置換するための可変記号(@で始まる文字列)で記述されます。

レコード定義の属性領域に定義されている各定義項目の値が,「COBOL又はOOCOBOL」のレコードソース(COPYメンバ)の生成時にどのように反映されるかについて表3-1に示します。また,レコード生成キーワードの標準設定の内容を表3-2に,可変記号の生成規則を表3-3に示します。

表3-1 属性領域のレコードソース生成規則一覧(COBOL又はOOCOBOL)

定義項目名 生成規則
項番
辞書を参照する
レベル
レベル番号に反映される
標準名称
データ項目名
[名前]が指定されていない場合,可変記号(@DATAITEM)に反映される
けた数
可変記号(@LENまたは@ILEN)に反映される
小数部けた数
 
反復回数
可変記号(@OCCURS)に反映される
コメント
"*コメント"が生成される
改行は,コメント欄で改行したとおりにする
名前
可変記号(@DATAITEM)に反映される
指定されていない場合,[データ項目名]が反映される
タイプ
選択したタイプに応じたレコード生成キーワードから生成される
表3-2参照のこと
フリー定義
可変記号(@FREE)に反映される
初期値
生成ダイアログの[初期値の生成をする]を選択した場合,可変記号(@VALUE)に反映される
編集文字列
可変記号(@EDITCHAR)に反映される
CHAR TYPE(値)
値が指定された場合,"CHARACTER TYPE IS [種別]-[値]"が生成される
値が指定されない場合,"CHARACTER TYPE IS [種別]"が生成される
CHAR TYPE(TYPE)
 
指標名
"INDEX BY [指標名]"が生成される
可変反復回数(項目名)
"DEPENDING ON [項目名]"が生成される
可変反復回数(最小値)
@OCCURS "OCCURS [最小値] TO @反復回数"が生成される
アドレス名
"ADDRESSED BY [アドレス名]"が生成される
再定義名
"REDEFINES [再定義名]"が生成される
EXTERNAL
"IS EXTERNAL"が生成される
SYNC
"SYNC"が生成される
JUST
"JUST"が生成される
BLANK WHEN ZERO
"BLANK WHEN ZERO"が生成される

(凡例)
−:生成しない

表3-2 タイプに応じたレコード生成キーワード(COBOL又はOOCOBOL)

辞書属性(タイプ) レコード生成キーワード
辞書属性(タイプ) レコード生成キーワード
X 英数字項目
@DATAITEM PIC X@LEN @OCCURS @VALUE
Z 数字編集項目
@DATAITEM PIC @EDITCHAR @OCCURS @VALUE
N 漢字項目
@DATAITEM PIC N@LEN @OCCURS @VALUE
9 符号なし外部10進項目
@DATAITEM PIC 9@ILEN@DLEN @OCCURS @VALUE
S 符号付き外部10進項目
@DATAITEM PIC S9@ILEN@DLEN @OCCURS @VALUE
U 符号なし内部10進項目
@DATAITEM PIC 9@ILEN@DLEN USAGE PACKED-DECIMAL @OCCURS @VALUE
P 符号付き内部10進項目
@DATAITEM PIC S9@ILEN@DLEN USAGE PACKED-DECIMAL @OCCURS @VALUE
BU 符号なし2進項目
@DATAITEM PIC 9@ILEN@DLEN USAGE BINARY @OCCURS @VALUE
B 符号付き2進項目
@DATAITEM PIC S9@ILEN@DLEN USAGE BINARY @OCCURS @VALUE
E 外部浮動小数点項目
@DATAITEM PIC @EDITCHAR @OCCURS
D 内部浮動小数点項目
@DATAITEM @COMP @OCCURS ※1
1 内部ブール項目
@DATAITEM PIC 1@LEN USAGE BIT @OCCURS @VALUE
8 外部ブール項目
@DATAITEM PIC 1@LEN USAGE DISPLAY @OCCURS @VALUE
T アドレスデータ項目
@DATAITEM USAGE ADDRESS @OCCURS @VALUE
フリー定義
@DATAITEM @FREE
@コピー文※2
COPY @DATAITEM ※3
空白(集団項目の場合)※2
@DATAITEM @OCCURS @VALUE

注※1
けた数が1〜7の場合は"COMP-1",けた数が8〜16の場合は"COMP-2"となります。

注※2
@コピー文および空白(集団項目の場合)は,SEWB+/RECORD DEFINERで提供する生成機能です。

注※3
タイプが@コピー文の場合,レベル番号は生成されません。

表3-3 可変記号の生成規則(COBOL又はOOCOBOL)

可変記号 生成規則
@DATAITEM
次の順で生成される
  1. @DATAITEMに対して無条件に“[名前]”が生成される
    [名前]が指定されていない場合,“[データ項目名]”が生成される
    [データ項目名]も指定されていない場合,“FILLER”が生成される
  2. 再定義句の指定がある場合,“REDEFINES [再定義名]”が生成される
  3. EXTERNALが選択されている場合,“IS EXTERNAL”が生成される
@LEN
[けた数]がnのとき"(n)”が生成される
@ILEN
[けた数]がm,[小数部けた数]がnのとき“(m-nの値)”が生成される
@DLEN
[小数部けた数]がnのとき“V9(n)”が生成される
@VALUE
“VALUE [初期値]”が生成される
@OCCURS
[反復回数]の指定値により次の生成が行われる
  1. [反復回数]指定あり,[可変反復回数][項目名]指定なし,[可変反復回数][最小値]指定なしの場合
    “OCCURS [反復回数]”が生成される
  2. [反復回数]指定あり,[可変反復回数][項目名]指定あり,[可変反復回数][最小値]指定なしの場合
    “OCCURS [反復回数] DEPENDING 0N [可変反復回数][項目名] が生成される
  3. [反復回数]指定あり,[可変反復回数][項目名]指定あり,[可変反復回数][最小値]指定ありの場合
    “OCCURS [可変反復回数][最小値] TO [反復回数] DEPENDING ON [可変反復回数][項目名]” が生成される
@EDITCHAR
“[編集文字列]”が生成される
@COMP
[タイプ]が「D 内部浮動小数点項目」の場合,”COMP-1“または”COMP-2“が生成される
  • ”COMP-1“:[けた数]が1〜7の場合
  • ”COMP-2“:[けた数]が8〜16の場合
@FREE
“[フリー定義]”が生成される
@PLEN
[けた数]がnのとき"(n)”が生成される
なし
生成位置:
  1. @OCCURSの直後
  2. @OCCURSがない場合
    @VALUEの直前
  3. @OCCURSおよび@VALUEがない場合
    レコード生成キーワードの末尾

生成順:
  1. ADDRESSED BY [アドレス名]
  2. INDEXED BY [指標名]
  3. SYNC
  4. JUST
  5. BLANK WHEN ZERO
  6. CHARACTER TYPE IS [種別]-[値]

可変記号に対応する定義項目が未指定の場合は,生成されません。

注※
生成ダイアログの[初期値の生成をする]を選択した場合だけ,生成されます。