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 キーが押されるまで、情報は指定されたコマンドに送信されません。

互換性

表 1. callCmd() の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 sysLib.callCmd() 関数は、iSeries® ではサポートされますが、zSeries および VSE ではサポートされません。
JavaScript 生成 sysLib.callCmd() 関数はサポートされていません。

フィードバック