日本-日本語
日本HPホーム 製品 & サービス サポート & ドライバー ソリューション ご購入方法
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:リファレンス・セクション
付録 A:廃止されたコマンド
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム

HP OpenVMS
DCL ディクショナリ


目次 索引

F$MESSAGE

特定のシステム状態コードに対応するファシリティ,重要度,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 文以降のブロックで行われる他の処理が要求されます。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡