外部環境に対するコマンド

周りの環境にコマンドを出すことは、REXX の不可欠な部分です。

環境

REXX プログラムが実行されるシステムには、コマンドを処理するための環境が 少なくとも 1 つは備わっているものと想定されています。 環境は、REXX プログラムに入るときにデフォルトで選択されます。 この環境は、ADDRESS 命令を使用することで変更できます。 ADDRESS 組み込み関数を使用すると、現行環境の名前を知ることができます。 使用しているオペレーティング・システムによって、REXX プログラムの 外部環境が定義されます。 REXX/CICS プログラムのデフォルトの環境は REXXCICS です。

コマンド

現在アドレスされている環境にコマンドを送る場合は、次の形式の文節を使用します。
expression;
式が計算されて、文字ストリング (ヌル・ストリングの場合もあります) が生成されます。 次に、その文字ストリングが適切に整えられてから、使用しているシステムに実行依頼されます。 式の中に計算しない部分があれば、それは引用符で囲んでください。

次に、環境がコマンドを処理します。2 次的な作用がある場合もあります。 環境は、最終的に、戻りコードをセットしてから、言語処理プログラムに制御を戻します。 戻りコードはストリングで、通常、数値です。処理されたコマンドに関する情報を戻します。 戻りコードは、通常、コマンドが成功したかどうかを示しますが、他の情報を示すこともできます。 言語処理プログラムは、この戻りコードを、REXX 特殊変数 RC に入れます。 特殊変数を参照してください。

戻りコードをセットする以外に、使用しているシステムは、 エラーまたは障害が起こったかどうかを言語処理プログラムに示します。
  • エラーとは、コマンドによって引き起こされる状態であり、通常、そのコマンドを使用するプログラムはエラーの発生に備えていることが期待されます。 例えば、編集システムに対する Locate コマンドで、 requested string not found がエラーとして報告される場合があります。
  • 障害とは、コマンドによって引き起こされ、そのコマンドを使用したプログラムでは通常はリカバリーできない状態のことです (例えば、コマンドが実行可能でない場合や、見つからない場合など)。

コマンドのエラーおよび障害は、ERROR または FAILURE の条件トラップが ON の場合、REXX 処理に影響を与える可能性があります ( 条件および条件トラップを参照)。 TRACE E または TRACE F をセットしておくと、 エラーおよび障害が起きた場合にコマンドをトレースすることもできます。 TRACE Normal は、TRACE F と同じであり、これがデフォルトです。 TRACEを参照してください。

以下に、デフォルトの REXX/CICS コマンド環境にコマンドをサブミットする例を示します。 次のシーケンスでは、REXX/CICS にストリング EXECIO * READ TSQUEUE1 MYDATA. がサブミットされます。
TSQ1 = 'TSQUEUE1'
"EXECIO * READ" TSQ1 "MYDATA."

戻り時に、CICS ® 一時記憶域キュー TSQUEUE1 が MYDATA 配列に正常に読み取られた場合、RC に入れられた戻りコードの値は 0 になります。 TSQUEUE1 が空の場合は、適切な戻りコードが RC に入れられます。

注: 式は、環境に渡される前に評価されることに注意してください。 式の中の評価されない部分は、引用符で囲んでください。 例えば、次のようになります。
"EXECIO * READ"         /* * does not mean "multiplied by"  */