VisualAge Generator の互換性

VisualAge® Generator からその後続にマイグレーションを実施するプロセスの一部として、VisualAge Generator 互換モードで実行することが必要となります。このモードで実行するには、EGL VisualAge Generator 互換設定を選択し、生成時またはデバッグ時に VAGCompatibility ビルド記述子オプションを YES に設定する必要があります。 ワークベンチで、VisualAge Generator 互換設定を設定すると、ビルド記述子オプションのデフォルト値が自動的に設定されます。この設定を変更すると、すべてのプロジェクトの完全再ビルドを起動することになります。 バッチ生成を実行している場合、VAGCompatibility ビルド記述子オプションのデフォルト値は NO です。

以下の記述は、VisualAge Generator との互換性が有効な場合に適用されます。
  • マイナス符号 (-)、アットマーク (@)、および番号記号 (#) は識別子として有効です (それ以外は有効な文字ではありません)。 ただし、これらの文字はいずれも頭文字として使用することはできません。 詳しくは、命名規則を参照してください。
  • 添字を指定せずに、構造フィールドの静的な 1 次元配列を参照すると、配列添字はデフォルトの 1 になります。 詳しくは、配列を参照してください。
  • プリミティブ型の NUMC および PACF は使用可能です。プリミティブ・データ型を参照してください。
  • プリミティブ型の DECIMAL の項目に偶数の長さを指定している場合は、その項目が SQL ホスト変数として使用される場合を除き、EGL はその長さを 1 だけ増やします。
  • EGL ビルド・パスにおけるサイクルがサポートされます。このことは、ProjectA がそのビルド・パスにある ProjectB を参照することができ、それと同時に、ProjectB が独自のビルド・パスにある ProjectA を参照することを意味します。
  • 以下のシステム変数を使用できます。
    • converseVar.segmentedMode
    • vgVar.sqlIsolationLevel
  • システム関数は以下のとおりです。
    • vgLib.getVAGSysType()
    • vgLib.connectionService()
  • 以下の書式の文を発行できます。
      display printForm
    printForm
    プログラムに対して可視になっている印刷書式の名前。

    前の文の、displayprint と同等です。

  • DataTable use 文の deleteAfterUse プロパティーは使用可能です。
  • 以下のプログラム・プロパティーは、すべてのケースで使用可能であり、 特に VisualAge Generator で作成されたコードに有用です。
    • allowUnqualifiedItemReferences
    • handleHardIOErrors (NO に設定した場合)
    • includeReferencedFunctions
    • localSQLScope (YES に設定した場合)
    • throwNrfEofExceptions (YES に設定した場合)
    • v60ExceptionCompatibility (YES に設定した場合)

    詳しくは、プログラム・プロパティーを参照してください。

  • value テキスト書式のフィールド・プロパティー を設定した場合、書式を表示または変換する前にプログラムがフィールドの値を設定しない場合にのみ、フィールドはそのプロパティーの内容を表示します。 value プロパティーは、ストレージ内のフィールドの初期値に影響しません。この理由により、value プロパティーで指定する値は、フィールドに対して有効である必要はありません。

詳細の 1 つ (先述の互換性設定との関連なし) は、リソース関連パーツの設定に関連します。このパーツは生成時に使用されます。z/OS® バッチ用の出力を生成する場合であり、EGL で生成されたプログラムと VisualAge Generator で生成されたプログラムで印刷ファイルを共有する場合は、リソース関連パーツのデフォルト設定を当てにできません。代わりに、エントリー (例えば、system 値 zosbatch や fileType 値 seqrs) を設定して、fileName の値に printer が設定され、systemName の値に EZEPRINT が設定されるようにする必要があります。 キー・ストロークの詳細については、『EGL ビルド・ファイルへのリソース関連パーツの追加』を参照してください。

詳しくは、「VisualAge Generator to EGL Migration Guide」を参照してください。