日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
特定のシステム状態コードに対応するファシリティ,重要度,ID,およびテキストを,文字列として戻します。
F$MESSAGE (状態コード[,メッセージ構成要素リスト])
各システム・メッセージ・ファイルは,数値または値の範囲に対応づけられています。ただし,必ずしもすべての数値に対応するメッセージがあるわけではありません。対応するメッセージのない数値を引数として指定すると, F$MESSAGE 関数は,NOMSG エラー・メッセージを含む文字列を戻します。
システム・エラー・メッセージについての詳細は,『OpenVMS System Messages: Companion Guide for Help Message Users』を参照してください。
状態コード
エラー・メッセージ文を表示したい状態コードを指定します。状態コードは,整数式として指定します。メッセージ構成要素リスト
システム・メッセージの構成要素を戻すことを指定します。パラメータが空または指定されない場合は, すべてのシステム・メッセージの構成要素が戻されます。システム・メッセージの構成要素に有効なキーワードを 表 1-11 に示します。
表 1-11 F$MESSAGE キーワード 構成要素キーワード 戻される情報 FACILITY 機能名 SEVERITY 重大度表示 IDENT メッセージ・テキスト短縮形 TEXT メッセージの説明
FACILITY, SEVERITY,および IDENT を ( 個々に,または任意に組み合わせて ) 指定すると,戻されたメッセージにはパーセント記号 (%) がつくことに注意してください。複数のキーワードを指定すると, メッセージはハイフンで区切られます。
TEXT だけを指定した場合,メッセージに文字記号は含まれません。 TEXT を FACILITY,SEVERITY,または IDENT と同時に指定した場合は,メッセージがコンマと空白 (, ) で区切られます。
#1 |
---|
$ ERROR_TEXT = F$MESSAGE(%X1C) $ SHOW SYMBOL ERROR_TEXT ERROR_TEXT = "%SYSTEM-F-EXQUOTA, exceeded quota" |
この例では,F$MESSAGE 関数を使用して, %X1C という状態コードに対応するメッセージを判断する方法を示しています。 F$MESSAGE 関数は,メッセージ文字列を戻します。その文字列は,ERROR_TEXT というシンボルに割り当てられます。
#2 |
---|
$ SUBMIT IMPORTANT.COM $ SYNCHRONIZE /entry='$ENTRY' $ IF $STATUS THEN EXIT $! $ JOB_STATUS = $STATUS $! $ IF "%JOBDELETE" .EQS. F$MESSAGE (JOB_STATUS, "IDENT") $ THEN . . . $ ELSE $ IF "%JOBABORT" .EQS. F$MESSAGE (JOB_STATUS, "IDENT") $ THEN . . . $ ELSE $ . . . $ ENDIF $ ENDIF . . . |
この例は,バッチ・ジョブをキューに登録し,終了するのを待つコマンド・プロシージャです。ジョブが正常に終了しなかった場合は,バッチ・ジョブの終了状態に基づいてさらに処理が続きます。
最初のコマンドで,コマンド・プロシージャ IMPORTANT.COM を登録します。 2 番目のコマンドで,SYNCHRONIZE を使用してジョブが終了するのを待つように指示します。3 番目のコマンドでジョブの終了を確認し,成功していればプロシージャを終了します。次のコマンドでシンボルに状態を保存します。
最初の IF 文は,F$MESSAGE を使用して,実行前にジョブが削除されたかを判断します。削除されている場合は,ジョブの再登録,または MAIL を使ってユーザに知らせる,のいずれか可能な方の処理を行います。
次の IF 文は,F$MESSAGE を使用して,ジョブが実行中に削除されたかを判断します。その結果,クリーンアップ処理されるか,または THEN ブロックでオペレータの介入要求があります。
どちらの IF 文も真ではない場合は,その他の失敗状態が戻されます。 ELSE 文以降のブロックで行われる他の処理が要求されます。
目次 | 索引 |
|