callCmd()
sysLib.callCmd() システム関数はシステム・コマンドを実行し、処理を再開する前にこのコマンドが終了するまで待ちます。この関数は、 I4GL RUN ステートメントとの互換性を提供します。 この関数を使用すると、非 EGL のプログラムまたはスクリプトを開始することができます。
実行されるシステム・コマンドは、現在実行中のプログラムから可視であることが必要です。
例えば、以下のステートメントについて考えてみます。
sysLib.callCmd("mySpecialProgram.exe")
プログラム "mySpecialProgram.exe" は、環境変数 PATH が指し示すディレクトリーに入っている必要があります。
また、以下のように、完全なディレクトリー・ロケーションを指定することもできます。sysLib.callCmd("program files/myWork/mySpecialProgram.exe")
sysLib.startCmd() 関数を使用して、システム・コマンドを開始し、待機することなく処理を続行します。
sysLib.callCmd() および sysLib.startCmd() は、どちらもシステム・コマンドが戻す値をシステム変数 sysVar.returnCode に割り当てます。 システム・コマンドでは、INT 型と代入互換性のある値を戻す必要があります。
構文
sysLib.callCmd(
command STRING in
[, mode STRING in] )
- command
- 呼び出すオペレーティング・システム・コマンドまたはプログラム名を識別します。
- mode
- 以下の語のいずれかを含むリテラルまたは変数を指定できます。
- 書式
- フォーマット設定の省略形で、ロー・モードとも呼ばれます。 入力値の各文字が、入力されたようにプログラムで使用可能になります。 また、すべてのキー・ストロークが直接、指定したコマンドへ渡されます。
- 行
- Enter キーが押されるまで、情報は指定されたコマンドに送信されません。
互換性
| プラットフォーム | 問題 |
|---|---|
| COBOL 生成 | sysLib.callCmd() 関数は、iSeries ではサポートされますが、zSeries および VSE ではサポートされません。 |
| JavaScript 生成 | sysLib.callCmd() 関数はサポートされていません。 |