$ZS[TATUS] は、エラー状態コードとルーチンの実行中に発生した最後の例外条件の場所とを指定する文字列値が含まれています。
GT.Mは、3つ以上の部分文字列(サブストリング)で構成される文字列として$ZSTATUSを維持します。文字列の構成は次のとおりです。
最初の部分文字列(サブストリング)としてエラーメッセージ番号。
2番目の部分文字列としてエラー行の入口参照(entryref) ; コンマ (,)で1番目と2番目の部分文字列(サブストリング)を区切ります。
3番目の部分文字列(サブストリング)としてメッセージの詳細。このフォーマットは、メッセージの機能を識別するパーセント記号 (%)、エラーの重大度を識別するハイフン(-)、もしあれば、メッセージのテキストに続いて、コンマ (,) に続いてメッセージIDを識別する別のハイフン(-) です:
Format: %<FAC>-<SEV>-<ID>, <TEXT> Example: %GTM-E-DIVZERO, Attempt to divide by zero
GT.Mは、プログラムの実行中にエラーが発生した時に$ZSTATUSをセットし、ダイレクトモードのコマンドでエラーが発生した時には、セットしません。
$ZSTATUSは、読み書き可能な特殊変数です(すなわち、SETコマンドの引数に等号 (=) の左側で出現が可能)。それは任意の文字列を受け入れる一方で、それを null に設定することを、FIS は推奨します。Mルーチンは、NEWコマンドを使用して、$ZSTATUSを変更することはできません。
例:
GTM>WRITE $ZSTATUS 150373110,+1^MYFILE,%GTM-E-DIVZERO, Attempt to divide by zero
この例では、ゼロ(0)の除算によって生成されたステータスが表示されます。