データ域の制御仕様書としての使用

変更の始まりソース内に制御仕様書がない場合、 RPG コンパイラーは、制御仕様キーワードが含まれているデータ域がないか検索します。 そういったデータ域が見つからない場合は、デフォルトであるブランクの制御仕様書が 使用されます。変更の終わり

変更の始まりタイプ *CHAR として定義されるデータ域を作成するためには、CL コマンド CRTDTAARA (データ域作成) を使用してください (データ域作成コマンドについて詳しくは、IBM® i Information Centerを 参照してください)。 コマンドの初期値パラメーターにキーワードを入力します。変更の終わり

たとえば、デフォルトの日付の形式である *YMD およびデフォルトの日付区切り記号 / を指定する RPGLEHSPEC データ域を作成するためには、次のように記入します。
CRTDTAARA DTAARA(MYLIB/RPGLEHSPEC)
          TYPE(*CHAR)
          LEN(80)
          VALUE('datfmt(*ymd) datedit(*ymd/)')

データ域は、指定されたキーワードを収容するために必要ないかなるサイズにも することができます。 データ域の全体の長さには、キーワードだけを含めることができます。

Rational® Developer for i で Program Verifier を 使用している場合、ワークスペース内の .metadata ディレクトリーに入っている RPGLEHSPEC.RPGLE という 名前のファイルが制御仕様データ域として使用されます。 このファイルには有効な RPG IV 制御ステートメントが含まれている必要があります。

ヒント: 変更の始まりデータ域を使用してキーワードを保持する代わりに、 コピー・ファイルの使用を検討してください。 コピー・ファイルを使用すると、追加の制御ステートメントがソース内にある場合でも コピー・ファイル内のキーワードは使用されます。
例えば、次のソース・ファイル内にはコンパイラーがデータ域を検索するのを阻む制御ステートメントがあるため、このソースではデータ域にあるキーワードは 使用されません。
H NOMAIN
D fld             S             10A
次のソース・ファイルでは DFTCTLKW コピー・ファイル内のキーワードが使用されます。
 /COPY QRPGLESRC,DFTCTLKW
H NOMAIN
D fld             S             10A
変更の終わり