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"
ZOSBATCH "MVSBATCH"
ZOSCICS "MVSCICS"
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.
(C) Copyright IBM Japan 2005.