systemType
sysVar.systemType システム変数は、プログラムが実行しているターゲット・システムを識別します。 この変数は読み取り専用です。
下の表に、有効な値を示します。
| 値 | プラットフォーム |
|---|---|
| AIX® | AIX |
| DEBUG | これが表示されるのは、デバッグ時に、EGL デバッグ設定「systemType を DEBUG に設定」が YES (デフォルト) に設定されている場合のみです。 それ以外の場合、sysVar.systemType は、デバッグに使用しているビルド記述子のシステム・フィールドに従って設定されます。 |
| HPUX | HP-UX |
| IMSBMP | IMS™ BMP |
| IMSVS | IMS/VS |
| ISERIESC | iSeries COBOL |
| ISERIESJ | iSeries Java™ |
| JAVASCRIPT | 任意の Rich UI アプリケーションの値 |
| LINUX | Linux (Intel ハードウェア) |
| SOLARIS | Solaris |
| USS | z/OS® UNIX システム・サービス |
| VSEBATCH | VSE バッチ |
| VSECICS | CICS® for VSE |
| WIN | Windows 2000/NT/XP |
| ZLINUX | zSeries ハードウェア上の 64 ビット Linux。これは、Java 生成の場合のみのターゲット環境です。 |
| ZOSBATCH | z/OS バッチ |
| ZOSCICS | z/OS CICS |
特性
sysVar.systemType には、以下の特性があります。
- プリミティブ型
- CHAR
- データ長
- 8 (ブランクが埋め込まれる)
- セグメント化された converse にわたって値が保存されるかどうか
- はい
定義に関する考慮事項
sysVar.systemType の値は、生成時のコード検証に影響を与えません。
例えば、以下の add 文は、
Windows 用に生成を行う場合でも検証されます。
if (sysVar.systemType IS AIX)
add myRecord;
end
ターゲット・システムで実行されないコードを検証しないようにするには、
以下のいずれかの処置をとります。
- eliminateSystemDependentCode ビルド記述子オプションを YES に設定します。現在の例では、 このビルド記述子オプションを YES に設定すると、add 文は検証されません。 ただし、生成プログラムがシステム依存コードを除去できるのは、 論理式 (この場合は sysVar.systemType IS AIX) が単純で生成時に評価できる場合だけであることに注意してください。
- または、検証しない文を 2 番目のプログラムに移動し、
元のプログラムが新規プログラムを以下のように条件付きで呼び出すようにします。
if (sysVar.systemType IS AIX) call myAddProgram myRecord; end
例
if (sysVar.systemType is WIN)
call myAddProgram myRecord;
end