データの初期化

EGL は、以下のようにデータの初期化を処理します。
注: ライブラリー間の循環依存関係によって、初期化中に問題が生じます。依存関係は、以下の例のように、初期値が他のライブラリー内の変数に依存している変数が 2 つのライブラリーに含まれている場合に循環になります。
library lib1
  a int = 1;
  b int = lib2.c;
end

library lib2
  c int = 2;
  d int = lib1.a;
end

プログラムが lib1 または lib2 のいずれかを使用しようとすると、EGL は例外をスローします。

互換性

表 2. データ初期化の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成

EGL により生成された COBOL プログラムはすべてのレコードを初期化します。 レコード内のフィールドは、上記の表で説明されているように変数が EGL 型に初期化されてから、COBOL INITIALIZE 文をオーバーライドして、COBOL データ型に基づき初期化が行なわれます。

注: NUM 型の変数と CHAR 型の変数を比較する COBOL プログラムを生成する場合は、 コードによってフィールドが初期化されるようにしてください。そうしないと、比較の実行時にプログラムで障害が発生し、異常終了メッセージが表示される場合があります。この場合、例外処理コードは実行されません。これと同様の COBOL 固有の注意事項が、ローカル・レコードのフィールドに適用されます。
JavaScript 生成 サポートされないデータ型は、ArrayDictionary、BIN (小数点以下の桁数を含むもの)、BLOB、CHAR、CLOB、DBCHAR、HEX、INTERVAL、MBCHAR、NUMC、STRING (サイズ制限を含むもの)、PACF、UNICODE、および構造化されたレコード・パーツです。

フィードバック