getVAGSysType()

システム関数 VGLib.getVAGSysType は、プログラムを実行するターゲット・システムを識別します。 この関数がサポートされるのは、(開発時に) プログラム・プロパティー VAGCompatibility が選択された場合、または (生成時に) ビルド記述子オプション VAGCompatibilityyes に設定された場合です。

生成された出力が Java™ ラッパーの場合、VGLib.getVAGSysType は使用できません。 それ以外の場合、この関数は、VisualAge® Generator EZESYS 特殊関数ワードによって戻された文字値を戻します。 現在のシステムが VisualAge Generator によってサポートされていなかった場合、この関数は SysVar.systemType によって戻されたコードに相当する大文字のストリングを戻します。

  VGLib.getVAGSysType( )
  returns (result CHAR(8))
result
次の表に示される、システム・タイプ・コードを含む文字ストリング。

VGLib.getVAGSysType は、SysVar.systemType 内の値に相当する VisualAge Generator の値を戻します。

sysVar.systemType の値 VGLib.getVAGSysType から戻される値
AIX® "AIX"
DEBUG "ITF"
ISERIESC "OS400"
ISERIESJ "OS400"
LINUX "LINUX"
USS "OS390"
WIN "WINNT"
VGLib.getVAGSysType から戻された値は、文字ストリングとしてのみ使用できます。戻された値をオペランド is または not とともに論理式で使用することはできません。sysVar.systemType では使用できます。
  // sysVar.systemType に対してのみ有効
  if sysVar.systemType is AIX
    call myProgram;
  end

VGLib.getVAGSysType は、assignment または move 文のソースとしてのみ使用できます。

VGLib.getVAGSysType には、以下のような特性があります。
プリミティブ型
CHAR
データ長
8 (ブランクが埋め込まれる)
converse 後に値がリストアされるかどうか
はい

VGLib.getVAGSysType の代わりに sysVar.systemType を 使用することをお勧めします。

定義に関する考慮事項

VGLib.getVAGSysType の値は、生成時にどのコードが検証されるかには影響しません。 例えば、以下の add 文は、 Windows® 用に生成を行う場合でも検証されます。
  mySystem CHAR(8);
  mySystem = VGLib.getVAGSysType();
  if (mySystem == "AIX")
    add myRecord;
  end
ターゲット・システムで実行できないコードを有効化することを避けるために、有効化しない文を別のプログラムに移動してください。その後、元のプログラムで新しいプログラムを条件付きで呼び出します。
  mySystem CHAR(8);
  mySystem = VGLib.getVAGSysType();

  if (mySystem == "AIX")
    call myAddProgram myRecord;
  end

別の問題解決方法もありますが、VGLib.getVAGSysType の代わりに sysVar.systemType を使用することが必要です。詳細については、『eliminateSystemDependentCode』を参照してください。

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.