XECUTEコマンドは、GT.Mの呼び出しスタック内のエントリを作成し、GT.Mコードとして引数を実行します。
XECUTEコマンドのフォーマットは:
X[ECUTE]:tvexpr expr[:tvexpr][,...]
オプションでコマンド直後に続く真理値の式は、GT.Mがコマンドを実行するかどうかをコントロールする後置コマンドです。
必要な式は、GT.Mのソースコードのフラグメンテーションを指定します。式の最大長は8192バイトです。
引数式の直後に続くオプションの真理値式は、GT.Mがその引数でXECUTEを実行するかどうか、後置条件引数と制御を指定します。
間接指定演算子と1つ以上のXECUTEの引数リストに評価される原子式(expression atom)は、XECUTEのための正当な引数を構成します。
間接指定またはXECUTEのランタイムエラーは、$STATUS と $ZSTATUS 関連の情報を保持し、通常のエラー処理を行いますが、コードフラグメント内のエラーの場所に関するコンパイラ提供の情報は提供しません。
XECUTEの範囲内で明示的または暗黙のQUIT は、任意のより近い DO、FOR、XECUTEまたは外部関数の範囲内ではなく、呼び出しポイントの次の命令に実行を戻します。これは、次のXECUTEの引数または別のコマンドがあります。XECUTE引数の式で指定されたコードの末尾で、GT.Mは暗黙のQUITを実行します。
XECUTEはGT.Mの実行時のコンパイルを引き起こし、そして、それがコードを不明瞭にする傾向があるため、他のアプローチが明確に特定の要件を満たしていない場合にのみ、XECUTE使用してください。
例:
GTM>Xecute "Write ""HELLO""" HELLO GTM>
これは、XECUTEの簡単な使用方法を示します。
例:
Set x="" For Set x=$Order(^%x(x)) Quit:x="" Xecute x
この $ORDER() は、グローバル配列 ^%X の最初のレベルのXECUTEコードの外側を ループします。ほとんどのケースでは、GT.Mソースファイル内にコードを持つことと、使用例 TMPX.mのように、効率を向上させるDo ^TMPX を使うことに注意してください。