外部記述 DS サブフィールドの名前変更と初期化
RPG III の場合には、外部記述データ構造のフィールドの名前変更と初期化 の両方とも行う時には、図 1 のフィールド CHAR に示さ れているように、2 つのソース行を使用しなければなりません。図 2 に示されているように、変換後のソースにも 2 つの ソース行が入っています。フィールドの 2 つのソース行をこれに使用すると、 フィールド CHAR が 2 回定義されているので、コンパイル時エラーが起こりま す。このコーディングを訂正するためには、図 3 に示されてい るように、フィールド CHAR のキーワードを組み合わせて単一行にしなければ なりません。ここでは、キー・フィールド INZ と EXTFLD が組み合わされたの で、フィールド CHAR が 1 つだけ示されています。
図 1. 名前変更され初期化された外部サブフィールドを
持つ RPG III ソース
IDSONE E DSEXTREC
I CHARACTER CHAR
I I 'XYZ' CHAR
C CHAR DSPLY
C SETON LR
図 2. 名前変更されたサブフィールドに 2 つの定義を
持つ RPG IV ソース
D DSONE E DS EXTNAME(EXTREC)
D CHAR E EXTFLD(CHARACTER)
D CHAR E INZ('XYZ')
C CHAR DSPLY
C SETON LR
図 3. 単一の定義を持つ訂正済みの RPG IV ソース
D DSONE E DS EXTNAME(EXTREC)
D CHAR E EXTFLD(CHARACTER) INZ('XYZ')
C CHAR DSPLY
C SETON LR