[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

12 DCLディクショナリ - L -


レキシカル関数

文字列および現在のプロセスに関する属性の情報を戻す関数です。

説明

コマンド言語は,レキシカル関数と呼ばれる機能を含んでいます。 レキシカル関数は,現在のプロセスや算術式および文字列に関する情報を返します。 コマンド・インタプリタがコマンド処理の入力文字列の解析処理(レキシカル処理) フェーズを実行する間に関数を評価するため, これらの関数はレキシカル関数と呼ばれます。

通常,シンボルまたは式を使用するコンテキストであれば, 任意コンテキストでレキシカル関数を使用できます。 コマンド・プロシージャでは, レキシカル関数を使用して論理名の変換,文字列操作の実行, およびプロシージャを処理しているノードの判別を行うことができます。

次に標準的な形式を示します。

     F$function-name([args,...]) 

F$ レキシカル関数が後に続くことを示します。
function-name 関数を評価することを指定するキーワード。 一意に認識できれば,関数名は省略できます。
() 必要であれば,引数を囲みます。 引数をとらない関数を含め,すべての関数で括弧は必要です。
args,... 必要であれば,整数または文字列式を使用して引数を指定します。

式の指定についての詳細は,『OpenVMSユーザーズ・マニュアル』を参照してください。

表 12-1では, レキシカル関数とそれぞれが戻す情報について簡単に説明しています。 これ以降のページで,各関数ごとに例を挙げて詳しく説明します。

表 12-1 レキシカル関数の要約

関数 説明
F$CONTEXT F$PID関数とともに使用し,その選択基準を指定します。
F$CSID OpenVMS Cluster識別番号を戻します。また,コンテキスト・シンボルが, システムのノード・リストの中で,現在の位置を示すように変更します。
F$CVSI 文字列データからビット・フィールドを取り出し, その結果を符号付き値として整数に変換します。
F$CVTIME 絶対時刻,デルタ時間またはそれらの組み合せの文字列に関する情報を戻します。
F$CVUI 文字データからビット・フィールドを取り出し, その結果を符号なし値として整数に変換します。
F$DEVICE 選択基準に合う装置名をすべて返します。
F$DIRECTORY 現在の省略時のディレクトリ名文字列を戻します。
F$EDIT 編集リストに指定された編集をもとに,文字列式を編集します。
F$ELEMENT 指定した区切り文字で区切られた要素で構成される文字列から, 1つの要素を取り出します。
F$ENVIRONMENT DCLコマンド環境に関する情報を戻します。
F$EXTRACT 文字列式から部分文字列を取り出します。
F$FAO $FAOシステム・サービスを呼び出し, 指定された制御文字列をASCII形式の出力文字列に変換します。
F$FILE_ATTRIBUTES 指定されたファイルの属性に関する情報を戻します。
F$GETDVI $GETDVIシステム・サービスを呼び出し, 指定された装置に関する指定された情報を戻します。
F$GETENV (Alphaのみ) 指定されたコンソール環境変数の値を戻します。
F$GETJPI $GETJPIシステム・サービスを呼び出し,指定されたプロセスに関する会計情報, 状態情報,および識別情報を戻します。
F$GETQUI $GETQUIシステム・サービスを呼び出し,キューに関する情報を戻します。 この情報には,バッチ・キュー,プリント・キューに登録されるジョブ, ファーム定義やシステム・バッチ・キュー・ファイルに定義された属性などが含まれます。

†VAXシステムでは,キュー・マネージャについての情報も戻します。

F$GETSYI $GETSYIシステム・サービスを呼び出し, 利用者のシステムに関する状態情報と識別情報を戻します (システムが,VMSclusterの一部に含まれている場合には, ローカルなノードに関する状態情報と識別情報を戻します)。
F$IDENTIFIER 指定した形式の識別子を,それに相当する整数に変換します。 あるいは,その逆の操作を実行します。
F$INTEGER 指定した式の結果を,整数で戻します。
F$LENGTH 指定した文字列の長さを戻します。
F$LOCATE 文字列に含まれる1文字または部分文字列を探し, 文字列中でのそのオフセットを戻します。
F$MESSAGE 指定したシステム状態コードに対応するメッセージ文を戻します。
F$MODE プロセスが実行されているモードを示す文字列を戻します。
F$PARSE $PARSE RMSサービスを起動してファイル指定を解析し, 指定した特定のファイル指定,または拡張されたファイル指定を戻します。
F$PID 起動するたびに,次のプロセス識別番号を戻します。
F$PRIVILEGE 現在のプロセス特権が,引数に指定されている特権と一致するかどうかに応じて, TRUEまたはFALSEという値を戻します。
F$PROCESS 現在のプロセス名を文字列で戻します。
F$SEARCH $SEARCH RMSサービスを呼び出し,ディレクトリ・ファイルを検索し, 指定したファイルの完全な形のファイル指定を戻します。
F$SETPRV 指定された特権をセットし, 変更される前の特権の状態を示しているキーワード・リストを戻します。
F$STRING 指定した式の結果に相当する文字列を戻します。
F$TIME 現在の日付/時刻を示す文字列を戻します。形式はdd-mmm-yyyy hh:mm:ss.ccです。
F$TRNLNM 論理名を変換し,等価名文字列,または要求されている論理名の属性を戻します。
F$TYPE シンボルのデータ・タイプを判断します。
F$USER 現在の利用者識別コード(UIC)を戻します。
F$VERIFY プロシージャ・チェックの設定がオンの場合には整数の1, プロシージャ・チェックの設定がオフの場合には整数の0が戻されます。 また,新しいチェック状態をセットすることもできます。
† VAXのみ


F$CONTEXT

F$PID関数とともに使用し,その選択基準を指定します。 F$CONTEXT関数を使用すると,F$PID関数は OpenVMS Cluster内の任意のノードからプロセス情報を取得できるようになります。

フォーマット

     F$CONTEXT (コンテキスト・タイプ, コンテキスト・シンボル, 選択項目,
                 選択値, 値修飾子)

戻り値

空文字列("")。

引数

コンテキスト・タイプ

コンテキスト・タイプを指定します。

現在使用できるコンテキスト・タイプはPROCESSだけです。 これは,F$PIDに対する選択基準を決めるために使用します。 同一UICグループ内の別のUICのプロセスを見る場合は,GROUP特権が必要です。 システム全体のUICのプロセスを見る場合は,WORLD特権が必要です。

コンテキスト・シンボル

F$CONTEXTで作成されたコンテキスト・メモリを参照するために, DCLが使用するシンボル名を指定します。 F$PIDは,このコンテキスト・シンボルを使用してPIDリストを処理します。

シンボルを使用してコンテキスト・シンボルを指定してください。 コマンド・プロシージャ内で最初にF$CONTEXTを使用するときには, 未定義または空文字列が割り当てられたシンボルを指定してください。 シンボルは"PROCESS_CONTEXT"タイプでローカル・シンボルをして作成されます。 コンテキストが無効になった場合(つまりF$PIDですべてのPIDを検索したか, または,その実行時にエラーが発生した場合)は, シンボルのタイプは "PROCESS_CONTEXT" ではなくなっています。 コンテキストをキャンセルする場合は, コマンド・プロシージャ内でF$TYPE関数を使用して検索できます。

選択基準を設定した後でF$PIDを呼び出す場合は, このコンテキスト・シンボルを使用します。

選択項目

選択項目は,F$CONTEXTが使用する選択基準を指定するキーワードです。 一度の呼出しに対して1つのキーワードしか指定できません。

注意
項目のリストを使用する場合は,NEQ選択値を使用しないでください。 これは,結果として得られる状態値は,つねに"真"だからです。

次に例を示します。

  $ EXAMPLE=f$context("PROCESS",CTX,"USERNAME","A*, B*","NEQ")
この式は,"ユーザ名がA*に等しくないまたはユーザ名が B* に等しくない場合は, その規則に合致するユーザのプロセスを返します"と解釈されます。 このオペランドは論理和であるので,状態値は常に"真"になります (たとえばALFREDは B* に等しくないとか,BOBは A* に等しくないというように, どんなユーザ名でも A* あるいは B* に等しくない値となります)。


コンテキスト・タイプPROCESS に対して使用できる選択項目キーワードを次の表に示します。

選択項目 選択値 値修飾子 説明
ACCOUNT 文字列 EQL, NEQ 有効なアカウント名(またはそのリスト)。 アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できる。
AUTHPRI 整数値 GEQ, GTR, LEQ, LSS, EQL, NEQ 許可されたベース優先度。Alphaでは(0-63)。VAXでは(0-31)をとる。
CANCEL     該当コンテキストに対する選択基準を取り消す。
CURPRIV キーワード ALL, ANY, EQL, NEQ 有効な特権名キーワード(またはそのリスト)。 詳細は『OpenVMS Guide to System Security』参照。
GRP 整数 GEQ, GTR, LEQ, LSS, EQL, NEQ UICグループ番号。
HW_MODEL 整数 EQL, NEQ 有効なハードウェア型番号
HW_NAME 文字列 EQL, NEQ 有効なハードウェア名またはキーワードのリスト。 アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できる。
JOBPRCCNT 整数 GEQ, GTR, LEQ, LSS, EQL, NEQ ジョブのサブプロセス数
JOBTYPE キーワード EQL, NEQ 有効なジョブ・タイプ・キーワード (DETACHED, NETWORK, BATCH, LOCAL, DIALUP, REMOTE)。 詳細は『OpenVMSユーザーズ・マニュアル』参照。
MASTER_PID 文字列 EQL, NEQ 主プロセスID
MEM 整数 GEQ, GTR, LEQ, LSS, EQL, NEQ UICメンバ番号
MODE キーワード EQL, NEQ プロセス・モード・キーワード (OTHER, NETWORK, BATCH, および INTERACTIVE)。 詳細は『OpenVMSユーザーズ・マニュアル』参照
NODE_CSID 整数 EQL, NEQ ノードのクラスタID番号
NODENAME 文字列 EQL, NEQ ノード名(またはそのリスト)。 アスタリスク(*)およびパーセント記号(%)ワイルドカードを使用できる。 省略時の設定はユーザのローカル・ノード。 すべてのノードを指定する場合は,値 "*" を使用する。
OWNER 文字列 EQL, NEQ 直親PID
PRCCNT 整数 GEQ, GTR, LEQ, LSS, EQL, NEQ プロセスのサブプロセス数
PRCNAM 文字列 EQL, NEQ プロセス名(またはそのリスト)。 アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できる。
PRI 整数 GEQ, GTR, LEQ, LSS, EQL, NEQ プロセス優先度。Alphaでは(0-63),VAXでは(0-31)をとる。
PRIB 整数 GEQ, GTR, LEQ, LSS, EQL, NEQ ベース・プロセス優先度。 Alphaでは(0-63),VAXでは(0-31)をとる。
STATE キーワード EQL, NEQ 有効なプロセス状態キーワード。 詳細は,『OpenVMS System Services Reference Manual』の $GETJPIサービスに関する説明を参照。
STS キーワード EQL, NEQ 有効なプロセス状態キーワード。 詳細は,『OpenVMS System Services Reference Manual』の $GETJPIサービスに関する説明を参照。
TERMINAL 文字列 EQL, NEQ 端末名(またはそのリスト)。 アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できる。
UIC 文字列 EQL, NEQ ユーザ識別子(UIC)。"[group, member]"の形式。
USERNAME 文字列 EQL, NEQ ユーザ名(またはそのリスト)。 アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できる。

選択値

選択基準の値を指定します。 たとえば次の例に示すように,ノードMYVAX上の全プロセスを処理するには, "NODENAME"キーワードに対して"MYVAX"を指定します。
     $ X = F$CONTEXT("PROCESS",ctx,"NODENAME","MYVAX","EQL")

いくつかの選択項目では,値をリストにすることもできます。 この場合,各値はコンマ(.)で区切らなければなりません。たとえば, ノード名にMYVAX,HERVAX,およびHISVAXを指定するには,次のように入力します。

     $ X=F$CONTEXT("PROCESS",ctx,"NODENAME","MYVAX, HERVAX, HISVAX","EQL")

ファイルを指定する場合と同様に, いくつかの値に対して,ワイルドカード文字(*や%)を使用できます。

値修飾子

選択値に対する修飾子を指定します。選択値は修飾しなければなりません。

たとえば,次に示すプロセス値のいずれか 1つに基づいて選択するよう要求することにより,値を修飾できます。

リストの中には,キーワードALL,ANY,EQLおよびNEQで修飾されるものもあります。 このようなリストは通常,複数の有効な特権から構成される, プロセス特権マスクのようなマスクです。各キーワードとその意味を次に示します。

複数の選択値を特定の選択修飾子と使用すると, (ORオペランドが指定されているかのように)選択基準と一致するものを値とみなします。 (ANDオペランドが指定されているかのように)選択値は累積基準ではありません。

ALLは指定した値は存在しなければなりませんが, 指定しない他の値も存在しても構いません。 EQLは指定した値は存在しなければなりませんが, 指定しない他の値は存在してはなりません。これが,ALLとEQLの相違点です。 たとえば,現在のプロセスがTMPMBXとOPER特権を持っていて, 他の特権を持っていても構わない場合はALLを, 他の特権を持っていてはならない場合はEQLをそれぞれ指定します。

説明

F$CONTEXT関数を使用してF$PID関数の選択基準を設定します。

F$CONTEXT関数は,基準を作るときは何度でも呼び出せます。 ただし,1回の呼び出しにつき1つの項目しか指定できません。 項目値リストが適切な位置に与えられれば, 複数のコンテキストを同時に操作することができます。

適切な呼出しで選択基準を設定したら,F$PIDを繰り返し呼出して, F$CONTEXT関数で指定した基準と合う全てのプロセス識別番号(PID)を戻します。 基準と合うプロセスが無くなると,空文字列が戻されます。

F$PID関数が呼び出されると,コンテキスト・シンボルは"frozen"とみなされます。 つまり,対応する選択基準が削除されるまで, 同じコンテキスト・シンボルではF$CONTEXTを再び呼び出すことができません。 同じコンテキスト・シンボルに追加の選択基準を設定しようとすると, エラー・メッセージが表示されますが, コンテキストと選択基準には影響しないため F$PID関数の呼出しは続けることができます。

F$CONTEXTは,プロセス・メモリを使用して選択基準を格納します。 ある2つの状況では,このメモリが削除されます。 F$PID関数を呼出して空文字("")が戻されたとき, つまり選択基準に合う全てのプロセスが戻された場合と, 呼出しの際にCANCELというキーワードをコンテキストとともに使用した場合です。 このタイプの呼出しはCtrl/Y操作や他の条件処理ルーチンに適しています。

  1. $!Establish an error and CTRL/Y handler
    
         $ ON ERROR THEN GOTO error
         $ ON CONTROL_Y THEN GOTO error
         $!
         $ ctx = ""
         $ temp = F$CONTEXT ("PROCESS",ctx,"NODENAME","*","EQL")
         $ temp = F$CONTEXT ("PROCESS",ctx,"USERNAME","M*, SYSTEM","EQL")
         $ temp = F$CONTEXT ("PROCESS",ctx,"CURPRIV","SYSPRV, OPER","ALL")
         $!Loop over all processes that meet the selection criteria.
         $!Print the PID and name of the image for each such process.
    
         $loop:
         $ pid = F$PID(ctx)
         $ IF pid .EQS. ""
         $ THEN
         $     GOTO endloop
         $ ELSE
         $     image = F$GETJPI(pid,"IMAGNAME")
         $     SHOW SYMBOL pid
         $     WRITE SYS$OUTPUT image
         $     GOTO loop
         $ ENDIF
         $!The loop over the processes has ended.
    
         $endloop:
         $ EXIT
         $!
         $!Error handler. Clean up the context's memory with the CANCEL
         $!selection item keyword.
         $!
         $error:
         $ IF F$TYPE(ctx) .eqs. "PROCESS_CONTEXT" THEN -
          temp = F$CONTEXT ("PROCESS",ctx,"CANCEL")
    
         $ EXIT
    
    この例では,選択基準を設置するためにF$CONTEXTが3回呼び出されています。 最初の呼び出しは,クラスタ内の全ノードを探索するよう指定しています。 次の呼出しでは,ユーザ名が"M"で始まるか "SYSTEM" であるプロセスのみを対象とすることを指定しています。最後の呼出しでは, SYSPRVとOPER特権の両方を持っているプロセスを選択することを指定しています。

    ラベル"loop"と"endloop"で囲まれたコマンド行は, F$CONTEXTで設定した選択基準に合うプロセスを処理するため連続して F$PIDを呼んでいます。各PIDを検索した後, そのプロセスが実行しているイメージ名を得るためF$GETJPIを呼び出しています。 最後に,このプロシージャはイメージの名前を表示します。

    エラーの場合,またはCTRL/Yが押された場合は,制御はerrorに移され, (必要であれば)コンテキストがクローズされます。ここで,シンボル・タイプが PROCESS_CONTEXTであるか検査している点に注意してください。 シンボル・タイプがPROCESS_CONTEXTであれば, 選択基準はF$CONTEXTを使用して取り消さなければなりません。 シンボル・タイプがPROCESS_CINTEXTではない場合は,選択基準が設定されなかったか, または,F$PID実行中にエラーが起きたかプロセス・リストが全て使用されたか, のいずれかです。

  2. f$context("process",ctx,"prcnam  ","symbiont*, mcote*","eql")
    
    f$context("process",ctx,"prcnam  ","symbiont*, mcote* ","neq")
    
    f$context("process",ctx,"prcnam  ","mcote* ","neq")
    f$context("process",ctx,"prcnam  ","symbiont*","neq")
    
    この例ではEQLとNEQ選択値の違いを表す構文が3つ示してあります。 最初の関数(EQLを指定)はプロセス名に symbiont と mcote を含むすべてのプロセスを戻します。 2番目と3番目の関数(NEQを指定)は全てのプロセス(プロセス名にsymbiontがない, または mcote がないプロセス)を戻すことに相当します。


F$CSID

OpenVMS Clusterシステムから識別番号を戻し, システムのノード・リストの中で現在の位置を示すように, コンテキスト・シンボルを変更します。

フォーマット

     F$CSID (コンテキスト・シンボル) 

戻り値

システムのノード・リストの中の,1つのクラスタ識別番号を示す文字列。 クラスタ・システムでない場合は,空文字列。 最後のシステム・クラスタ識別番が戻されると,F$CSID関数は空文字列("")を戻します。

引数

コンテキスト・シンボル

システムのノード・リストを示すポインタを格納するために, DCLが使用するシンボルを指定します。 F$CSID関数は,このポインタを使用してクラスタ識別番号を戻します。

シンボルを使用してコンテキスト・シンボル引数を指定します。 最初にF$CSIDを呼び出す時は, 指定したシンボルは未定義または空文字列でなければなりません。

コンテキスト・シンボル引数が未定義または空文字列の場合, F$CSID関数は,システムのノード・リストの最初のシステムの識別番号を返します。 これ以降の呼出しでは,残りのクラスタ内のノードの識別番号がが順次返されます。

説明

F$CSID関数は,クラスタ識別番号を示す文字列を返し, システムのノード・リストで現在の位置を示すコンテキスト・シンボルを更新します。

現在使用しているシステムがクラスタのメンバではない場合は, 最初の戻り値は空文字です。

F$CSID関数を使用すると,システム上のすべてのクラスタ識別番号を取り出せます。 F$GETSYI関数を使用すると,特定のノードの情報を取り出せます。

最初のF$CSID関数呼出しで,コンテキスト・シンボル引数が初期化され, 後続のF$CSID関数呼出しはクラスタ内の他のノードのクラスタ識別番号を戻します (クラスタ識別番号は,ランダムな順序で戻されます)。 リスト内の最後のクラスタ識別番号を戻した後は,空文字列が戻されます。

  1. $ IF F$GETSYI("CLUSTER_MEMBER") .EQS. "FALSE" THEN GOTO NOT_CLUSTER
    $ CONTEXT = ""
    $START:
    $   id = F$CSID (CONTEXT)
    $   IF id .EQS. "" THEN EXIT
    $   nodename = F$GETSYI ("NODENAME",,id)
    $   WRITE SYS$OUTPUT nodename
    $   GOTO start
    $NOT_CLUSTER:
    $ WRITE SYS$OUTPUT "Not a member of a cluster."
    $ EXIT
    
    このコマンド・プロシージャは, F$CSID関数を使用してクラスタ内のシステム名を表示しています。 代入式で,シンボルCONTEXTを宣言します。 シンボルCONTEXTは,F$CSID関数のコンテキスト・シンボル引数として使用します。 CONTEXTには空文字列が割り当てられているので,F$CSID関数は, クラスタ・ノード・リストの最初のクラスタ識別番号を戻します。

    F$CSID関数が空文字列を返すのは,コマンド・プロシージャがリストの終わりであるか, またはクラスタではないノードでこの操作を行おうとしているか, のどちらかの場合です。 F$GETSYI呼出しは,現在使用しているノードがクラスタのメンバか否かを確認します。 コマンド・プロシージャは,この状態値で終了します。

    F$CSID関数が空文字列を返さなかった場合,このコマンド・プロシージャは F$GETSYI関数の3番目の引数に識別番号を指定して,システム名を得ます。 WRITEコマンドを使用すると,このシステム名が表示されます。


F$CVSI

文字列データからビット・フィールドを取り出し, その結果を符号付き値として整数に変換します。

フォーマット

     F$CVSI (開始ビット,ビット数,文字列) 

戻り値

取り出したビット・フィールドを符号付き値として変換した整数

引数

開始ビット

取り出される最初のビットのオフセットを指定します。 オフセットは,文字列の下位(右端)ビットを位置番号0として判断します。 オフセットは整数式として指定します。

負の値を持つ式を指定した場合や, 文字列のビット数を越える値を持つ式を指定した場合には, DCLはINVRANGEというエラー・メッセージを表示します。

ビット数

整数値に変換するために取り出されるビットの長さを指定します文字列のビット数以下でなければなりません。

負の値を持つ式を指定した場合や,ビット位置オフセットに加算したときに, 値が無効になる式を指定した場合には, DCLはINVRANGEというエラー・メッセージを表示します。

文字列

ビットが取り出される文字列を指定します。文字列は,文字列式として指定します。

  1. $ A[0,32] = %X2B
    $ SHOW SYMBOL A
      A = "+..."
    $ X = F$CVSI(0,4,A)
    $ SHOW SYMBOL X
      X = -5   Hex = FFFFFFFB  Octal = 177773
    
    この例では,算術オーバーレイを使用して,2Bという16進数を, Aというシンボルの32ビットすべてに割り当てています。 算術オーバレイについての詳細は,割り当て文(=)の説明を参照してください。

    シンボルAは未定義状態だったため,オーバレイが実行されたあと, このシンボルに文字列値が割り当てられます。 シンボルが未定義の場合,算術オーバレイを実行すると, その結果として文字列値が割り当てられます。 シンボルがすでに定義されている場合には,オーバレイを実行したあと, そのシンボルは,同じデータ・タイプのままです。 2Bという16進数は,ASCIIのプラス記号(+)に対応します。

    次にF$CVSI関数は,シンボルAから下位4ビットを取り出します。 下位4ビットには,Bという16進数の2進表現が含まれています。 これらのビットが,符号付き値として整数に変換されます。 変換後の値である-5が,シンボルXに割り当てられます。

  2. $ SYM[0,32] = %X2A
    $ SHOW SYMBOL SYM
      SYM = "*..."
    $ Y = F$CVSI(0,33,SYM)
    %DCL-W-INVRANGE, field specification is out of bounds - check sign and size
    $ SHOW SYMBOL Y
    %DCL-W-UNDSYM, undefined symbol - check spelling
    
    この例ではF$CVSI関数に指定された幅引数が大きすぎたため, DCLがエラー・メッセージを実行しシンボルYに値を割り当てていません。


F$CVTIME

絶対時刻,または複合時刻文字列を yyyy-mm-dd hh:mm:ss.cc という形式の文字列に変換します。またF$CVTIME関数は,絶対時刻, デルタ時間,またはそれらの組み合せの文字列に関する情報も戻します。

フォーマット

     F$CVTIME ([入力時刻][,出力時刻形式][,フィールド]) 

戻り値

要求された情報を含む文字列。

引数

入力時刻

絶対時刻,デルタ時間,または複合時刻を含む文字列,あるいはTODAY,TOMORROW, YESTERDAYのいずれかを指定します。入力時刻文字列は,文字列式として指定します。 入力時刻引数を省略した場合,または空文字列("")が指定された場合は, 絶対時刻形式での現在のシステムの日付が使用されます。 日付けフィールドの一部が省略された場合は, 省略された値は現在の日付の対応する値になります。 時刻フィールドの一部が省略された場合は,省略された値は0になります。

時刻値の指定についての詳細は,『OpenVMSユーザーズ・マニュアル』, またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) を参照してください。

入力時刻引数がデルタ時間の場合は, 出力時刻形式引数としてDELTAを指定しなければなりません。

出力時刻形式

戻される情報の時刻形式を指定します。 出力時刻形式引数は,次のいずれかの文字列を指定します。

ABSOLUTE 要求された情報が, 絶対時刻形式(dd-mmm-yyyy hh:mm:ss.cc)で戻されるように指定します。 ddが1桁の場合,先行の0や空白文字は戻されません。
COMPARISON (省略時の設定) 要求された情報が,yyyy-mm-dd hh:mm:ss.cc という形式で戻されるように指定します。
DELTA 要求された情報が,デルタ形式dddd-hh:mm:ss:cc で戻されるように指定します。出力時刻形式引数としてDELTAを指定する場合には, 入力時刻引数に対してもデルタ時間を指定しなければなりません。

出力フィールド

次のいずれか1つ(短縮できません)を含む文字列式を指定します。 DATE,MONTH,DATETIME (省略時の設定),SECOND,DAY,TIME,HOUR,WEEKDAY, HUNDREDTH,YEAR,MINUTE。 情報は,出力時刻形式引数に指定した時刻形式で戻されます。 入力時刻引数がデルタ時間で,出力時刻形式引数がDELTAの場合は, MONTH,WEEKDAY,または YEAR は指定できません。

曜日が戻される場合は,最初の文字は大文字でそれ以降の文字は小文字です。

説明

F$CVTIME関数を使用する場合, (最後の引数の右に指定する)オプションの引数は省略できますが, 最後に指定する引数の左の引数を省略する場合は,コンマ(,)は省略できません。

絶対時刻,または複合時刻形式で入力時刻引数を指定した場合は, 出力時刻形式引数としてABSOLUTEやCOMPARISONは指定できますが, DELTAは指定できません。

デルタ時間形式で入力時刻引数を指定した場合は, 出力時刻形式引数としてDELTAを指定しなければなりません。

  1. $ TIME = F$TIME()
    $ SHOW SYMBOL TIME
      TIME = "14-DEC-1998 10:56:23.10"
    $ TIME = F$CVTIME(TIME)
    $ SHOW SYMBOL TIME
      TIME = "1998-12-14 10:56:23.10"
    
    この例ではF$TIME関数を使用して,文字列としてシステム時刻を戻し, その時刻をTIMEというシンボルに割り当てています。 次に,F$CVTIME関数を使用して,システム時刻を別の時刻形式に変換しています。 TIMEはシンボルなので,この引数を引用符(" ")で囲む必要はありません。 レキシカル関数に対する引数としてシンボルが使用された時, シンボルは自動的に評価されます。

    この結果,求められた文字列を使って,2つの日付を比較できます (.LTS.演算子と.GTS.演算子を使用します)。 たとえば,F$CVTIMEを使用すれば,2つの時刻文字列を変換し, その結果をTIME_1とTIME_2というシンボルに格納できます。 そのあと,2つの値を比較し, 次に示されているように結果にもとづいてラベルに分岐させることができます。

         $ IF TIME_1 .LTS. TIME_2 THEN GOTO FIRST
    

  2. $ NEXT = F$CVTIME("TOMORROW",,"WEEKDAY")
    $ SHOW SYMBOL NEXT
    
     NEXT = "Tuesday"
    
    この例では,F$CVTIME関数は "TOMORROW" という絶対時刻キーワードに対応する曜日を戻します。 "TOMORROW"と"WEEKDAY"という引数は,引用符で囲まなければなりません。 これらの引数は,文字列式だからです。また,省略する出力時刻形式引数に対しては, 省略したことを示すために,プレースホルダとしてコンマを指定しなければなりません。


F$CVUI

文字データからビット・フィールドを取り出し, その結果を符号なし値として整数に変換します。

フォーマット

     F$CVUI (開始ビット,ビット数,文字列) 

戻り値

取り出したビット・フィールドを符号なし値として変換した整数

引数

開始ビット

取り出される最初のビットのオフセットを指定します。文字列の下位(右端)ビットは, オフセットでの位置番号0です。オフセットは整数式で指定します。

負の値を持つ式や,文字列に含まれるビット数を越える値を持つ式を指定した場合, DCLはINVRANGEというエラー・メッセージを表示します。

ビット数

整数値に変換するために取り出されるビット文字列の長さを指定します。 ここで指定する値は,文字列引数のビット数以下でなければなりません。

負の値を持つ式を指定した場合や, ビット位置オフセットに加算すると誤った値になる式を指定した場合は, DCLはINVRANGEというエラー・メッセージを表示します。

文字列

編集する文字列を指定します。

  1. $ A[0,32] = %X2B
    $ SHOW SYMBOL A
      A = "+"
    $ X = F$CVUI(0,4,A)
    $ SHOW SYMBOL X
      X = 11   Hex = 0000000B  Octal = 00000000013
    
    この例では,算術オーバーレイを使用して, シンボルAの32ビットすべてに16進数の2Bを割り当てています。 シンボルAは未定義状態のため,オーバレイが実行されたあと, このシンボルには,文字列値が割り当てられます。 (シンボルが未定義の場合には, 算術オーバレイの結果として文字列値が割り当てられます。 シンボルがすでに定義されていた場合には,オーバレイが実行されたあと, そのシンボルは同じデータ・タイプのままです。) 16進数の2Bは,ASCIIの "+" に対応します。

    次にF$CVUI関数がシンボルAから下位4ビットを取り出します。 下位4ビットには,16進数値Bの2進表現が含まれています。 これらのビットは,符号なし値として整数に変換されます。 変換後の11という値が,シンボルXに割り当てられます。


F$DEVICE

選択基準に合う装置名をすべて返します。

装置名はランダムな順序で返されます。

フォーマット

  F$DEVICE ([検索する装置名],[装置クラス],[装置タイプ],[ストリームid]) 

戻り値

システム装置リストの装置名文字列。 最後の装置名文字列が返された後は,空文字列("")が返されます。

引数

検索する装置名

検索する装置名を文字列で指定します。ワイルドカード(*と%)文字を使用できます。

検索する装置名引数は,文字列式として指定します。

装置クラス

検索する装置クラスを指定します。 装置クラス引数は,有効な装置クラス名に対応する文字列式として指定します。 F$GETDVIの表 12-5を参照してください。

装置タイプ

検索する装置タイプを指定します。 装置タイプ引数は,有効なタイプ名に対応する文字列式として指定します。 有効なタイプ名についてはF$GETDVIの 表 12-6を参照してください。

注意
装置クラスを指定せずに装置タイプを指定すると,エラーになります。


ストリーム id

検索ストリームを示す正の整数値

F$DEVICE関数を2回以上使用し,異なる選択基準引数を指定する場合, 検索ストリーム識別番号を使用して,それぞれの検索コンテキストを管理します。 コマンド・プロシージャの中で,F$DEVICE関数を2回以上使用し, 異なる選択基準指定引数を指定した場合には,各検索を別々に識別するために, ストリームid引数を指定しなければなりません。

装置名リストを最後まで読み出す前に選択基準を変更した場合は, コンテキストは再初期化され検索はまた先頭から開始されます。

ストリーム id引数を省略すると, F$DEVICE関数は検索ストリームが1つであると解釈します。 つまり,異なる選択基準引数を指定するたびに,先頭から検索を開始します。

説明

F$DEVICE関数を使用すると,$DEVICE_SCANシステム・サービスを使用することにより, ある選択基準を満たす装置を検索できます。

F$DEVICE関数では,装置名に基づいた検索に限り, アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できます。 装置クラス,または装置タイプを指定する場合は, 有効な文字列式を指定しなければなりません。

コマンド・プロシージャのループ内でF$DEVICE関数を使用して, 指定した選択基準に対応する装置名を戻すことできます。 F$DEVICE関数を実行する毎に,基準に合った次の装置名を戻します。 装置名はランダムな順序で戻されます。 基準にあった装置をすべて戻すと,F$DEVICE関数は空文字列を戻します。

明示的に(ストリーム id引数を指定して), または暗黙に(ストリーム id引数を省略して), 検索文字列のコンテキストを管理しなければなりません。 どちらの場合も,同一のストリーム(明示的あるいは暗黙的)で F$DEVICEシステム・サービスを実行する毎に同じ選択基準を指定しなければなりません。

  1. $ START:
    $     DEVICE_NAME = F$DEVICE("*0:","DISK","RA60")
    $     IF DEVICE_NAME .EQS. "" THEN EXIT
    $     SHOW SYMBOL DEVICE_NAME
    $     GOTO START
    
    ユニット番号0のRA60をすべて表示するコマンド・プロシージャです。

    ストリーム id引数が指定されていないので, F$DEVICEは暗黙の検索ストリームを使用します。 選択基準を変更していないので,装置名が順番に返されます。 選択基準に合った最後の装置名を表示した後, F$DEVICE関数は空文字列を返しコマンド・プロシージャを終了します。


F$DIRECTORY

現在の省略時のディレクトリ名文字列を戻します。 F$DIRECTORY関数には引数はありませんが,括弧を指定しなければなりません。

フォーマット

     F$DIRECTORY () 

戻り値

現在の省略時のディレクトリ名をかぎ括弧([])も含めて示す文字列。 SET DEFAULTコマンドで,ディレクトリ指定に不等号(<>)を指定した場合には, F$DIRECTORY関数はディレクトリ文字列の中に不等号を含めて戻します。

引数

なし

説明

F$DIRECTORY関数を使用すると, コマンド・プロシージャの現在の省略時のディレクトリ名を保存し, 別の作業のために省略時のディレクトリを他のディレクトリに変更し, 再び元の設定に戻すことができます。

  1. $ SAVE_DIR = F$DIRECTORY()
    $ SET DEFAULT [MALCOLM.TESTFILES]
       .
       .
       .
    $ SET DEFAULT 'SAVE_DIR'
    
    この例は,現在の省略時のディレクトリ設定を保存するために, F$DIRECTORY関数を使用するコマンド・プロシージャの一部を示しています。 割り当て文で,SAVE_DIRというシンボルに,現在のディレクトリの値を割り当てます。 次にSET DEFALTコマンドで,新しい省略時のディレクトリを設定します。 このあと,SET DEFAULTコマンドでSAVE_DIRシンボルを使用することにより, もとの省略時のディレクトリに戻しています。

    F$ENVIRONMENT関数でDEFAULTキーワードを使用すれば, 省略時のディスクとディレクトリをもとに戻すことができます。 複数のディスクを含む場合には, F$DIRECTORY関数ではなくF$ENVIRONMENT関数を使用します。


F$EDIT

編集リスト引数に指定された編集をもとに,文字列式を編集します。

フォーマット

     F$EDIT (文字列,編集リスト) 

戻り値

指定された編集を含む文字列。

引数

文字列

編集される文字列を指定します。引用符で囲まれた部分は編集されません。

編集リスト

編集リスト文字列に対して実行される編集のタイプを指定する, 1つまたは複数のキーワードを含む文字列を指定します。

編集 操作
COLLAPSE すべてのスペースとタブを文字列から削除します。
COMPRESS 複数のスペースとタブを1つのスペースに変換します。
LOWERCASE 文字列を小文字に変換します。
TRIM 先行スペースとタブ,および後続のスペースとタブを文字列から削除します。
UNCOMMENT コメントを文字列から削除します。
UPCASE 文字列を大文字に変換します。

2つ以上のキーワードを指定する場合は,コンマ(,)で区切ります。 キーワードを短縮することはできません。

文字列の中で引用符で囲まれた部分には,編集は適用されません。 したがって,文字列に引用符(" ")が含まれている場合には, 引用符で囲まれている文字は編集リストに指定されている編集の影響を受けません。


注意
編集リストにLOWERCASEと同時にUPCASEを指定した場合,UPCASEが優先されます。


  1. $ LINE = "   THIS   LINE   CONTAINS A ""  QUOTED  "" WORD"
    $ SHOW SYMBOL LINE
      LINE =  "    THIS    LINE    CONTAINS A "  QUOTED  " WORD"
    $ NEW_LINE = F$EDIT(LINE, "COMPRESS,TRIM")
    $ SHOW SYMBOL NEW_LINE
      NEW_LINE = "THIS LINE CONTAINS A "  QUOTED  " WORD"
    
    この例では,F$EDIT関数を使用して,複数のブランクは1つのブランクに変換され, 先行ブランクと後続ブランクを削除することにより,文字列が短縮されています。 このLINEという文字列には,引用符が含まれており,QUOTEDという単語を囲んでいます (文字列に引用符を入力するには,割り当て文で二重引用符を使用しなければなりません)。

    F$EDIT関数は,文字列の中で引用符で囲まれた部分ではスペースを短縮しません。 したがって,スペースはQUOTEDという単語を囲んだままになります。

  2. $ LOOP:
    $      READ/END_OF_FILE = DONE INPUT_FILE RECORD
    $      RECORD = F$EDIT(RECORD, "TRIM,UPCASE")
    $      WRITE OUTPUT_FILE RECORD
    $      GOTO LOOP
       .
       .
       .
    
    この例では,ファイルからレコードを読み込み,編集し, 出力ファイルに書き込むという作業を繰り返すためのループが設定されています。 編集後のレコードからは,先行ブランクと後続のブランクが削除されており, 文字列は大文字に変換されています。

  3. $ UNCOMMENT_LINE = F$EDIT("$ DIR ! THIS IS THE COMMENT", "UNCOMMENT")
    $ SHOW SYMBOL UNCOMMENT_LINE
    $ UNCOMMENT_LINE = "$ DIR"
    
    この例ではコメントを削除するためにF$EDIT関数を使用しています。


F$ELEMENT

指定した区切り文字で区切られた要素で構成される文字列から, 1つの要素を取り出します。

フォーマット

     F$ELEMENT (要素番号,区切り文字,文字列) 

戻り値

指定された要素を含む文字列。

引数

要素番号

取り出される要素の番号を指定します(要素番号は0から始まります)。 要素番号引数は,整数式として指定します。 要素番号が文字列に含まれる要素の数より大きい場合には, 区切り文字が戻されます。

区切り文字

文字列に含まれる要素を区切るために,使用する文字を指定します。 区切り文字は,文字列式として指定します。

文字列

区切り文字で区切られた要素のリストを含む文字列を指定します。 文字列は,文字列式として指定します。

  1. $ DAY_LIST = "MON/TUE/WED/THU/FRI/SAT/SUN"
    $ INQUIRE DAY "ENTER DAY (MON TUE WED THU FRI SAT SUN)"
    $ NUM = 0
    $ LOOP:
    $       LABEL = F$ELEMENT(NUM,"/",DAY_LIST)
    $       IF LABEL .EQS. "/" THEN GOTO END
    $       IF DAY .EQS. LABEL THEN GOTO 'LABEL'
    $       NUM = NUM +1
    $       GOTO LOOP
    $
    $ MON:
       .
       .
       .
    
    この例では,リストに含まれる要素のそれぞれと, 入力値を比較するためのループが設定されています。 DAYに対する値がDAY_LISTの1要素と一致する場合には, 制御は対応するラベルに移ります。 F$ELEMENT関数から戻される値が区切り文字の場合には, DAYの値はDAY_LISTに含まれていないため,制御はENDというラベルに移ります。

  2. $ ! INDEX.COM
    $ !
    $ CHAPTERS = "0,1,2,3,4,5,6,A,B,C"
    $ NEXT = 0
    $ LOOP:
    $   NEXT = NEXT + 1
    $   NUM = F$ELEMENT(NEXT,",",CHAPTERS)
    $   IF (NUM .NES. ",")
    $   THEN
    $      RUN INDEX CHAP'NUM'
    $      GOTO LOOP
    $   ENDIF
    
    この例ではファイルにCHAP1,CHAP2,... CHAP6,CHAPA,CHAPB, CHAPCという順に名前を付けるプロセスを示しています。 プロシージャ・ロジックを初期化状態にするため, ゼロはCHAPTERSという文字列に含まれます)。NEXTはゼロに初期化されます。 このプロシージャはループを実行します。 最初の繰り返しでNEXTは1に増え,その結果"1"を呼び出します。 次にプロシージャはindex,chapter1を実行します。 2回めの繰り返しでNEXTは2に増え,その結果"1"を呼び出します。 さらにプロシージャはindex,chapter2を実行し, 指定した区切り文字を呼び出すまでプロセスは続きます。


F$ENVIRONMENT

DCLコマンド環境に関する情報を戻します。

フォーマット

     F$ENVIRONMENT (項目) 

戻り値

指定された項目に対応する情報。 戻される値は,指定される項目に応じて整数または文字列になります。

引数

項目

戻される情報のタイプを指定します。次に示すキーワードのいずれか1つを指定します (キーワードを短縮することはできません)。

項目 データ・
タイプ
戻される情報
CAPTIVE 文字列 CAPTIVE属性を持ったアカウントにログインしている場合は,TRUEを戻します。 システム管理者は,Authorizeユーティリティ(AUTHORIZE)を使用して, 利用者登録ファイルにもCAPTIVEアカウントを定義できます。
CONTROL 文字列 SET CONTROLコマンドによって現在使用可能になっている制御文字を戻します。 複数の制御文字が使用可能な場合には,各文字はコンマで区切られます。 制御文字が使用可能ではない場合には,空文字列("")が戻されます。
DEFAULT 文字列 現在の省略時の装置,およびディレクトリ名を戻します。 戻される文字列はSHOW DEFAULTコマンドにより出力される文字列と同じです。
DEPTH 整数値 現在のコマンド・プロシージャのネスティングの中での深さを, 整数として戻します。会話型でコマンド・プロシージャを実行する場合, およびバッチ・ジョブでコマンド・プロシージャを実行する場合, コマンド・プロシージャの深さは0です。 ネスティングされたコマンド・プロシージャの深さは, そのネスティングされたプロシージャを実行したコマンド・プロシージャの深さより, 1 だけ大きな値です。
DISIMAGE 文字列 RUN,MCRやフォーリン・コマンドの実行が禁止されているアカウントの場合は, TRUEを戻します。システム管理者はAuthorizeユーティリティを使用して, 利用者登録ファイル内のアカウントにDISIMAGE属性を追加または削除できます。
INTERACTIVE 文字列 プロセスが会話型で実行されている場合は,TRUEを戻します。
KEY_STATE 文字列 現在ロックされているキーパッド状態を示す文字列を戻します。 キーパッド状態についての詳細は,DEFINE/KEYコマンドの説明を参照してください。
MAX_DEPTH 整数値 コマンド・プロシージャの最大の深さを示す整数を戻します。
MESSAGE 文字列 SET MESSAGEコマンドによる現在の設定を示す文字列を戻します。 この文字列には,修飾子名を区切るために,スラッシュ(/)が含まれています。 したがって,F$ENVIRONMENT("MESSAGE")からの出力を, SET MESSAGEコマンドのうしろに追加することにより, 有効なDCLコマンド行を作成できます。
NOCONTROL 文字列 SET NOCONTROLコマンドによって,現在禁止されている制御文字を戻します。 複数の文字が禁止されている場合には,各文字はコンマ(,)で区切られます。 SET NOCONTROLコマンドによって制御文字が禁止されていない場合には, 空文字列が戻されます。
ON_CONTROL_Y 文字列 コマンド・プロシージャから実行される場合は, ON_CONTROL_Yが設定されていればTRUEを戻します。 DCLコマンド・レベルでは,ON_CONTROL_Yは常にFALSEを戻します。
ON_SEVERITY 文字列 コマンド・プロシージャから実行される場合は, ONコマンドで指定した動作が実行される重要度を戻します。 SET NOONが有効な場合,またはDCLコマンド・レベルで使用した場合, ON_SEVERITYはNONEを戻します。
OUTPUT_RATE 文字列 省略時の出力速度を含むデルタ時間文字列を戻します。 これは,バッチ・ジョブの実行中に, バッチ・ジョブ・ログ・ファイルにデータが書き込まれる頻度を示します。 会話型で使用した場合,OUTPUT_RATEは空文字列を戻します。
PROCEDURE 文字列 現在のコマンド・プロシージャのファイル指定を戻します。 会話型で使用した場合は,端末装置名が戻されます。
PROMPT 文字列 現在のDCLプロンプトを戻します。
PROMPT_CONTROL 文字列 プロンプトの前に改行が挿入される場合はTRUEを戻します。
PROTECTION 文字列 現在の省略時のファイル保護を示す文字列を戻します。 文字列は有効なDCLコマンド行となるように, SET PROTECTION/DEFAULTコマンドで使用できる形式です。
RESTRICTED 文字列 制限付アカウントの場合は TRUE を戻します。 システム管理者は,Authorizeユーティリティを使用して, 利用者登録ファイルに制限付アカウントを定義できます。
SYMBOL_SCOPE 文字列 現在のシンボルの定義範囲を示すため,文字列[NO]LOCAL,[NO]GLOBALを戻します。
VERB_SCOPE 文字列 動詞の現在のシンボルの定義範囲を示すため,文字列[NO] LOCAL, [NO]GLOBALを戻します(詳細は,SET SYMBOLコマンドの説明を参照してください)。
VERIFY_IMAGE 文字列 SET VERIFY=IMAGEコマンドが有効である場合は,TRUEを戻します。 イメージ・チェックが有効な場合には,コマンド・プロシージャは, イメージによって読み込まれた入力データを表示します。
VERIFY_PREFIX 文字列 SET PREFIXコマンドで設定される前置制御文字列を戻します。
VERIFY_PROCEDURE 文字列 SET VERIFY=PROCEDUREコマンドが有効である場合は,TRUEを戻します。 コマンド・チェックが有効な場合には,コマンド・プロシージャは, DCLコマンド行を表示します。

  1. $ SAVE_MESSAGE = F$ENVIRONMENT("MESSAGE")
    $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION
       .
       .
       .
    $ SET MESSAGE'SAVE_MESSAGE'
    
    この例では,F$ENVIRONMENT関数を使用して,現在のメッセージ設定を変更する前に, その設定を保存します。 コマンド・プロシージャの最後で,もとのメッセージ設定が復元されます。 SAVE_MESSAGEというシンボルを囲む一重引用符(' ')は, そのシンボル名を値と置き換えるように指定しています。

  2. $ MAX = F$ENVIRONMENT("MAX_DEPTH")
    $ SHOW SYMBOL MAX
      MAX = 32   Hex = 00000020  Octal = 00000000040
    
    この例では, コマンド・プロシージャ内で可能な最大のネスティングの深さを判断するために, F$ENVIRONMENT関数を使用しています。

  3. $ SAVE_PROT = F$ENVIRONMENT("PROTECTION")
    $ SET PROTECTION = (SYSTEM:RWED, OWNER:RWED, GROUP, WORLD)/DEFAULT
       .
       .
       .
    $ SET PROTECTION = ('SAVE_PROT')/DEFAULT
    
    この例では,F$ENVIRONMENT関数を使用して,保護を変更する前に, 現在の省略時の保護を保存します。 コマンド・プロシージャの最後で,もとの保護に戻されます。 シンボル置換を要求するためには, SAVE_PROTというシンボルを引用符で囲まなければなりません。


F$EXTRACT

文字列から部分文字列を取り出します。

フォーマット

     F$EXTRACT (開始,長さ,文字列) 

戻り値

開始引数と長さ引数によって区切られた部分文字列。

引数

開始

取り出したい部分文字列の先頭のオフセットを指定します。 0以上の整数式として指定します。

オフセットは文字の相対位置,または文字列の先頭の部分文字列です。 オフセット位置は0から始まります。文字列は,常に左端の文字から始まります。

文字列の長さ以上のオフセットを指定した場合には,空文字列("")を戻します。

長さ

取り出す文字数を指定します。 文字列サイズ以下でなければなりません。長さは,0以上の整数式を指定します。

オフセットから文字列の最後までの文字数より大きな値の長さを指定すると, オフセットから文字列の最後までの文字を戻します。

文字列

編集する文字列を指定します。文字列には,文字列式を指定します。

  1. $ NAME = "BRIAN MACKRILL"
    $ FIRST = F$EXTRACT(0,5,NAME)
    $ SHOW SYMBOL FIRST
      FIRST = "BRIAN"
    
    この例はコマンド・プロシージャの一部であり, シンボルNAMEに割り当てられた文字列から最初の5文字を取り出すために, F$EXTRACT関数を使用しています。 オフセット引数と長さ引数は整数であり,文字列引数はシンボルです。 レキシカル関数に対する引数として整数やシンボルを使用する場合には, これらを引用符(" ")で囲む必要はありません。

  2. $ P1 = "MYFILE.DAT"
    $ FILENAME = F$EXTRACT(0,F$LOCATE(".",P1),P1)
    
    この例もコマンド・プロシージャの一部です。文字列からある1文字を見つけ, その位置で終わる部分文字列を取り出す方法を示しています。

    F$LOCATE関数は, P1に対応する文字列中のピリオドのオフセット位置を示す数値を戻します (ピリオドのオフセット位置は,ピリオドの前の部分文字列の長さと同じです)。

    F$EXTRACT関数の引数としてF$LOCATE関数を使用して, 文字列から取り出す文字数を指定しています。 パラメータMYFILE.DATを使用してプロシージャを呼び出し, これらのステートメントを実行すると, シンボルFILENAMEにMYFILEという値が割り当てられます。

    上記の例でF$LOCATE関数は, ファイル指定にサブディレクトリ名を含むディレクトリ指定や, ノード名が含まれていないとして解釈しています。 完全なファイル指定からファイル名を取り出すためには,F$PARSE関数を使用します。

  3. $ IF F$EXTRACT(12,2,F$TIME()) .GES. "12" THEN GOTO AFTERNOON
    $ MORNING:
    $ WRITE SYS$OUTPUT "Good morning!"
    $ EXIT
    $ AFTERNOON:
    $ WRITE SYS$OUTPUT "Good afternoon!"
    $ EXIT
    
    この例では,現在の時刻が午前であるか午後であるかに応じて, 異なるメッセージを表示するプロシージャを示しています。 最初に,F$TIME関数を使用して,現在の時刻が戻されます。F$TIME関数は文字列を戻し, この文字列がF$EXTRACT関数に対する文字列引数として使用されます。 F$TIME関数が引数として使用されている場合には, この関数は自動的に評価されるので,引用符を使用する必要はありません。

    次にF$EXTRACT関数は, F$TIMEから戻された日付と時刻の示された文字列から時を取り出します。 F$TIMEから渡される文字列には, 常に先頭から12文字のオフセットから時フィールドが含まれています。

    F$EXTRACT関数は,このオフセットから始まる2文字を文字列から取り出し, 取り出した文字列値と文字列値12を比較します。 比較結果が真の場合には,プロシージャは "Good afternoon!" を出力します。 比較結果が偽の場合には,"Good morning!" を出力します。

    また,時刻指定から時フィールドを取り出すために,F$CVTIME関数を使用できます。 F$CVTIME関数を使用する方が,上記の例に示されている方法に比べ簡単です。


F$FAO

$FAOシステム・サービスを呼び出し,指定された制御文字列を, ASCII形式に整えられた出力文字列に変換します。 書式を指定して,整数値を文字列に変換したり, キャリッジ・リターンやフォーム・フィードを挿入したり, テキストを挿入したりできます。

フォーマット

     F$FAO (制御文字列[,引数[,...]]) 

戻り値

ASCII形式で出力される文字列。 この出力文字列は,制御文字列の固定テキストとFAOディレクティブから作成されます。

引数

制御文字列

出力文字列の固定テキストとFAOディレクティブを結合したものです。 制御文字列の長さは任意であり,FAOディレクティブをいくつでも含むことができます。 制御文字列では,文字列式として指定します。

F$FAO関数は,FAOディレクティブを使用して,ASCII形式のデータを変更したり, 制御文字列中の固定テキストに割り当てたりします。

表 12-2 は制御文字中で指定するFAOディレクティブを示しています。

引数[,...]

制御文字列中のFAOディレクティブに対する1〜15の引数。 引数は,整数式または文字列式として指定します。 表 12-2は, 各FAOディレクティブと必要な引数タイプを示しています。

FAOディレクティブは1つまたは複数の引数を必要とすることがあります。 その順序は,制御文字列のものと正確に一致しなくてはなりません。 そうでない場合でも,エラー・メッセージは出力されません。

対応するディレクティブに対して指定可能なタイプ(整数または文字列) ではない引数を指定すると,予測できない結果が戻されます。 F$INTEGERやF$STRINGを使用して適当な型に変換してください。

引数に不足がある場合,F$FAOは引数リストを越えて読もうとします。 そのため,制御文字列のディレクティブに一致する引数を必ず指定してください。

対応するディレクティブに対して指定可能なタイプ(整数または文字列) ではない引数を指定すると, コマンドが実行されなかったという予測できないエラーになります。 このエラーは,$FAOシステム・サービスからのものそのままです。

説明

$FAOシステム・サービスを起動し,文字および数値入力をASCII文字列に変換します (FAOはformatted ASCII outputの略です)。 書式を指定して,整数値を文字列に変換したり, キャリッジ・リターンやフォームフィードをテキストを挿入したり, テキストを挿入したりできます。

以下のフォーマットを使用してFAOディレクティブを指定します。

フォーマット 機能
!DD 1つのディレクティブです。
!n(DD) 指定した回数を繰り返します。
!lengthDD 指定した長さのフィールドに出力します。
!n(lengthDD) 指定した回数を繰り返し,指定した長さのフィールドに出力します。

感嘆符(!)は,それ以降の文字または文字列が FAOディレクティブとして解釈されることを示しています。 DDはF$FAOが実行するためのアクションであることを示す, 1つまたは2つの大文字のコードを表しています。繰り返し数を指定する場合, nはディレクティブが繰り返される回数を指定する10進数です。 length値は, "length" 文字の出力フィールドを表わすためにF$FAOに指示する 10進数です。

繰り返し回数と出力の長さは,絶対数ではなく,(#)を使用して指定することもできます。 (#)を使用した場合は,引数リストの相当する位置に整数式として数値を指定します。

変数出力フィールドを繰り返し回数で指定すると,長さパラメータは1つだけ必要です。 これは,各出力文字列はそれぞれ長さを指定しているからです。

FAOディレクティブは以下のカテゴリでグループ化されます。

表 12-2は, FAOディレクティブと必須の引数タイプを示しています。 次の節では文字列挿入,ゼロ埋め込み数値変換, および空白埋め込み数値変換を実行するディレクティブの出力文字列を説明します。


注意
$FAOシステム・サービスではサポートされていますが, DCL F$FAOレキシカル関数ではサポートされていない 2つのタイプのディレクティブがあります。その2つのタイプを次に示します。

  • クォドワード数値ディレクティブ( Q,H,およびJ )。 すべてのDCL数値はロングワードとして格納されるので,DCLではサポートされません。

  • !ASディレクティブ以外の文字列ディレクティブ。 すべてのDCL文字列は記述子として格納されるので,DCLではサポートされません。

$FAOシステム・サービス・ディレクティブについての詳細は 『OpenVMS System Services Reference Manual』を参照してください。


表 12-2 FAOディレクティブの要約

ディレクティブ 引数の型 説明
文字列挿入:
!AS 文字列 文字列をそのまま挿入する。
ゼロ埋め込み数値変換:
!OB 整数 バイトから8進数表現に変換する。
!OW 整数 ワードから8進数表現に変換する。
!OL 整数 ロング・ワードから8進数表現に変換する。
!XB 整数 バイトから16進数表現に変換する。
!XW 整数 ワードから16進数表現に変換する。
!XL 整数 ロング・ワードから16進数表現に変換する。
!ZB 整数 バイトから10進数表現に変換する。
!ZW 整数 ワードから10進数表現に変換する。
!ZL 整数 ロング・ワードから10進数表現に変換する。
空白埋め込み数値変換:
!UB 整数 負数調整なしにバイトから10進数表現に変換する。
!UW 整数 負数調整なしにワードから10進数表現に変換する。
!UL 整数 負数調整なしにロング・ワードから10進数表現に変換する。
!SB 整数 負数変換してバイトから10進数表現に変換する。
!SW 整数 負数変換してワードから10進数表現に変換する。
!SL 整数 負数変換してロング・ワードから10進数表現に変換する。
特殊編集:
!/ None キャリッジ・リターンとライン・フィードを挿入する。
!_ None タブを挿入する。
!^ None フォーム・フィードを挿入する。
!! None 感嘆符(!)を挿入する。
!%I 整数 ロング・ワードの整数を名前形式の UIC形式[グループ識別子,メンバ識別子]に変換する。
!%S None 最近変換された数値が1でないとき"S"を挿入する。 (マルチ・リンガル製品で使用することは推奨しません。)
!%U 整数 ロング・ワードの整数を数値UIC形式[g,m]に変換する。 ここでgはグループ番号,mはメンバ番号。

ディレクティブが,かぎかっことカンマを挿入する。

!n<...!> None n文字のフィールドに,すべてのデータを左詰めし,残りを空白で埋める。
!n*c None cで表現される文字をn回繰り返する。
!n%C 文字列 最も最近評価された引数の値がnの時,文字列を挿入する (マルチ・リンガル製品で使用する)。
!%E 文字列 最も最近評価された引数が先行するどの!n%Cディレクティブにも一致しない時, 文字列を挿入する(マルチ・リンガル製品で使用する)。
!%F None 複数形の終わりにマークする。
!%T 整数 0 現在時刻を挿入する。
!%D 整数 0 現在日付時刻を挿入する。
引数の解釈:
!- None 最後の引数を再使用する。
!+ None 次の引数をスキップする。

文字列挿入による出力文字列

!ASディレクティブは, 制御文字列に(ディレクティブの引数として指定された)文字列を挿入します。 制御文字列に文字列を挿入した場合,文字列のフィールドの長さは, 文字列の長さになります(これが省略時の設定です)。 省略時の長さが明示的に指定したフィールドの長さよりも短い場合は, 文字列は左詰めされ,残りは空白で埋められます。 省略時の長さが明示的に指定したフィールドの長さよりも長い場合は, 文字列の右端は切り捨てられます。

ゼロ埋め込み数値変換による出力文字列

ゼロ埋め込み数値変換のためのディレクティブは, (ディレクティブの引数として指定された)整数を,10進数,8進数, または16進数表現に変換します。整数のASCII表現は,制御文字列に挿入されます。 変換された引数の省略時の出力フィールドの長さは,以下のように決められます。

引数を10進数表現に変換するディレクティブは,バイト変換では3桁, ワード変換では6桁,ロングワード変換では11桁を返します。 数字は右詰めされ,左端はゼロで埋められます。 省略時の長さより明示的に指定したフィールドの長さが長い場合は, 左端は空白で埋められます。 省略時の長さより明示的に指定したフィールドの長さが短い場合は, 左端は切り捨てられます。

引数を8進数表現に変換するディレクティブは,バイト変換では2桁, ワード変換では4桁,ロングワード変換では8桁を返します。 数字は右詰めされ,左端はゼロで埋められます。 省略時の長さより明示的に指定したフィールドの長さが長い場合は, 左端は空白で埋められます。 省略時の長さより明示的に指定したフィールドの長さが短い場合は, 左端は切り捨てられます。

引数を16進数表現に変換するディレクティブは, 16進数で要求される数の文字を返します。 省略時の長さより明示的に指定したフィールドの長さが長い場合は, 左端はゼロで埋められます。 省略時の長さより明示的に指定したフィールドの長さが短い場合は, 出力フィールドはすべてアスタリスク(*)で埋められます。

バイト変換では引数の2進表現の下位8ビットのみを, ワード変換では下位16ビットのみを使用します。 ロングワード変換では,32ビットすべてを使用します。

空白埋め込み数値変換による出力文字列

空白埋め込み数値変換のディレクティブは, (ディレクティブの引数として指定された)整数を10進数表現に変換します。 これらのディレクティブは,符号付きあるいは符号なしとして整数を変換できます。 整数のASCII表現は,制御文字列に挿入されます。

変換された引数の出力フィールドの長さは, 必要な文字数です(これが省略時の設定です)。 明示的に指定したフィールドの長さよりも値が短い場合は, 右詰めされ残は空白で埋められます。 明示的に指定したフィールドの長さよりも値が長い場合は, フィールドはアスタリスクで埋められます。

バイト変換では引数の2進表現の下位8のみを, ワード変換では下位16ビットのみを使用します。 ロングワード変換では32ビットすべてを使用します。

特殊編集による出力文字列

!n%Cおよび!%Eディレクティブは,(最後に評価された引数の値をもとにした) ASCII文字を出力文字列に挿入します。 これらのディレクティブは,不規則な複数の名詞や動詞を挿入するときに便利です。

最後に評価された引数がnと等しい場合は, 2つのディレクティブ間のテキストは出力文字列に挿入されます。 最後に評価された引数がnと等しくない場合は, 次の!n%Cディレクティブが実行されます。

nが負数の場合は,引数として指定し(#)を使用しなくてはなりません。

!n%Cおよび!%Eディレクティブを,繰り返し回数で指定することができます。 繰り返し回数を指定すると, 2つのディレクティブ間のテキストは指定された回数だけ出力文字列にコピーされます。

%Fディレクティブは複数の文の終わりを示します。

  1. $ COUNT = 57
    $ REPORT = F$FAO("NUMBER OF FORMS = !SL",COUNT)
    $ SHOW SYMBOL REPORT
      REPORT = "NUMBER OF FORMS = 57"
    
    このコマンド・プロシージャでは, 制御文字列で!SLというFAOディレクティブを使用することにより, COUNTというシンボルに割り当てられている値が,文字列に変換されます。 変換後の文字列は,制御文字列に挿入されます。

    COUNTには,57という整数値が割り当てられています。 したがってF$FAO関数は "NUMBER OF FORMS=57" というASCII文字列を戻し, この文字列をREPORTというシンボルに割り当てます。

  2. $ A = "ERR"
    $ B = "IS"
    $ C = "HUM"
    $ D = "AN"
    $ PHRASE = F$FAO("TO !3(AS)",A,B,C+D)
    $ SHOW SYMBOL PHRASE
    $ PHRASE = "TO ERRISHUMAN"
    
    このコマンド・プロシージャでは,A,B,C,および Dというシンボルに割り当てられている値を,制御文字列に挿入するために, !ASデイレクティブが使用されています。

    !ASディレクティブに対して,3という繰り返し回数が指定されているため, F$FAOは3つの引数を調べます。この例では,引数にシンボルA ("ERR"), シンボルB ("IS"),およびC+Dという式("HUMAN")が含まれています。 これらの文字列引数の値が連結され,"ERRISHUMAN" という文字列が作成されます。

  3. $ A = "ERR"
    $ B = "IS"
    $ C = "HUMAN"
    $ PHRASE = F$FAO("TO !#(#AS)",3,6,A,B,C)
    $ SHOW SYMBOL PHRASE
    $ PHRASE = "TO ERR   IS    HUMAN "
    
    このコマンド・プロシージャでは,文字列を書式化するために, !ASディレクティブを指定したF$FAO関数が使用されています。最初の番号記号(#)は, 最初の引数である3によって与えられる繰り返し回数を示しています。 2番目の番号記号(#)は, 2番目の引数である6が与えられるフィールド・サイズを示しています。 次の3つの引数(A,B,およびC)は,!ASディレクティブが繰り返されるたびに, 制御文字列に挿入される文字列を示します。

    各引数文字列は,6文字の長さのフィールドに出力されます。 各文字列は6文字より短いため,各フィールドは左桁ぞろえされ, 右側に空白が挿入されます。 この結果,作成された文字列は,PHRASEというシンボルに割り当てられます。

  4. $ OFFSPRING = 1
    $ REPORT = F$FAO-
    ("There !0UL!1%Cis!%Eare!%F !-!UL !-!0UL!1%Cchild!%Echildren!%F here",1)
    $ SHOW SYMBOL REPORT
    $ REPORT ="There is 1 child here"
    
    このコマンド・プロシージャでは, !0ULディレクティブは引数OFFSPRINGを評価しますが,出力文字列に値を挿入しません。 !n%Cディレクティブは,その値と引数OFFSPRINGの値が一致するので,"is" という文字列を出力文字列に挿入します。 出力文字列の適切な位置に正確な文字が挿入されるよう修正するため, !-!ULディレクティブは,2回目の引数の評価をします。 !%Fディレクティブは,それぞれの複数文の終わりを示しています。 F$FAO関数は "There is 1 child here" というASCII文字列を返して, それをREPORTというシンボルに割り当てます。


F$FILE_ATTRIBUTES

指定されたファイルの属性に関する情報を戻します。

フォーマット

     F$FILE_ATTRIBUTES (ファイル指定,項目) 

戻り値

要求した項目に応じて,整数または文字列となります。 各項目の戻された値のデータ・タイプを 表 12-3に示します。

引数

ファイル指定

情報が必要なファイルの名前。ファイル名は文字列式として指定します。

ファイル名は,1つしか指定することができません。 ファイル指定の中で,ワイルドカード文字を使用することはできません。

項目

ファイルのどの属性を戻してほしいか指定します。項目は,文字列式として指定します。 表 12-3 のRMSフィールド名から1項目を指定します。

説明

DCL割り当て文および式で使用して,ファイルの属性に関する情報を戻します。 表 12-3は F$FILE_ATTRIBUTES関数に指定する項目,戻される情報, その情報のデータ・タイプを示しています。

表 12-3 F$FILE_ATTRIBUTES項目

項目 データ・
タイプ
戻される情報
AI 文字列 AIジャーナリングが設定されていればTRUE。設定されていなければFALSE。
ALQ 整数値 割り当てサイズ
BDT 文字列 バックアップ日付
BI 文字列 BIジャーナリングが設定されていればTRUE。設定されていなければFALSE。
BKS 整数値 バケット・サイズ
BLS 整数値 ブロック・サイズ
CBT 文字列 contiguous-best-try割り当てアルゴリズムが使用されていればTRUE。 使用されていなければFALSE。
CDT 文字列 作成日付
CTG 文字列 contiguous割り当てアルゴリズムが使用されていればTRUE。 使用されていなければFALSE。
DEQ 整数値 省略時の拡張サイズ
DID 文字列 ディレクトリID
DIRECTORY 文字列 TRUE あるいは FALSE を返す。ディレクトリである場合は TRUE を返す。
DVI 文字列 装置名
EDT 文字列 満了日付
EOF 整数値 使用ブロック数
ERASE 文字列 削除時に物理的に削除される場合はTRUE。物理的に削除されない場合はFALSE。
FFB 整数値 先頭空きバイト
FID 文字列 ファイルID
FILE_LENGTH_HINT 文字列 レコード数およびデータのバイト数を (n,m) の形式で返す。 ここで n はレコード数で,m はデータのバイト数である。 無効な数は,n あるいは m-1 が返される。
FSZ 整数値 固定制御領域サイズ
GBC 整数値 グローバル・バッファ数
GRP 整数値 所有者グループ番号
JOURNAL_FILE 文字列 ジャーナル・ファイルの場合はTRUE。ジャーナル・ファイルではない場合はFALSE。
KNOWN 文字列 Knownファイルがインストール・ユーティリティ(INSTALL) ともにインストールされた場合はTRUEを,そうでない場合はFALSEを返す。 ただし,ファイルが存在しない場合 (たとえば,ファイルがインストールされた直後に削除された場合)は, NOSUCHFILEを返す。
LOCKED 文字列 アクセスが許可されないロック状態の場合はTRUE。そうでない場合はFALSE。
LRL 整数値 最大レコード長
MBM 整数値 所有者メンバ番号
MOVE 文字列 movefile操作が可能な場合はTRUE。そうでない場合はFALSE。
MRN 整数値 最大レコード数
MRS 整数値 最大レコード・サイズ
NOA 整数値 エリア数
NOBACKUP 文字列 バックアップ用にファイルがマークされている場合はFALSE。 NOBACKUPのマークがついている場合はTRUE。
NOK 整数値 キー数
ONLINE 文字列 ファイルがオンラインである場合はTRUE。そうでない場合は,FLASE。
ORG 文字列 ファイル編成法(SEQ,REL,IDX)
PRESHELVED
(Alpha のみ)
文字列 ファイルがプリシェルブドである場合はTRUE。そうでない場合は,FLASE。
PRO 文字列 ファイル保護文字列
PVN 整数値 プロローグ・バージョン番号
RAT 文字列 レコード属性(CR,PRN,FTN,"")
RCK 文字列 読込みチェックが設定されている場合はTRUE。そうでない場合はFALSE。
RDT 文字列 最新更新日付
RFM 文字列 レコード・フォーマット(VAR,FIX,VFC,UDF,STM,STMLF,STMCR)
RU 文字列 RUジャーナリングが設定されている場合はTRUE。設定されていない場合はFALSE。
RVN 整数値 改訂番号
SHELVABLE 文字列 ファイルがシェルブド可能な場合はTRUE。不可能な場合はFALSE。
SHELVED 文字列 ファイルがシェブルドの場合はTRUE。そうでない場合はFALSE。
STORED_SEMANTICS 文字列 セマンティックスを表すASCII文字列
UIC 文字列 所有者UIC文字列
VERLIMIT 整数値 バージョン・リミット番号。32767 はバージョン・リミットが設定されていないことを示す。
WCK 文字列 書込みチェックが設定されている場合はTRUE。設定されていない場合はFALSE。

ファイル属性は OpenVMS RMS制御ブロックの情報から作られたファイル・ヘッダに格納されます。 OpenVMS RMS制御ブロックについての詳細は 『OpenVMS Record Management Services Reference Manual』を参照してください。

  1. $ FILE_ORG = F$FILE_ATTRIBUTES("QUEST.DAT","ORG")
    $ SHOW SYMBOL FILE_ORG
      FILE_ORG = "SEQ"
    
    この例では,ファイル編成タイプの値をFILE_ORGというシンボルに割り当てるために, F$FILE_ATTRIBUTES関数が使用されています。 F$FILE_ATTRIBUTES関数は,"SEQ"という文字列を戻します。 これはQUEST.DATが順編成ファイルであることを示します。

    F$FILE_ATTRIBUTES関数に対するORG引数およびQUEST.DAT引数は, 文字列リテラルであり,式の中で使用するときは二重引用符で囲まなければなりません。

  2. $ RFM = F$FILE_ATTRIBUTES("KANSAS::USE$:[CARS]SALES.CMD","RFM")
    $ SHOW SYMBOL RFM
      RFM = "VAR"
    
    この例では,遠隔ノードのファイルに関する情報を戻すために, F$FILE_ATTRIBUTES関数が使用されています。 この関数は,VARというレコード形式文字列を戻します。 これはレコード形式が可変長レコードであることを示します。


F$GETDVI

$GETDVIシステム・サービスを起動し, 指定された装置に関する指定された情報を戻します。

フォーマット

     F$GETDVI (装置名,項目) 

戻り値

要求する項目に応じて,整数または文字列となります。 各項目の戻された値を表 12-4に示します。

引数

装置名

物理装置名,または物理装置名に割り当てられている論理名を指定します。 文字列式として指定します。

装置名が評価されると,F$GETDVI関数は名前の初めの文字を調べます。 名前の最初の文字がアンダースコア(_)の場合は,物理装置として扱われます。 そうでない場合は,論理名変換を一回行いその等価名(またはもとの名前)が使用されます。

項目

戻される装置情報のタイプを指定します。文字列式を指定します。 表 12-4に示す1項目を指定します。

説明

$GETDVIシステム・サービスを起動し,指定した装置に関する指定した情報を戻します。 F$DEVICE関数を使用すると, 現在使用しているシステムの装置の一覧を得ることができます。 引数項目の記述が別の方法でない限り, F$GETDVI関数はローカル・ノードのみの装置情報を戻します。

この関数を使用すると, プロセスにチャネルを割り当てる必要のない装置の情報を得ることができます。

F$GETDVI関数は, $GETDVIシステム・サービス呼び出し時に指定できるすべての項目の情報を戻します。 $GETDVIシステム・サービスが許可する項目に加えて, F$GETDVI関数はEXISTSの指定を許可します。

表 12-4は,F$GETDVI関数に指定する項目, 戻される情報,およびその情報のデータ・タイプを示しています。 表 12-4に示す戻される情報に加えて,F$GETDVI関数は $GETDVIシステム・サービスで作成される任意のエラー・メッセージも戻します。 表 12-5は, DEVCLASSによって戻される値を表わしています。 表 12-6は, DEVTYPEによって戻される値を表わしています。 $GETDVIシステム・サービスと指定する項目についての詳細は 『OpenVMS System Services Reference Manual』を参照してください。

表 12-4 F$GETDVI項目

項目 データ・
タイプ
戻される情報[1]
ACPPID 文字列 補助制御プロセス(ACP)識別
ACPTYPE 文字列 ACP タイプ・コード。 F11V1,F11V2,F11V3,F11V4,F11V5,F64,HBS,JNL,MTA,NET,REM,UCX,ILLEGAL のいずれか。

次の場合は,ACPTYPE 項目には ILLEGAL が返される。

  • 装置がマウントされていない,あるいは /FOREIGN 修飾子を使用してマウントされている場合。

  • ACPTYPE が現在定義されていない場合。
ALL 文字列 装置が割り当てられている場合はTRUE,そうでない場合はFALSE。
ALLDEVNAM 文字列 割り当てクラス装置名
ALLOCLASS 0〜255間のロングワード整数値 ホストの割り当てクラス
ALT_HOST_AVAIL 文字列 代替パスを提供するホストが使用可能である場合はTRUE。 そうでない場合はFALSE。
ALT_HOST_NAME 文字列 代替パスを提供するホスト名
ALT_HOST_TYPE 文字列 代替パスを提供するホストのハードウェア・タイプ
AVL 文字列 装置が使用可能である場合はTRUE。そうでない場合はFALSE。
CCL 文字列 キャリッジ制御装置である場合はTRUE。そうでない場合はFALSE。
CLUSTER 整数値 ボリューム・クラスタ・サイズ
CONCEALED 文字列 論理装置名が隠し装置に変換される場合はTRUE。そうでない場合はFALSE。
CYLINDERS 整数値 ボリュームのシリンダ数(ディスクのみ)
DEVBUFSIZ 整数値 装置バッファ・サイズ
DEVCHAR 整数値 装置属性
DEVCHAR2 整数値 追加装置属性
DEVCLASS 整数値 装置クラス(戻される値については 表 12-5を参照)。
DEVDEPEND 整数値 装置依存情報
DEVDEPEND2 整数値 追加装置依存情報
DEVLOCKNAM 文字列 装置の一意なロック名
DEVNAM 文字列 装置名
DEVSTS 整数値 装置依存状態情報
DEVTYPE 整数値 装置タイプ(戻される値については 表 12-6を参照)。
DEVICE_TYPE_NAME 文字列 装置タイプ名
DFS_ACCESS 文字列 装置が遠隔ノードの分散ファイル・システム (DFS)サーバに接続された仮想ディスクの場合はTRUE。そうでない場合はFALSE。
DIR 文字列 装置がディレクトリ構造である場合はTRUE。そうでない場合はFALSE。
DMT 文字列 装置にディスマウントのための印がある場合はTRUE。そうでない場合はFALSE。
DUA 文字列 汎用装置である場合はTRUE。そうでない場合はFALSE。
ELG 文字列 装置でエラー・ログを有効にしている場合はTRUE。そうでない場合はFALSE。
ERRCNT 整数値 エラー・カウント
EXISTS 文字列 システム上に装置がある場合はTRUE。そうでない場合はFALSE。
FOD 文字列 ファイル単位取り扱い装置である場合はTRUE。そうでない場合はFALSE。
FOR 文字列 /FOREIGN修飾子を使用してマウントされている場合はTRUE。 そうでない場合はFALSE。
FREEBLOCKS 整数値 ボリューム上のフリー・ブロック数(ディスクのみ)
FULLDEVNAM 文字列 完全指定の装置名
GEN 文字列 汎用装置である場合はTRUE。そうでない場合はFALSE。
HOST_AVAIL 文字列 1時パスを提供するホストが使用可能である場合はTRUE。 そうでない場合はFALSE。
HOST_COUNT 整数値 OpenVMS Cluster内の他のノードでの装置使用を可能にするホスト数
HOST_NAME 文字列 1次パスを提供するホストの名前
HOST_TYPE 文字列 1次パスを提供するホストのハードウェア・タイプ
IDV 文字列 providing入力が可能である場合はTRUE。そうでない場合はFALSE。
LOCKID 整数値 クラスタ単位のロック識別
LOGVOLNAM 文字列 論理ボリューム名
MAXBLOCK 整数値 ボリューム上の論理ブロック数
MAXFILES 整数値 ボリューム上のファイルの最大数(ディスクのみ)
MBX 文字列 装置がメールボックスである場合はTRUE。そうでない場合はFALSE。
MEDIA_ID 文字列 非デコード・メディアID
MEDIA_NAME 文字列 ディスク・タイプ名あるいはテープ・タイプ名
MEDIA_TYPE 文字列 装置名接頭辞
MNT 文字列 装置がマウントされている場合はTRUE。そうでない場合はFALSE。
MOUNTCNT 整数値 マウント回数
NET 文字列 ネットワーク装置である場合はTRUE。そうでない場合はFALSE。
NEXTDEVNAM 文字列 ボリューム・セット中の次のボリュームの装置名(ディスクのみ)
ODV 文字列 providing出力が可能である場合はTRUE。そうでない場合はFALSE。
OPCNT 整数値 操作回数
OPR 文字列 装置が演算子である場合はTRUE。そうでない場合はFALSE。
OWNUIC 文字列 所有者の利用者識別コード(UIC)
PID 文字列 装置所有者のプロセス識別番号
RCK 文字列 読み込みチェックが設定されている場合はTRUE。そうでない場合はFALSE。
RCT 文字列 装置にRCTが含まれている場合はTRUE。そうでない場合はFALSE。
REC 文字列 レコード単位取り扱い装置である場合はTRUE。そうでない場合はFALSE。
RECSIZ 整数値 ブロック状態のレコード・サイズ
REFCNT 整数値 装置を使用したプロセスの参照回数
REMOTE_DEVICE 文字列 遠隔装置である場合はTRUE。そうでない場合はFALSE。
RND 文字列 装置がランダム・アクセスを許可する場合はTRUE。そうでない場合はFALSE。
ROOTDEVNAM 文字列 ボリューム・セット中のルート・ボリュームの装置名(ディスクのみ)
RTM 文字列 リアルタイム装置である場合はTRUE。そうでない場合はFALSE。
SDI 文字列 単一ディレクトリ構造である場合はTRUE。そうでない場合はFALSE。
SECTORS 整数値 1トラックあたりのセクタ数(ディスクのみ)
SERIALNUM 整数値 ボリューム・シリアル番号(ディスクのみ)
SERVED_DEVICE 文字列 served装置である場合はTRUE。そうでない場合はFALSE。
SET_HOST_TERMINAL 文字列 遠隔ノードからSET HOSTセッションを使用するための遠隔ターミナルである場合は TRUE。そうでない場合はFALSE。
SHDW_CATCHUP_COPYING 文字列 完全コピー操作のターゲットのメンバである場合はTRUE。 そうでない場合はFALSE。
SHDW_MASTER 文字列 仮想ユニットである場合はTRUE。そうでない場合はFALSE。
SHDW_MASTER_NAME 文字列 指定された装置がメンバであるシャドウ・セットを表わす仮想ユニットの装置名。 指定された装置がメンバでない,または装置が仮想ユニットである場合, F$GETDVI関数は空文字列("")を戻す。
SHDW_MEMBER 文字列 シャドウ・セット・メンバである場合はTRUE。そうでない場合はFALSE。
SHDW_MERGE_COPYING 文字列 シャドウ・セットのマージ・メンバである場合はTRUE。そうでない場合はFALSE。
SHDW_NEXT_MBR_NAME 文字列 シャドウ・セットでの次のメンバの装置名。 仮想ユニットを指定した場合,F$GETDVI関数はシャドウ・セットメンバの装置名を戻す。 シャドウ・セット・メンバ・ユニット名を装置名と引数とともに指定した場合,"次" のメンバ・ユニットを戻す。それ以上メンバがいなければ空文字列を戻す。

シャドウ・セットのすべてのメンバを確認するには, まずF$GETDVIに仮想ユニットを指定する。それ以降の呼び出しでは, 空文字列を戻す(F$GETDVI呼び出しが終わる) まで前のF$GETDVIが戻すメンバ名を指定する。

割り当てクラスがゼロでない場合,装置名は割り当てクラスを含む。 そうでない場合はディスク制御装置の装置名を含む。

SHR 文字列 共用可能である場合はTRUE。そうでない場合はFALSE。
SPL 文字列 スプールされた状態である場合はTRUE。そうでない場合はFALSE。
SPLDEVNAM 文字列 スプールされている装置名
SQD 文字列 順編成のブロック単位取り扱い装置である場合(つまり磁気テープの場合)はTRUE。 そうでない場合はFALSE。
STS 整数値 状態情報
SWL 文字列 ライト・ロックされたソフトウェアである場合はTRUE。そうでない場合はFALSE。
TRACKS 整数値 1シリンダあたりのトラック数(ディスクのみ)
TRANSCNT 整数値 ボリューム・トランザクション回数
TRM 文字列 装置がターミナルである場合はTRUE。そうでない場合はFALSE。
TT_ACCPORNAM 文字列 ターミナル・サーバ名とポート名
TT_ALTYPEAHD 文字列 ターミナルに代替先読みを可能なバッファがある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_ANSICRT 文字列 ANSI CRTターミナルである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_APP_KEYPAD 文字列 キーパッドがアプリケーション・モードである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_AUTOBAUD 文字列 ターミナルにボー・レート自動検出機能がある場合TRUE。 そうでない場合はFALSE (ターミナルのみ)。
TT_AVO 文字列 VT- 100ファミリのターミナル・ディスプレイがある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_BLOCK 文字列 ブロック・モード機能がある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_BRDCSTMBX 文字列 メールボックス・ブロードキャスト・メッセージを使用する場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_CHARSET 整数値 ターミナルがサポートするコード化文字セットを示すビットマップ
TT_CRFILL 文字列 キャリッジ・リターンを使用した後フィルを必要とする場合はTRUE。 そうでない場合はFALSE。
TT_CS_KANA 文字列 DEC Kana文字セットをサポートしている場合はTRUE。そうでない場合はFALSE。
TT_CS_KANJI 文字列 DEC Kanji文字セットをサポートしている場合はTRUE。そうでない場合はFALSE。
TT_CS_HANZI 文字列 DEC Hanzi文字セットをサポートしている場合はTRUE。そうでない場合はFALSE。
TT_CS_HANGUL 文字列 DEC Korean文字セットをサポートしている場合はTRUE。そうでない場合はFALSE。
TT_CS_HANYU 文字列 DEC Hanyu文字セットをサポートしている場合はTRUE。そうでない場合はFALSE。
TT_CS_THAI 文字列 DEC Thai文字セットをサポートしている場合はTRUE。そうでない場合はFALSE。
TT_DECCRT 文字列 Digital CRTターミナルである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_DECCRT2 文字列 Digital CRT2ターミナルである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_DECCRT3 文字列 Digital CRT3ターミナルである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_DECCRT4 文字列 Digital CRT4ターミナルである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_DIALUP 文字列 ダイアルアップ回線に接続している場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_DISCONNECT 文字列 切断可能である場合はTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_DMA 文字列 直接メモリ・アクセス(DMA)モードがある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_DRCS 文字列 ロード可能な文字フォントをサポートしている場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_EDIT 文字列 編集属性が設定されている場合はTRUE。そうでない場合はFALSE。
TT_EDITING 文字列 拡張編集が可能である場合はTRUE。そうでない場合はFALSE。
TT_EIGHTBIT 文字列 8ビットASCII文字セットを使用する場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_ESCAPE 文字列 エスケープ・シーケンスを生成する場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_FALLBACK 文字列 multinational fallbackオプションを使用する場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_HALFDUP 文字列 ターミナルが半二重モードである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_HANGUP 文字列 ハングアップ属性が設定されている場合はTRUE。そうでない場合はFALSE。
TT_HOSTSYNC 文字列 ホスト/ターミナル通信がある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_INSERT 文字列 挿入モードが省略時の行編集モードになっている場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_LFFILL 文字列 行送りの後フィルを必要とする場合はTRUE。そうでない場合はFALSE。
TT_LOCALECHO 文字列 ローカル・エコー属性が設定されている場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_LOWER 文字列 小文字の文字セットがある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_MBXDSABL 文字列 ターミナルに関連づけられているメールボックスが,要求されていない, または要求されている入力通知を受け取る場合はTRUE。 そうでない場合はFALSE。
TT_MECHFORM 文字列 改ページ機能がある場合はTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_MECHTAB 文字列 タブ機能,およびタブ拡張機能がある場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_MODEM 文字列 ターミナルがモデムに接続している場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_MODHANGUP 文字列 修正するハングアップ属性が設定されている場合は TRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_NOBRDCST 文字列 ブロードキャスト・メッセージを受け取る場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_NOECHO 文字列 入力文字がエコーされる場合はTRUE。そうでない場合はFALSE。
TT_NOTYPEAHD 文字列 読み込み操作でデータを要求する場合はTRUE。そうでない場合はFALSE。
TT_OPER 文字列 オペレータ・ターミナルである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_PAGE 整数値 ターミナル・ページの長さ(ターミナルのみ)
TT_PASTHRU 文字列 フロー制御が有効なPASSALLモードである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_PHYDEVNAM 文字列 チャネル番号または仮想ターミナルに関連づけられた物理装置名
TT_PRINTER 文字列 プリンタ・ポートが使用可能なはTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_READSYNC 文字列 読み込み同期化機能がある場合はTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_REGIS 文字列 ReGISグラフィックがある場合はTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_REMOTE 文字列 設定したモデム制御がある場合はTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_SCOPE 文字列 ターミナルがビデオ・スクリーン・ディスプレイである場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_SECURE 文字列 機密サーバを認識できる場合はTRUE。そうでない場合はFALSE(ターミナルのみ)。
TT_SETSPEED 文字列 ターミナル行でスピードを設定できる場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_SIXEL 文字列 シクセルがサポートされている場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_SYSPWD 文字列 特殊なターミナルでシステム・パスワード使用可能な場合はTRUE。 そうでない場合はFALSE。
TT_TTSYNC 文字列 ターミナル/ホストの同期化が存在する場合はTRUE。 そうでない場合はFALSE(ターミナルのみ)。
TT_WRAP 文字列 右マージンを越えてカーソルが移動した時, 新しい行を挿入する場合はTRUE。そうでない場合はFALSE。
UNIT 整数値 ユニット番号
VOLCOUNT 整数値 ボリューム・セット中のボリューム回数(ディスクのみ)
VOLNAM 文字列 ボリューム名
VOLNUMBER 整数値 ボリューム・セット中の現在のボリュームの番号(ディスクのみ)
VOLSETMEM 文字列 装置がボリューム・セットである場合はTRUE。 そうでない場合はFALSE(ディスクのみ)。
VPROT 文字列 ボリューム保護マスク
WCK 文字列 書き込みチェックが設定されている場合はTRUE。そうでない場合はFALSE。
[1] 戻される情報リストに加え,F$GETDVI関数は $GETDVIシステム・サービスで作成される任意のエラー・メッセージも戻します。

DEVCLASSによって戻される値を 表 12-5に示します。

表 12-5 DEVCLASSによって戻される値

装置クラス シンボル名
1 ディスク装置 DC$_DISK
2 テープ装置 DC$_TAPE
32 同期通信装置 DC$_SCOM
65 カード・リーダ DC$_CARD
66 ターミナル DC$_TERM
67 ライン・プリンタ DC$_LP
70 ワークステーション DC$_WORKSTATION
96 リアルタイム DC$_REALTIME
97 DECvoice DC$_DECVOICE
128 バス DC$_BUS
160 メールボックス DC$_MAILBOX
170 遠隔コンソール記憶域 DC$_REMCSL_STORAGE
200 その他の装置 DC$_MISC

DEVTYPEによって戻される値を 表 12-6に示します。

表 12-6 DEVTYPEによって戻される値

装置タイプ 装置タイプ
装置クラス: DC$_DISK
1 RK06 54 GENERIC_DK
2 RK07 55 RX23
3 RP04 56 RF31
4 RP05 57 RF72
5 RP06 58 RAM_DISK
6 RM03 59 RZ25
7 RP07 60 RZ56
8 RP07HT 61 RZ57
9 RL01 62 RX23S
10 RL02 63 RX33S
11 RX02 64 RA92
12 RX04 65 SSTRIPE
13 RM80 66 RZ23L
14 TU58 67 RX26
15 RM05 68 RZ57I
16 RX01 69 RZ31
17 ML11 70 RZ58
18 RB02 71 SCSI-MO
19 RB80 71 RWZ01
20 RA80 72 LO_COST_CD
21 RA81 72 RRD42
22 RA60 73 CD_LOADER_1
23 RC25 74 ESE25
23 RZ01 75 RFH31
24 RZF01 76 RFH72
24 RCF25 77 RF73
25 RD51 78 RFH73
26 RX50 79 RA72
27 RD52 80 RA71
28 RD53 80 RAH72
29 RD26 81 RF32
30 RA82 82 RFH32
31 RD31 83 RFF31
32 RD54 83 RF31F
33 CRX50 84 RZ72
34 RRD50 85 RZ73
35 GENERIC_DU 86 RZ35
36 RX33 87 RZ24L
37 RX18 88 RZ25L
38 RA70 89 RZ55L
39 RA90 90 RZ56L
40 RD32 91 RZ57L
41 DISK9 92 RA73
42 RX35 93 RZ26
43 RF30 94 RZ36
44 RF70 95 RZ74
44 RF71 96 ESE52
45 RD33 97 ESE56
46 ESE20 98 ESE58
47 TU56 129 FD1
48 RZ22 130 FD2
49 RZ23 131 FD3
50 RZ24 132 FD4
51 RZ55 133 FD5
52 RRD40 134 FD6
53 RRD40    
装置クラス: DC$_TAPE
1 TE16 24 RV60
2 TU45 25 TZ30
3 TU77 26 TM32
4 TS11 27 TZX0
5 TU78 27 TSZ05
6 TA78 28 GENERIC_MK
7 TU80 29 TK50S
8 TU81 30 TZ30S
9 TA81 31 TK70L
10 TK50 32 TLZ04
11 MR_TU70 33 TZK10
12 MR_TU72 34 TSZ07
13 MW_TSU05 35 TSZ08
14 MW_TSV05 36 TA90E
15 TK70 37 TZK11
16 RV20 38 TZ85
16 RV80 39 TZ86
17 TK60 40 TZ87
18 GENERIC_TU 41 TZ857
19 TA79 42 EXABYTE
20 TAPE9 43 TAPE_LOADER_1
21 TA90 44 TA91
22 TF30 45 TLZ06
23 TF70 46 TA85
装置クラス: DC$_SCOM
1 DMC11 27 DMB32
2 DMR11 28 YI_KMS11K
3 XK_3271 29 ET_DEBNT
4 XJ_2780 29 ET_DEBNA
5 NW_X25 30 SJ_DSV11
6 NV_X29 31 SL_DSB32
7 SB_ISB11 32 ZS_DST32
8 MX_MUX200 33 XQ_DELQA
9 DMP11 34 ET_DEBNI
10 DMF32 35 EZ_SGEC
11 XV_3271 36 EX_DEMNA
12 CI 37 DIV32
13 NI 38 ZQ_DEQTA
14 UNA11 39 FT_NI
14 DEUNA 40 EP_LANCE
15 YN_X25 41 KWV32
16 YO_X25 42 SM_DSF32
17 YP_ADCCP 43 FX_DEMFA
18 YQ_3271 44 SF_DSF32
19 YR_DDCMP 45 SE_DUP11
20 YS_SDLC 46 SE_DPV11
21 UK_KTC32 47 ZT_DSW
22 DEQNA 48 FC_DEFZA
23 DMV11 49 EC_PMAD
24 ES_LANCE 50 EZ_TGEC
25 DELUA 51 EA_DEANA
26 NQ_3271    
装置クラス: DC$_CARD
1 CR11    
装置クラス: DC$_TERM
0 TTYUNKN 42 LN01K
1 VT05 43 LA80
2 VK100 64 VT5X
3 VT173 64 VT52
4 TQ_BTS 65 VT55
10 TEK401X 66 DZ11
16 FT1 67 DZ32
17 FT2 68 DZ730
18 FT3 69 DMZ32
19 FT4 70 DHV
20 FT5 71 DHU
21 FT6 72 SLU
22 FT7 73 TERM9
23 FT8 74 LAT
32 LAX 96 VT100
33 LA36 97 VT101
33 LA120 98 VT102
34 LA34 99 VT105
35 LA38 100 VT125
36 LA12 101 VT131
37 LA24 102 VT132
37 LA100 110 VT200シリーズ
38 LQP02 111 Proシリーズ
40 LA210 112 VT300シリーズ
41 LN03 113 VT400シリーズ
装置クラス: DC$_LP
1 LP11 5 LI_DMB32
2 LA11 6 PRTR9
3 LA180 7 SCSI_SCANNER_1
4 LC_DMF32    
装置クラス: DC$_WORKSTATION
1 VAXstation 100 4 VAXstation仮想装置
2 VAXstation 125 5 DECW出力装置
3 VAXstation 8200 6 DECW入力装置
装置クラス: DC$_REALTIME
1 LPA11 9 XP_PCL11B
2 DR780 10 IX_IEX11
3 DR750 11 FP_FEPCM
4 DR11W 12 TK_FCM
5 PCL11R 13XI_DR11C
6 PCL11T 14 XA_DRV11WA
7 DR11C 15DRB32
8 XI_DR11C 16 HX_DRQ3B
装置クラス: DC$_DECVOICE
1 VQクラス・ドライバ 3 VM M3135
ポート・ドライバ
2 VX M7132
ポート・ドライバ
4 VN M3136
ポート・ドライバ
装置クラス: DC$_BUS
1 CI780 23 RV20P
2 CI750 23 RV80P
3 UQPORT 24 TK60P
3 UDA50 25 SII
4 UDA50A26 KFSQSA
5 LESI 26 KFQSA
6 TU81P 27 SHAC
7 RDRX 28 CIXCD
8 TK50P 29 N5380
9 RUX50P 30 SCSII
10RC26P 31 HSX50
11 QDA50 31 KDM70
11 KDA50 32 TM32P
12 BDA50 33 TK7LP
12 KDB50 34 SWIFT
13 RRD50P 35 N53C94
14 QDA25 36 KFMSA
14 KDA25 37 SCSI_XTENDR
15 BC1750 38 FT_TRACE_RAM
16 BCA 39 XVIB
17 RQDX3 40 XZA_SCSI
18 NISCA 41 XZA_DSSI
19 AIO 42 N710_SCSI
19 KFBTA 43 N710_DSSI
20 AIE 44 AHA1742A
20 DEBNT 45 TZA_SCSI
21 BSA 46 N810_SCSI
21 KSB50 47 CIPCA
22 TK709 48 ISP1020
装置クラス: DC$_MAILBOX
1 MBX 3 NULL
2 SHRMBX 4 PIPE
装置クラス: DC$_REMCSL_STORAGE
DAP -
アクセス装置
1    
装置クラス: DC$_MISC
1 DN11 3 SFUN9
2 PV 4 USER9

  1. $ ERR = F$GETDVI("_DQA0","ERRCNT")
    $ SHOW SYMBOL ERR
      ERR = 0  Hex = 00000000 Octal = 000000
    
    この例は,DQA0という装置のエラー回数を調べるために, F$GETDVI関数を使用する方法を示しています。 DQA0という装置名とERRCNTという項目は, 文字列リテラルなので引用符で囲まなければなりません。


F$GETENV (Alpha のみ)

指定されたコンソール環境変数の値を戻します。

フォーマット

     F$GETENV (項目リスト) 

戻り値

指定されたコンソール環境変数の値を戻します。 システムがコンソール・モードである場合, ユーザはコンソール環境変数を修正することができます。 このレキシカル関数を使用することで, システムが稼動中に変数の内容を読み取ることができます。

引数

項目リスト

定義されているコンソール環境変数名は次のとおりです。

Auto_action, Boot_dev, Bootdef_dev, Booted_dev, Boot_file, Booted_file, Boot_osflags, Booted_osflags, Boot_reset, Dump_dev, Enable_audit, License, Char_set, Language, Tty_dev

説明

指定されたコンソール環境変数の値を戻します。

  1. $ dump_device = f$getenv("dump_dev")
    $ write sys$output "The dump device for this system is ", dump_device
    
    この関数は,システムのダンプ装置を表示します。


F$GETJPI

$GETJPIシステム・サービスを呼出し,指定されたプロセスに関する情報を戻します。

同じグループ内の他のプロセスに関する情報を得るためには,GROUP特権が必要です。 システム内の他のプロセスに関する情報を得るためには,WORLD特権が必要です。

フォーマット

     F$GETJPI (pid,項目) 

戻り値

要求する項目に応じて,整数または文字列となります。 各項目に戻される値のデータ・タイプを表 12-7 に示します。

引数

pid

情報が戻されるプロセスの識別番号。 プロセス識別の値(pid)は文字列式として指定します。 pid引数を指定する場合,先行する0は省略できます。

空文字列を指定すると,現在のプロセスに対する操作となります。

$GETJPIシステム・サービスではpid引数にワイルドカード文字を使用できますが, F$GETJPI関数では使用できません。 プロセスの識別番号の一覧を得るには,F$PID関数を使用します。

項目

戻されるプロセス情報のタイプ。文字列式として指定します。 表 12-7の項目から1項目を指定します。

説明

$GETJPIシステム・サービスを呼び出し,指定したプロセスの情報を戻します。 $GETJPIシステム・サービスで指定することができる,すべての項目の情報を戻します。 $GETJPIシステム・サービスについての詳細は 『OpenVMS System Services Reference Manual』を参照してください。

ターゲット・プロセスが中断されている,またはMWAIT (資源待ち)状態の場合, F$GETJPIレキシカル関数は,ゼロまたは空文字列を戻します。 また,要求された項目は,プロセスの仮想アドレス空間に格納されます。

F$GETJPI関数を使用すると, プロセスが自動的にファイルをアンシェルブするかどうかが分かります。

STS2項目コードを指定すると,F$GETJPIは32ビットの数値を戻します。 この数値を2進形式に変換すると, シンボル・ビット位置PCB$V_NOUNSHELVEの数字により, 省略時の設定でアンシェルブするかどうかが分かります。 このビットが1であれば,自動アンシェルブはオフになり, このビットが0であれば,自動アンシェルブがオンになります。

F$GETJPI関数に指定する項目,戻される情報,およびその情報のデータ・タイプを 表 12-7に示します。

表 12-7 F$GETJPI項目

項目 データ・
タイプ
戻される情報
ACCOUNT 文字列 アカウント名文字列(後ろの空白を含め8文字)
APTCNT 整数値 アクティブなページ・テーブル数
ASTACT 整数値 アクティブな非同期システム・トラップ(AST)のアクセス・モード
ASTCNT 整数値 残りのAST制限
ASTEN 整数値 ASTが有効なアクセス・モード
ASTLM 整数値 AST上限値
AUTHPRI 整数値 ALTPRI特権のないプロセスが $SETPRIシステム・サービスで獲得できる最高優先順位
AUTHPRIV 文字列 プロセスでの使用を認められた特権
BIOCNT 整数値 残りのバッファードI/O制限
BIOLM 整数値 バッファードI/O上限値
BUFIO 整数値 プロセス・バッファードI/O操作回数
BYTCNT 整数値 残りのバッファードI/Oバイト回数制限
BYTLM 整数値 バッファードI/Oバイト回数制限
CLINAME 文字列 現在のコマンド言語インタプリタ。常にDCLを戻す。
CPULIM 整数値 プロセスCPU時間の上限
CPUTIM 整数値 CPU時間。1/100秒単位で示される。
CREPRC_FLAGS 整数値 プロセスを作成する$CREPRC呼び出しのstsflg引数により指定されるフラグ
CURPRIV 文字列 現在のプロセス特権
DFPFC 整数値 省略時のページ・フォルト・クラスタ・サイズ
DFWSCNT 整数値 省略時のワーキング・セット・サイズ
DIOCNT 整数値 残りの直接I/O制限
DIOLM 整数値 直接I/O上限値
DIRIO 整数値 プロセスの直接I/O操作回数
EFCS 整数値 ローカル・イベント・フラグ 0-31
EFCU 整数値 ローカル・イベント・フラグ 32-63
EFWM 整数値 イベント・フラグ待ちマスク
ENQCNT 整数値 残りのロック要求制限
ENQLM 整数値 ロック要求上限値
EXCVEC 整数値 例外ベクタのリストのアドレス
FAST_VP_SWITCH 整数値 ベクタ・コンテキスト・スイッチの損失なしで非アクティブ・ベクタ・プロセッサを使用可能にする, ベクタ命令を発行した回数
FILCNT 整数値 残りのオープン・ファイル制限
FILLM 整数値 オープン・ファイル上限値
FINALEXC 整数値 最終例外ベクタのリストのアドレス
FREP0VA 整数値 プログラム・リージョン(p0空間)の終わりにある最初のフリー・ページ (イメージが実行されていない場合はなし)
FREP1VA 整数値 コントロール・リージョン(p1空間)の終わりにある最初のフリー・ページ
FREPTECNT 整数値 仮想メモリの拡張に使用可能なページ数
GPGCNT 整数値 ワーキング・セットでのグローバル・ページ数
GRP 整数値 利用者識別コード(UIC)のグループ番号
IMAGECOUNT 整数値 プロセスでラン・ダウンされたイメージ数
IMAGNAME 文字列 現在のイメージのファイル名
IMAGPRIV 文字列 現在のイメージをインストールした特権
JOBPRCCNT 整数値 ジョブに所有されるサブプロセス数
JOBTYPE 整数値 ジョブ・ツリーのルートにあるプロセスの実行モード
LAST_LOGIN_I 文字列 最後に会話型ログインをした時刻(ログインしたときに報告された値)
LAST_LOGIN_N 文字列 最後に非会話型ログインをした時刻(ログインしたときに報告された値)
LOGIN_FAILURES 整数値 現在のセッションを開始する前に起きたログイン失敗数 (ログインしたときに報告された値)
LOGIN_FLAGS 整数値 ログイン手順に関連した追加情報を含むロングワード・ビットマスク
LOGINTIM 文字列 プロセス作成時刻
MASTER_PID 文字列 現在のジョブのプロセス・ツリーの一番上のプロセスの識別番号(PID)
MAXDETACH 整数値 プロセスの所有者であるユーザに許可された,独立プロセスの最大数
MAXJOBS 整数値 プロセスの所有者であるユーザに許可された,実行中のプロセスの最大数
MEM 整数値 利用者識別コード(UIC)のメンバ番号
MODE 文字列 現在のプロセス・モード(BATCH,INTERACTIVE,NETWORK,またはOTHER)
MSGMASK 整数値 省略時のメッセージ・マスク
NODENAME 文字列 プロセスが実行中である OpenVMS Clusterの名前
NODE_CSID 整数値 プロセスが実行中であるOpenVMS ClusterのクラスタID
NODE_VERSION 文字列 プロセスが実行中である OpenVMS Clusterのオペレーティング・システムのバージョン番号
OWNER 文字列 プロセス所有者のプロセス識別番号
PAGEFLTS 整数値 ページ・フォルトの回数
PAGFILCNT 整数値 残りのページング・ファイル制限
PAGFILLOC 整数値 ページング・ファイルの記憶位置
PARSE_STYLE_PERM
(Alpha のみ)
文字列 $SET_PROCESS_PROPERTIESW によって設定された値
PARSE_STYLE_IMAGE
(Alpha のみ)
文字列 $SET_PROCESS_PROPERTIESW によって設定された値
PGFLQUOTA 整数値 ページ・ファイル上限値(最大仮想ページ数)
PHDFLAGS 整数値 フラグ・ワード
PID 文字列 プロセス識別番号
PPGCNT 整数値 プロセス・ページ数
PRCCNT 整数値 プロセスが所有するサブプロセス数
PRCLM 整数値 サブプロセス制限値
PRCNAM 文字列 プロセス名
PRI 整数値 プロセスの現在の優先順位
PRIB 整数値 プロセスの基本優先順位
PROC_INDEX 整数値 プロセスの索引番号
PROCESS_RIGHTS 文字列 利用者識別コードを含むプロセスのローカル・ライト・リスト。 この項目コードはコンマ(,)で区切られた識別子名のリストを戻す。
PROCPRIV 文字列 プロセスの省略時の特権
RIGHTSLIST 文字列 すべてのプロセス・ライト・リスト。 これはPROCESS_RIGHTSとSYSTEM_RIGHTSを加えたもとの同等。 この項目コードはコンマ(,)で区切られた識別子名のリストを戻す。
RIGHTS_SIZE 整数値 ライト・リストをバッファリングするために必要なバイト数。 このリストにはシステム・ライト・リストとプロセス・ライト・リストの両方が含まれる。
SHRFILLM 整数値 プロセスが属するジョブに許可された,オープンな共用ファイルの最大数
SITESPEC 整数値 1プロセスあたりのサイト固有のロングワード
SLOW_VP_SWITCH 整数値 すべてのベクタ・コンテキスト・スイッチを使用して非アクティブ・ベクタ・プロセッサを使用可能にする, ベクタ命令を発行した回数
STATE 文字列 プロセスの状態
STS 整数値 プロセス状態フラグの最初のロングワード
STS2 整数値 プロセス状態フラグの2番目のロングワード
SWPFILLOC 整数値 スワップ・ファイルの記憶位置
SYSTEM_RIGHTS 文字列 プロセスのシステム・ライト・リスト。 この項目コードはコンマ(,)で区切られた識別子名のリストを戻す。
TABLENAME 文字列 プロセスの現在のコマンド言語インタプリタ(CLI)・テーブルのファイル指定
TERMINAL 文字列 会話型ユーザのログイン・ターミナル名(1〜7文字)
TMBU 整数値 終了メールボックスのユニット番号
TQCNT 整数値 残りのタイマ・キュー・エントリ制限
TQLM 整数値 タイマ・キュー・エントリ制限値
TT_ACCPORNAM 文字列 プロセスと関連するターミナルのアクセス・ポート名
TT_PHYDEVNAM 文字列 プロセスと関連するターミナルの物理装置名
UAF_FLAGS 整数値 プロセスを所有するユーザの利用者登録ファイル(UAF)記録からのフラグ
UIC 文字列 プロセスのユーザ識別コード(UIC)
USERNAME 文字列 ユーザ名文字列(後ろの空文字を含めて12文字)
VIRTPEAK 整数値 仮想アドレスの最大サイズ
VOLUMES 整数値 現在マウントされているボリュームの数
VP_CONSUMER 論理値 プロセスがベクタ消費であるかを示すフラグ
VP_CPUTIM 整数値 ベクタ・カスタマとして累算したプロセスの合計時間
WSAUTH 整数値 認可された最大ワーキング・セット・サイズ
WSAUTHEXT 整数値 認可された最大ワーキング・セット超過値
WSEXTENT 整数値 現在のワーキング・セット超過値
WSPEAK 整数値 ワーキングセット最大値
WSQUOTA 整数値 ワーキング・セット・サイズの制限値
WSSIZE 整数値 プロセスの現在のワーキング・セット・サイズ

$GETJPI関数を使用して, 空プロセスまたはスワッパ・プロセスの情報を要求する場合は,以下の項目を除いて, 表 12-7にある任意の項目を指定できます。

ACCOUNT BYTLM ENQCNT ENQLM
EXCVEC FILCNT FILM FINALEXC
IMAGNAME LOGINTIM MSGMASK PAGFILCNT
PGFLQUOTA PRCCNT PRCLM PROCPRIV
SITESPEC TQCNT TQLM USERNAME
VIRTPEAK VOLUMES WSPEAK  

  1. $ NAME = F$GETJPI("3B0018","USERNAME")
    $ SHOW SYMBOL NAME
      NAME = "JANE        "
    
    この例は,F$GETJPI関数を使用して, 3B0018というプロセス番号の利用者名を得る方法を示しています。 利用者名には,NAMEというシンボルが割り当てられます。


F$GETQUI

$GETQUIシステム・サービスを呼び出し,キューに関する情報を戻します。 これらの情報にはバッチ・キューおよびプリント・キューに登録されるジョブ, フォーム定義,およびキュー・データベースに保存されている属性定義が含まれます。

キュー・マネージャについての情報も戻します。

ほとんどの操作では,読み込み(R)アクセス権が必要です。

フォーマット

     F$GETQUI (機能, [項目], [オブジェクトid], [フラグ]) 

戻り値

指定する項目に応じて,整数または文字列になります。 論理値を戻す項目については,文字列TRUEまたはFALSEが戻されます。 $GETQUIシステム・サービスがエラー・コードを返した場合, F$GETQUIは空文字列を返します。

引数

機能

F$GETQUIレキシカル関数が実行する動作を指定します。F$GETQUIは, $GETQUIシステム・サービスで指定できるすべての機能をサポートしています。 これらの機能を次の表に示します。

関数 説明
CANCEL_OPERATION 前のF$GETQUI呼び出しにより開始したワイルドカード操作を終了させる。
DISPLAY_CHARACTERISTIC 特定の属性定義, またはワイルドカード操作での次の属性定義に関する情報を返す。
DISPLAY_ENTRY ワイルドカード操作で選択基準に一致する, 特定のジョブ・エントリまたは次のジョブ・エントリに関する情報を返す。 返されるジョブ情報の点において, DISPLAY_ENTRYの関数コードはDISPLAY_JOB関数コードに似ている。 ただしDISPLAY_JOBは,キュー・コンテキストを確立しなければならない。 DISPLAY_ENTRYは,キュー・コンテキストを確立する必要はない。 現在のプロセスのユーザ名と一致するこれらのエントリだけが実行されます。
DISPLAY_FILE 現在のジョブ・コンテキストのために定義した次のファイルに関する情報を返す。 F$GETQUI呼び出しを行いファイル情報を要求する前に, (DISPLAY_QUEUEおよびDISPLAY_JOB関数コードを使用して) キューおよびジョブ情報を表示するために, または(DISPLAY_ENTRY関数コードを使用して) エントリ情報を表示するために呼び出しを行う必要がある。
DISPLAY_FORM 特定のフォーム定義, またはワイルドカード操作で次のフォーム定義を返す。
DISPLAY_JOB 現在のキュー・コンテキストに対して定義された次のジョブに関する情報を返す。 F$GETQUI呼び出しを行いジョブ情報を要求する前に, (DISPLAY_QUEUE関数コードを使用して) キュー情報を表示するために呼び出しを行う必要がある。 返されるジョブ情報の点において, DISPLAY_JOB関数コードとDISPLAY_ENTRY関数コードは似ている。 ただしDISPLAY_JOBは,キュー・コンテキストを確立しなければならない。 DISPLAY_ENTRYは,キュー・コンテキストを確立する必要はない。
DISPLAY_MANAGER 特定のキュー・マネージャ, またはワイルドカード操作で次のキュー・マネージャに関する情報を返す。
DISPLAY_QUEUE 特定のキュー定義, またはワイルドカード操作で次のキュー定義に関する情報を返す。
TRANSLATE_QUEUE キューの論理名を変換する。

項目コードオブジェクトid, またはフラグ引数に指定できない関数の引数もあります。 各関数の引数とそれに対応するフォーマット行を,次の表に示します。 また,項目コードオブジェクト・コード, およびフラグ引数は,必須であるか, オプションであるか,あるいは適用外であるかも示します。 次の表において,([])は,オプションの引数を示します。 引数がないことは,引数を指定できないことを示します。 2つのコンマ(,,)は,(オプション/適用外のいずれの場合でも) 省略された引数を示すプレースホルダとして使用します。

関数 フォーマット行
CANCEL_OPERATION F$GETQUI("CANCEL_OPERATION")またはF$GETQUI(" ")
DISPLAY_CHARACTERISTIC F$GETQUI("DISPLAY_CHARACTERISTIC",[item],object-id,[flags])
DISPLAY_ENTRY F$GETQUI("DISPLAY_ENTRY",[item],[object-id],[flags])
DISPLAY_FILE F$GETQUI("DISPLAY_FILE",[item],,[flags])
DISPLAY_FORM F$GETQUI("DISPLAY_FORM",[item],object-id,[flags])
DISPLAY_JOB F$GETQUI("DISPLAY_JOB",[item],,[flags])
DISPLAY_MANAGER F$GETQUI("DISPLAY_MANAGER",[item],object-id,[flags])
DISPLAY_QUEUE F$GETQUI("DISPLAY_QUEUE",[item],object-id,[flags])
TRANSLATE_QUEUE F$GETQUI("TRANSLATE_QUEUE",[item],object-id)

項目

$GETQUIシステム・サービスの出力項目コードに相当します。特定のキュー, ジョブ,ファイル,フォーム,または属性に関する情報の種類を指定します。 VAXでは,キュー・マネージャ情報も指定できます。 表 12-9 では戻される項目コードとデータ・タイプを示しています。

オブジェクトid

$GETQUIシステム・サービスのQUI$SEARCH_NAME,QUI$_SEARCH_ NUMBER,および QUI$_SEARCH_JOB_NAME入力項目コードに相当します。 F$GETQUIが情報を返すオブジェクト(たとえば特定のキュー名,ジョブ名, またはフォーム番号など)のオブジェクト名または番号を指定します。 次に示す関数では,ワイルドカードを使用できます。
DISPLAY_CHARACTERISTIC
DISPLAY_ENTRY
DISPLAY_FORM
DISPLAY_MANAGER
DISPLAY_QUEUE

後続の呼び出しで,オブジェクトid引数としてワイルドカードを指定すると, 特定のキューに登録されてる1つまたは複数ジョブ, または特定のキューに登録されているジョブのファイルの状態情報を得ることができます。 名前にワイルドカード文字を使用した場合は, 各呼び出しはリストで次のオブジェクト(キュー,フォームなど)の情報を返します。 リストの最後に達した場合は,空文字列("")を返します。 ワイルドカードが使用できるのはオブジェクト名だけで, オブジェクト番号には使用できません。

フラグ

$GETQUIシステム・サービスの QUI$_SEARCH_FLAGS入力項目コードに相当するキーワードのリストを, コンマで区切って指定します。 これらのフラグは,$GETQUIシステム・サービス呼び出しで指定した, オブジェクト検索の範囲を定義します。 検索フラグとして使用可能なキーワードを 表 12-8に示します。

表 12-8 F$GETQUIキーワード

キーワード 有効な関数コード 説明
ALL_JOBS DISPLAY_JOB 設定されたキュー・コンテキスト内の全てのジョブを検索するよう F$GETQUIに要求する。このフラグを設定しないと, F$GETQUIは呼び出したユーザと同じユーザ名を持つジョブの情報のみ返す。
BATCH DISPLAY_QUEUE
DISPLAY_ENTRY
バッチ・キューを選択する。
EXECUTING_JOBS DISPLAY_ENTRY
DISPLAY_JOB
実行中ジョブを選択する。
FREEZE_CONTEXT DISPLAY_CHARACTERISTIC
DISPLAY_ENTRY
DISPLAY_FILE
DISPLAY_FORM
DISPLAY_JOB
DISPLAY_MANAGER
DISPLAY_QUEUE
ワイルド・カード操作時,操作対象が次に進めない。 このフラグを設定しないと,コンテキストは次のオブジェクトに進む。
GENERIC DISPLAY_ENTRY
DISPLAY_QUEUE
総称キューを選択する。
HOLDING_JOBS DISPLAY_ENTRY
DISPLAY_JOB
保留ジョブを選択する。
PENDING_JOBS DISPLAY_ENTRY
DISPLAY_JOB
待ち状態のジョブを選択する。
PRINTER DISPLAY_QUEUE
DISPLAY_ENTRY
プリンタ・キューを選択する。
RETAINED_JOBS DISPLAY_ENTRY
DISPLAY_JOB
保持されたジョブを選択する。
SERVER DISPLAY_QUEUE
DISPLAY_ENTRY
サーバ・キューを選択する。
SYMBIONT DISPLAY_QUEUE
DISPLAY_ENTRY
すべての出力を選択する。"PRINTER,SERVER,TERMINAL"と等価。
TERMINAL DISPLAY_QUEUE
DISPLAY_ENTRY
ターミナル・キューを選択する。
THIS_JOB DISPLAY_FILE
DISPLAY_JOB
DISPLAY_QUEUE
バッチ・ジョブ呼び出し,実行されるコマンド・ファイル, またはバッチ・キュー呼び出しに関連するキューに関する, すべてのジョブ・ファイル情報を選択する。
TIMED_RELEASE_JOBS DISPLAY_ENTRY
DISPLAY_JOB
開始時刻の指定されたジョブを選択する。
WILDCARD DISPLAY_CHARACTERISTIC
DISPLAY_ENTRY
DISPLAY_FORM
DISPLAY_MANAGER
DISPLAY_QUEUE
コンテキストを設定し保存する。コンテキストが保存されるため, 次の操作はそのコンテキストに基づいて実行される。

説明

F$GETQUIレキシカル関数は,$GETQUIシステム・サービスを呼び出し, キューに関する情報を戻します。 戻される情報には,バッチ・キューやプリント・キューに登録されているジョブ, フォーム定義, およびシステム・ジョブ・キュー・ファイルに定義された属性が含まれます。 F$GETQUIレキシカル関数は, ワイルドカードの操作やネストしたワイルドカード操作を含め, $GETQUIシステム・サービスのすべての機能を提供します。 たとえば,ネストしたワイルドカードの操作では, 他のオブジェクト内で定義された情報を戻します。 呼び出しを繰り返した後,選択したキューに含まれるジョブ, または選択したジョブに含まれるファイルを照会する場合,この機能は特に便利です。 各々の呼び出しの後,システムは, 後続の呼び出しに必要なキューまたはコンテキストを提供できるように, GQC (内部GETQUIコンテキスト・ブロック)を保存します。 詳細は,『OpenVMS System Services Reference Manual』 の$GETQUIシステム・サービスの説明を参照してください。

F$GETQUIレキシカル関数は, $GETQUIシステム・サービスで指定されたすべての項目の情報を戻します。 $GETQUIレキシカル関数に指定する項目,戻される情報, およびその情報のデータ・タイプを 表 12-9に示します。

表 12-9 F$GETQUI項目

項目 データ・
タイプ
戻される情報
ACCOUNT_NAME[1] 文字列 指定したジョブの所有者のアカウント名。
AFTER_TIME 文字列 指定したジョブを実行するシステム時刻。
ASSIGNED_QUEUE_NAME[1] 文字列 F$GETQUI呼び出しで指定した論理キューが割り当てられる実行キュー名。
AUTOSTART_ON 文字列 キューが始まる位置を示すノード,またはノード装置の組合せリスト。
BASE_PRIORITY 整数値 バッチ実行キューでのジョブの優先順位, または出力キューを制御するシンビオント・プロセスの優先順位。
CHARACTERISTICS[1] 文字列 指定したキューまたはジョブに関する属性。
CHARACTERISTIC_NAME 文字列 指定した属性名。
CHARACTERISTIC_NUMBER 整数値 指定した属性番号。
CHECKPOINT_DATA[1] 文字列 指定したバッチ・ジョブが再スタートする時の,シンボルBATCH$RESTARTの値。
CLI[1] 文字列 指定したバッチ・ジョブを実行するコマンド言語インタプリタ(CLI)名。 ファイル指定では装置名をSYS$SYSTEM ,ファイル・タイプをEXEとみなす。
COMPLETED_BLOCKS 整数値 指定したプリント・ジョブに対して処理したシンビオントのブロック数。 プリント・ジョブにのみ適用される。
CONDITION_VECTOR[1] 整数値 3つのロングワードのベクトル。最初のロングワードは指定したジョブの終了状態を示す。 第2,第3のロングワードはプリント・ジョブの付加状態を示す。
CPU_DEFAULT 文字列 キューに対して指定した省略時のCPU時間をデルタ時間で表す。 バッチ実行キューにのみ適用される。
CPU_LIMIT[1] 文字列 指定したジョブまたはキューに対して指定した最大CPU時間の上限をデルタ時間で表す。 バッチ・ジョブ,およびバッチ実行キューにのみ適用される。
DEFAULT_FORM_NAME 文字列 指定した出力キューに関連する省略時のフォーム名。
DEFAULT_FORM_STOCK 文字列 省略時のフォームがプリントされるように指定した用紙名。
DEVICE_NAME 文字列 指定した実行キューがあるノードまたは装置(あるいはその両方)。 出力実行キューの場合は,装置名のみが戻される。 ノード名は,デュアル・アーキテクチャOpenVMS Clusterシステムでのみ使用される。 キューを実行するプロセスのシステム・パラメータSCSNODEにより, ノード名が指定される。

バッチ実行キューの場合は,空文字列("")が戻される。 バッチ・キューが実行しているノード名を得るには,SCSNODE_NAMEを使用する。

ENTRY_NUMBER 整数値 指定したジョブのキュー・エントリ番号。
EXECUTING_JOB_COUNT 整数値 現在実行中のキューにあるジョブ数。
FILE_BURST 文字列 ファイルの前にバースト・ページおよびフラグ・ページがプリントされている場合は TRUE,そうでない場合はFALSEを戻す。
FILE_CHECKPOINTED[1] 文字列 指定したファイルにチェックポイントが設定されている場合はTRUE, そうでない場合はFALSEを戻す。
FILE_COPIES[1] 整数値 指定したファイルが処理される時間。出力実行キューにのみ適用される。
FILE_COPIES_DONE[1] 整数値 指定したファイルが処理されていた時間。出力実行キューにのみ適用される。
FILE_COUNT 整数値 指定したジョブ中のファイル数。
FILE_DELETE 文字列 要求が実行された後にファイルが削除される場合はTRUE, そうでない場合はFALSEを戻す。
FILE_DOUBLE_SPACE 文字列 シンビオントがダブル・スペーシングでファイルをフォーマットしている場合は TRUE,そうでない場合はFALSEを戻す。
FILE_EXECUTING[1] 文字列 指定したファイルが処理中である場合はTRUE,そうでない場合はFALSEを戻す。
FILE_FLAG 文字列 ファイルの前にフラグ・ページがプリントされる場合はTRUE, そうでない場合はFALSEを戻す。
FILE_FLAGS[1] 整数値 指定したファイル用に選択された処理オプション。 整数値はビット・フィールドを表す。フィールドの各ビット設定を確認するためには, FILE_FLAGSのかわりに次の項目のいずれか1つを使用する。 FILE_BURST
FILE_DELETE
FILE_DOUBLE_SPACE
FILE_FLAG
FILE_PAGE_HEADER
FILE_PAGINATE
FILE_PASSALL
FILE_TRAILER
FILE_IDENTIFICATION[1] 文字列 選択したファイルを一意に識別する内部ファイル識別値。 以下のRMS NAMブロックの3ファイル識別フィールドを順に指定する。 NAM$T_DVI (16バイト)
NAM$W_FID (6バイト)
NAM$W_DID (6バイト)
FILE_PAGE_HEADER 文字列 各出力ページにヘッダがプリントされる場合はTRUE, そうでない場合はFALSEを戻す。
FILE_PAGINATE 文字列 下マージンで改ページを挿入して編集する場合はTRUE, そうでない場合はFALSEを戻す。
FILE_PASSALL 文字列 PASSALLモードでプリントする場合はTRUE,そうでない場合はFALSEを戻す。
FILE_SETUP_MODULES[1] 文字列 装置制御ライブラリから抽出され, 指定したファイルがプリントされる前にコピーするテキスト・モジュール名。 出力実行キューでのみ適用される。
FILE_SPECIFICATION[1] 文字列 F$GETQUIが情報を戻すファイルの,完全修飾RMSファイル指定。
FILE_STATUS[1] 整数値 ファイル状態情報。整数値はビット・フィールドを表す。 フィールドの各ビット設定を検索するためには, FILE_STATUSのかわりに次の項目のいずれか1つを使用する。 FILE_CHECKPOINTED
FILE_EXECUTING
FILE_TRAILER 文字列 ファイルに続いてトレーラ・ページがプリントされる場合はTRUE, そうでない場合はFALSEを戻す。
FIRST_PAGE[1] 整数値 指定したファイルのプリントを始めるページ番号。 出力実行キューでのみ適用される。
FORM_DESCRIPTION 文字列 ユーザおよびオペレータに,指定したフォームを示すテキスト文字列。
FORM_FLAGS 整数値 指定フォームのために選択された処理オプション。 フィールドの各ビット設定を確認するためには, FORM_FLAGSのかわりに次の項目のいずれか1つを使用する。 FORM_SHEET_FEED
FORM_TRUNCATE
FORM_WRAP
FORM_LENGTH 整数値 指定したフォームの物理的な長さを行数で表す。 出力実行キューでのみ適用される。
FORM_MARGIN_BOTTOM 整数値 指定したフォームの下マージンを行数で表す。
FORM_MARGIN_LEFT 整数値 指定したフォームの左マージンを文字数で表す。
FORM_MARGIN_RIGHT 整数値 指定したフォームの右マージンを文字数で表す。
FORM_MARGIN_TOP 整数値 指定したフォームの上マージンを行数で表す。
FORM_NAME[1] 文字列 指定したジョブまたはキューに関連する,指定したフォーム名, あるいはマウントされたフォーム名。
FORM_NUMBER 整数値 指定したフォーム数。
FORM_SETUP_MODULES 文字列 装置制御ライブラリから抽出され, 指定したフォームでファイルがプリントされる前にコピーするテキスト・モジュール名。 出力実行キューでのみ適用される。
FORM_SHEET_FEED 文字列 他の用紙を挿入できるように, 物理ページの終わりにシンビオント一時停止をする場合はTRUE, そうでない場合はFALSEを戻す。
FORM_STOCK[1] 文字列 指定したフォームがプリントされる用紙名。
FORM_TRUNCATE 文字列 プリンタが右マージンを越えている文字を捨てる場合はTRUE, そうでない場合はFALSEを戻す。
FORM_WIDTH 整数値 指定したフォームの幅。
FORM_WRAP 文字列 後続の行で右マージンを越えている文字をプリントする場合はTRUE, そうでない場合はFALSEを戻す。
GENERIC_TARGET 文字列 指定した汎用キューからの作業を受け入れられる実行キュー名。 汎用キューにのみ適用される。
HOLDING_JOB_COUNT 整数値 明示的にリリースまで保留になっているキューに登録されているジョブ数。
INTERVENING_BLOCKS 整数値 現在のF$GETQUI呼び出しの間にスキップされた, 待ち状態のジョブに関連するブロック数。 これらは,F$GETQUI呼び出しの選択基準と一致しないため報告されない。
INTERVENING_JOBS 整数値 F$GETQUI呼び出しの間にスキップされた,待ち状態のジョブ数。 これらは,F$GETQUI呼び出しの選択基準と一致しないため報告されない。
JOB_ABORTING 文字列 ジョブを強制終了させる場合はTRUE,そうでない場合はFALSEを戻す。
JOB_COMPLETION_QUEUE[1] 文字列 指定したジョブが実行されたキュー名。
JOB_COMPLETION_TIME[1] 文字列 指定したジョブが完了した時刻。
JOB_COPIES[1] 整数値 指定したプリント・ジョブが繰り返される回数。
JOB_COPIES_DONE[1] 整数値 指定したプリント・ジョブが繰り返された回数。
JOB_CPU_LIMIT[1] 文字列 ジョブに対してCPU時間上限が指定されている場合はTRUE, そうでない場合はFALSEを戻す。
JOB_ERROR_RETENTION[1] 文字列 ジョブが失敗して終了した場合に, そのままキューに残しておくようにユーザが要求した場合はTRUE, そうでない場合はFALSEを戻す。
JOB_EXECUTING 文字列 指定したジョブが実行中あるいはプリント中である場合はTRUE, そうでない場合はFALSEを戻す。
JOB_FILE_BURST[1] 文字列 ジョブに対してバースト・ページのオプションが明示的に指定されている場合は TRUE,そうでない場合はFALSEを戻す。
JOB_FILE_BURST_ONE[1] 文字列 ジョブの最初のファイルの前でのみ, バースト・ページおよびフラグ・ページを入れる場合はTRUE, そうでない場合はFALSEを戻す。
JOB_FILE_FLAG[1] 文字列 ジョブに登録されているそれぞれのファイルの前にフラグ・ページを入れる場合は TRUE,そうでない場合はFALSEを戻す。
JOB_FILE_FLAG_ONE[1] 文字列 ジョブの最初のファイルの前でのみ,フラグ・ページを入れる場合はTRUE, そうでない場合はFALSEを戻す。
JOB_FILE_PAGINATE[1] 文字列 ジョブに対して明示的にページング・オプションを指定している場合はTRUE, そうでない場合はFALSEを戻す。
JOB_FILE_TRAILER[1] 文字列 ジョブの各ファイルの後にトレーラ・ページが続く場合はTRUE, そうでない場合はFALSEを戻す。
JOB_FILE_TRAILER_ONE[1] 文字列 ジョブの最後のファイルのコピーのみにトレーラ・ページが続く場合はTRUE, そうでない場合はFALSEを戻す。
JOB_FLAGS[1] 整数値 指定したジョブに対して選択した処理オプション。 整数値はビット・フィールドを表す。 フィールドの各ビット設定を確認検索するためには, JOB_FLAGSのかわりに次の項目のいずれか1つを使用します。 JOB_CPU_LIMIT
JOB_ERROR_RETENTION
JOB_FILE_BURST
JOB_FILE_BURST_ONE
JOB_FILE_FLAG
JOB_FILE_FLAG_ONE
JOB_FILE_PAGINATE
JOB_FILE_TRAILER
JOB_FILE_TRAILER_ONE
JOB_LOG_DELETE
JOB_LOG_NULL
JOB_LOG_SPOOL
JOB_LOWERCASE
JOB_NOTIFY
JOB_RESTART
JOB_RETENTION_TIME
JOB_WSDEFAULT
JOB_WSEXTENT
JOB_WSQUOTA
JOB_HOLDING 文字列 明示的にリリースされるまでジョブが保留される場合はTRUE, そうでない場合はFALSEを戻す。
JOB_INACCESSIBLE 文字列 特定のジョブ, およびシステム・キュー・ファイルのファイル情報への読み込みアクセス権がない場合は TRUE,そうでない場合はFALSEを戻す。 FALSEの場合,DISPLAY_JOBおよびDISPLAY_FILE操作は, 次の出力値項目コードの情報のみ戻す。 AFTER_TIME
COMPLETED_BLOCKS
ENTRY_NUMBER
INTERVENING_BLOCKS
INTERVENING_JOBS
JOB_SIZE
JOB_STATUS
JOB_LIMIT 整数値 指定したキューで同時に実行できるジョブ数。 バッチ実行キューにのみ適用される。
JOB_LOG_DELETE[1] 文字列 プリントした後にログ・ファイルを削除する場合はTRUE, そうでない場合はFALSEを戻す。
JOB_LOG_NULL[1] 文字列 ログ・ファイルが作成されない場合はTRUE,そうでない場合はFALSEを戻す。
JOB_LOG_SPOOL[1] 文字列 ジョブの終了時に,ログ・ファイルがプリント・キューに登録される場合は TRUE,そうでない場合はFALSEを戻す。
JOB_LOWERCASE[1] 文字列 大文字と小文字の両方が印刷できるプリンタでプリントされる場合はTRUE, そうでない場合はFALSEを戻す。
JOB_NAME[1] 文字列 指定したジョブ名。
JOB_NOTIFY[1] 文字列 ジョブが完了または強制終了した時に, ターミナルにメッセージを送信する場合はTRUE,そうでない場合はFALSEを戻す。
JOB_PENDING 文字列 ジョブが待ち状態である場合はTRUE,そうでない場合はFALSEを戻す。
JOB_PID 文字列 バッチ・ジョブを実行するプロセス識別番号(PID)。
JOB_REFUSED 文字列 ジョブがシンビオントによって拒否され処理を待っている状態である場合はTRUE, そうでない場合はFALSEを戻す。
JOB_RESET_MODULES 文字列 装置制御ライブラリから抽出され, 指定したキューに登録された各ジョブがプリントされる前に, プリンタにコピーされたテキスト・モジュール名。 出力実行キューでのみ適用される。
JOB_RESTART[1] 文字列 ジョブがシステム障害の後に再スタートする, または実行中に再度キューに登録できる場合はTRUE, そうでない場合はFALSEを戻す。
JOB_RETAINED 文字列 終了してもまだキューにジョブが残っている場合はTRUE, そうでない場合はFALSEを戻す。
JOB_RETENTION 文字列 ジョブの終了状態にかかわらず, キューにジョブが残るようにユーザが要求した場合はTRUE, そうでない場合はFALSEを戻す。
JOB_RETENTION_TIME[1] 文字列 キューにジョブを残すようにユーザが要求するまでのシステム時間。 絶対時間またはデルタ時間で表す。
JOB_SIZE 整数値 指定したプリント・ジョブのブロック総数。
JOB_SIZE_MAXIMUM 整数値 指定したキューに登録できるプリント・ジョブの最大ブロック数。 出力実行キューにのみ適用される。
JOB_SIZE_MINIMUM 整数値 指定したキューに登録できるプリント・ジョブの最小ブロック数。 出力実行キューにのみ適用される。
JOB_STALLED 文字列 ジョブをプリントしている物理装置が一時停止しているためにジョブが一時停止している場合はTRUE, そうでない場合はFALSEを戻す。
JOB_STARTING 文字列 ジョブ・コントローラが処理を開始し, 出力シンビオントまたは他のノードのジョブ・コントローラと通信を開始していた場合は TRUE,そうでない場合はFALSEを戻す。
JOB_STATUS 整数値 指定したジョブの状態フラグ。整数値はビット・フィールドを表す。 フィールドの各ビット設定を確認するためには, JOB_STATUSのかわりに次の項目のいずれか1つを使用する。 JOB_ABORTING
JOB_EXECUTING
JOB_HOLDING
JOB_INACCESSIBLE
JOB_PENDING
JOB_REFUSED
JOB_RETAINED
JOB_STALLED
JOB_STARTING
JOB_SUSPENDED
JOB_TIMED_RELEASE
JOB_SUSPENDED 文字列 ジョブが中断されている場合はTRUE,そうでない場合はFALSEを戻す。
JOB_TIMED_RELEASE 文字列 指定した時刻までジョブが実行を待っている場合はTRUE, そうでない場合はFALSEを戻す。
JOB_WSDEFAULT[1] 文字列 ジョブに対して省略時のワーキング・セット・サイズが指定されている場合は TRUE,そうでない場合はFALSEを戻す。
JOB_WSEXTENT[1] 文字列 ジョブに対してワーキング・セット拡張が指定されている場合はTRUE, そうでない場合はFALSEを戻す。
JOB_WSQUOTA[1] 文字列 ジョブに対してワーキング・セット制限が指定されている場合はTRUE, そうでない場合はFALSEを戻す。
LAST_PAGE[1] 整数値 指定したファイルのプリントが終了するページ番号。 出力実行キューにのみ適用される。
LIBRARY_SPECIFICATION 文字列 指定したキューの装置制御ライブラリ名。 装置とディレクトリ名はSYS$LIBRARY,ファイル・タイプはTLBとみなす。 出力実行キューにのみ適用される。
LOG_ QUEUE[1] 文字列 指定したバッチ・ジョブをプリントするために, ログ・ファイルが作成されるキュー名。出力実行キューにのみ適用される。
LOG_SPECIFICATION[1] 文字列 ジョブに対して指定したログ・ファイル名。バッチ・ジョブにのみ適用される。 JOB_LOG_NULLコードを使用して,ログ・ファイルを作成するか決定する。
MANAGER_NAME 文字列 キュー・マネージャ名。
MANAGER_NODES 文字列 キュー・マネージャを実行するノード名。
MANAGER_STATUS 整数値 指定したキュー・マネージャの状態フラグ。 フィールドの各ビット設定を確認するためには, JOB_STATUSのかわりに次の項目のいずれか1つを使用する。 MANAGER_FAILOVER
MANAGER_RUNNING
MANAGER_START_PENDING
MANAGER_STARTING
MANAGER_STOPPED
MANAGER_STOPPING
NOTE[1] 文字列 指定したジョブの, ジョブ・フラグ・ページおよびファイル・フラグ・ページにプリントされる注意書き。 出力実行キューにのみ適用される。
OPERATOR_REQUEST[1] 文字列 指定したジョブを実行する前にキュー・オペレータに送るメッセージ。 出力実行キューにのみ適用される。
OWNER_UIC[1] 文字列 指定したキュー所有者の利用者識別コード。
PAGE_SETUP_MODULES 文字列 装置制御ライブラリから抽出され, フォームの各ページがプリントされる前にプリンタにコピーされたテキスト・モジュール名。
PARAMETER_1 to PARAMETER_8[1] 文字列 シンボルP1〜P8それぞれの値となる,利用者定義パラメータの値。
PENDING_JOB_BLOCK_COUNT 整数値 キューで待ち状態になっているすべてのジョブのブロック総数 (出力実行キューのみ)。
PENDING_JOB_COUNT 整数値 待ち状態になっているジョブ数。
PENDING_JOB_REASON 整数値 ジョブが待ち状態になっている理由。整数値はビット・フィールドを表す。 フィールドの各ビット設定を確認するためには, PENDING_JOB_REASONのかわりに次の項目のいずれか1つを使用する。 PEND_CHAR_MISMATCH
PEND_JOB_SIZE_MAX
PEND_JOB_SIZE_MIN
PEND_LOWERCASE_MISMATCH
PEND_NO_ACCESS
PEND_QUEUE_BUSY
PEND_QUEUE_STATE
PEND_STOCK_MISMATCH
PEND_CHAR_MISMATCH 文字列 実行キューで使用できない属性を要求している場合はTRUE, そうでない場合はFALSEを戻す。
PEND_JOB_SIZE_MAX 文字列 ジョブのブロック数が実行キューのブロック上限を越えている場合はTRUE, そうでない場合はFALSEを戻す。
PEND_JOB_SIZE_MIN 文字列 ジョブのブロック数が実行キューのブロック下限よりも少ない場合はTRUE, そうでない場合はFALSEを戻す。
PEND_LOWERCASE_MISMATCH 文字列 ジョブが小文字用のプリンタを必要とする場合はTRUE, そうでない場合はFALSEを戻す。
PEND_NO_ACCESS 文字列 ジョブ所有者が実行キューへのアクセス権がない場合はTRUE, そうでない場合はFALSEを戻す。
PEND_QUEUE_BUSY 文字列 キューのジョブ制限と現在実行中のジョブ数が等しいために, ジョブが待ち状態になっている場合はTRUE,そうでない場合はFALSEを戻す。
PEND_QUEUE_STATE 文字列 実行キューが実行中のオープン状態でないためにジョブが待ち状態になっている場合はTRUE, そうでない場合はFALSEを戻す。
PEND_STOCK_MISMATCH 文字列 ジョブのフォームで必要なストックの形式が, 実行キューでマウントされた形式と一致しない場合はTRUE, そうでない場合はFALSEを戻す。
PRIORITY[1] 整数値 指定したジョブのスケジューリング優先順位。
PROCESSOR 文字列 指定したキューから実行するプリント・ジョブを実行するシンビオント・イメージ名。
PROTECTION[1] 文字列 指定したキューの保護マスク。
QUEUE_ACL_SPECIFIED 文字列 キューに対してアクセス制御リストが指定されている場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_ALIGNING 文字列 現在アラインメント・ページをプリントしている場合はTRUE, そうでない場合はFALSEを戻す。 START/QUEUE/ALIGNコマンドを使用して再スタートしたときに, アライメント・ページをプリントする。
QUEUE_AUTOSTART 文字列 指定したキューがAUTOSTARTキューと指定されている場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_AUTOSTART_INACTIVE 文字列 キューが,自動的に始動しないよう設定した自動起動キューである場合はTRUE, そうでない場合はFALSEを戻す。TRUEの場合は, START/QUEUEまたはINIT/QUEUE/STARTコマンドを実行して再起動させる。
QUEUE_AVAILABLE 文字列 キューで2つ以上のジョブを処理していて, さらに追加のジョブを処理できるキューである場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_BATCH 文字列 キューが,バッチ・キューまたは汎用バッチ・キューである場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_BUSY 文字列 現在実行中のジョブ数が,キューのジョブ制限と等しい場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_CLOSED 文字列 キューがオープン状態になるまでクローズされ, 新しいジョブを受け入れない場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_CPU_DEFAULT 文字列 キューに登録されたすべてのジョブに対して省略時の CPU時間制限が指定されている場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_CPU_LIMIT 文字列 キューに登録されたすべてのジョブに対して省略時の最大CPU時間制限が指定されている場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_DESCRIPTION 文字列 INITIALIZE/QUEUEコマンドに /DESCRIPTION修飾子を指定して定義したキューの説明。
QUEUE_DIRECTORY 文字列 キュー・マネージャのキュー・データベース・ディレクトリの装置およびディレクトリ指定。
QUEUE_FILE_BURST 文字列 キューで実行する各ジョブの各ファイルの前に, バースト・ページおよびフラグ・ページを入れる場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_FILE_BURST_ONE 文字列 キューが実行する各ジョブの最初のファイルの前にのみ, バースト・ページおよびフラグ・ページを入れる場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_FILE_FLAG 文字列 キューが実行する各ジョブの各ファイルの前にフラグ・ページを入れる場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_FILE_FLAG_ONE 文字列 キューが実行する各ジョブの最初のファイルの前にのみ, フラグ・ページを入れる場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_FILE_PAGINATE 文字列 このキューが実行する各ジョブの出力シンビオントが出力をページングする場合は TRUE,そうでない場合はFALSEを戻す。出力シンビオントは, 出力がフォームの下マージンに達するとフォーム・フィードを挿入してページングを行う。
QUEUE_FILE_TRAILER 文字列 キューで実行した各ジョブの各ファイルの後にトレーラ・ページが続く場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_FILE_TRAILER_ONE 文字列 キューで実行した各ジョブの最後のファイルの最後コピーの後にのみトレーラ・ページが続く場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_FLAGS 整数値 指定したキューに対して選択された処理オプション。 整数値はビット・フィールドを表す。フィールドの各ビット設定を確認するためには, QUEUE_FLAGSのかわりに次の項目のいずれか1つを使用する。 QUEUE_ACL_SPECIFIED
QUEUE_AUTOSTART
QUEUE_BATCH
QUEUE_CPU_DEFAULT
QUEUE_CPU_LIMIT
QUEUE_FILE_BURST
QUEUE_FILE_BURST_ONE
QUEUE_FILE_FLAG
QUEUE_FILE_FLAG_ONE
QUEUE_FILE_PAGINATE
QUEUE_FILE_TRAILER
QUEUE_FILE_TRAILER_ONE
QUEUE_GENERIC
QUEUE_GENERIC_SELECTION
QUEUE_JOB_BURST
QUEUE_JOB_FLAG
QUEUE_JOB_SIZE_SCHED
QUEUE_JOB_TRAILER
QUEUE_NO_INITIAL_FF
QUEUE_PRINTER
QUEUE_RECORD_BLOCKING
QUEUE_RETAIN_ALL
QUEUE_RETAIN_ERROR
QUEUE_SWAP
QUEUE_TERMINAL
QUEUE_WSDEFAULT
QUEUE_WSEXTENT
QUEUE_WSQUOTA
QUEUE_GENERIC 文字列 キューが汎用キューである場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_GENERIC_SELECTION 文字列 キューが,汎用キューから作業を受けることができる実行キューである場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_IDLE 文字列 キューが,ジョブの処理が可能であるが現在処理中でないキューである, またはキューの実行を遅らせる機能を持つ汎用キューである場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_JOB_BURST 文字列 キューで実行した各ジョブの前にバースト・ページおよびフラグ・ページを入れる場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_JOB_FLAG 文字列 キューで実行した各ジョブの前にフラグ・ページを入れる場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_JOB_SIZE_SCHED 文字列 キューで実行したジョブが,サイズに基づいて(つまり, サイズが小さいジョブの方が処理される優先順位が高いという基準にしたがって) スケジューリングされた場合はTRUE,総出ない場合はFALSEを戻す。 出力キューにのみ適用される。
QUEUE_JOB_TRAILER 文字列 キューで実行した各ジョブの後にトレーラ・ページが続く場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_LOWERCASE 文字列 大文字も小文字もプリントできるプリンタにキューが関連付けられている場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_NAME[1] 文字列 指定したキューの名前,または指定したジョブを含むキューの名前。
QUEUE_PAUSED 文字列 現在キューに登録されているすべてのジョブの処理が一時的に停止されている場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_PAUSING 文字列 一時的にキューが停止している場合はTRUE,そうでない場合はFALSEを戻す。 一時的にキューが停止していると,現在実行中のジョブが終了しても, 一時的に新しいジョブは実行できなくなる。
QUEUE_PRINTER 文字列 キューがプリンタ・キューである場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_RECORD_BLOCKING 文字列 シンビオントが連結またはブロック化して, 出力レコードを出力装置に送る場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_REMOTE 文字列 キューが,ローカル・ノードに接続していない物理装置に割り当てられている場合は TRUE,そうでない場合はFALSEを戻す。
QUEUE_RESETTING 文字列 キューが再設定および停止している場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_RESUMING 文字列 キューが休止のあと再起動している場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_RETAIN_ALL 文字列 キューで実行したすべてのジョブが実行後もそのままキューにある場合はTRUE, そうでない場合はFALSEを戻す。終了したジョブは終了状態の印がつけられる。
QUEUE_RETAIN_ERROR 文字列 失敗して終了したジョブだけがキューに残っている場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_SERVER 文字列 サーバ・シンビオントに処理が指示された場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_STALLED 文字列 キューに割り当てられた物理装置が停止している (つまり,登録された最後の入出力要求が正常終了していない)場合はTRUE, 停止していない場合はFALSEを戻す。
QUEUE_STARTING 文字列 キューがスタートしている場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_STATUS 整数値 指定したキューの状態フラグ。整数値はビット・フィールドを表す。 フィールドの各ビット設定を確認するためには, QUEUE_STATUSのかわりに次の項目のいずれか1つを使用する。 QUEUE_ALIGNING
QUEUE_AUTOSTART
QUEUE_AUTOSTART_INACTIVE
QUEUE_AVAILABLE
QUEUE_BUSY
QUEUE_CLOSED
QUEUE_IDLE
QUEUE_LOWERCASE
QUEUE_PAUSED
QUEUE_PAUSING
QUEUE_REMOTE
QUEUE_RESETTING
QUEUE_RESUMING
QUEUE_SERVER
QUEUE_STALLED
QUEUE_STARTING
QUEUE_STOP_PENDING
QUEUE_STOPPED
QUEUE_STOPPING
QUEUE_UNAVAILABLE
QUEUE_STOP_PENDING 文字列 現在実行中のジョブが終了したときにキューが停止される場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_STOPPED 文字列 キューが停止された場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_STOPPING 文字列 キューが停止しようとしている場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_SWAP 文字列 キューで実行したジョブがスワップできる場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_TERMINAL 文字列 キューがターミナル・キューである場合はTRUE,そうでない場合はFALSEを戻す。
QUEUE_UNAVAILABLE 文字列 キューに割り当てられた物理装置が使用できない場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_WSDEFAULT 文字列 キューで実行した各ジョブに対して, それぞれ省略時のワーキング・セット・サイズが指定されている場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_WSEXTENT 文字列 キューで実行した各ジョブに対して, それぞれ省略時のワーキング・セット超過値が指定されている場合はTRUE, そうでない場合はFALSEを戻す。
QUEUE_WSQUOTA 文字列 キューで実行した各ジョブに対して, それぞれ省略時のワーキング・セット制限値が指定されている場合はTRUE, そうでない場合はFALSEを戻す。
REQUEUE_QUEUE_NAME[1] 文字列 指定したジョブが再割り当てされているキューの名前。
RESTART_QUEUE_NAME[1] 文字列 ジョブを再スタートした場合にジョブが置かれるキューの名前。
RETAINED_JOB_COUNT 整数値 終了してキューに残っているジョブとエラーになったままのジョブを合わせた数。
SCSNODE_NAME 文字列 指定したキューで開始するジョブが実行されるOpenVMSノードの6バイトの名前。 ノード名は,ターグット・ノードのシステム・パラメータSCSNODEの値に一致する。
SECURITY_INACCESSIBLE 文字列 ユーザが指定したキューへの読み込みアクセス権を持っている場合はTRUE, そうでない場合はFALSEを戻す。
SUBMISSION_TIME[1] 文字列 指定したジョブがキューに登録された時刻。
TIMED_RELEASE_JOB_COUNT 整数値 指定した時刻まで保留になっているジョブ数。
UIC[1] 文字列 指定したジョブ所有者の利用者識別コード(UIC)。
USERNAME[1] 文字列 指定したジョブ所有者のユーザ名。
WSDEFAULT[1] 整数値 指定したジョブまたはキューに対して指定された省略時のワーキング・セット・サイズ。 バッチ・ジョブ,実行キュー,および出力キューにのみ適用される。
WSEXTENT[1] 整数値 指定したジョブまたはキューに対して指定された省略時のワーキング・セット超過値。 バッチ・ジョブ,実行キュー,および出力キューにのみ適用される。
WSQUOTA[1] 整数値 指定したジョブまたはキューに対して指定された省略時のワーキング・セット制限値。 バッチ・ジョブ,実行キュー,および出力キューにのみ適用される。
[1] DISPLAY_ENTRY,DISPLAY_JOB,またはDISPLAY_FILEを使用する場合は, 読み込み(R)アクセス権が必要です。

  1. $  BLOCKS = F$GETQUI("DISPLAY_ENTRY" ,"JOB_SIZE",1347)
    
    この例では,プリント・ジョブ1347のブロック・サイズを得るために F$GETQUIレキシカル関数が使用されています。F$GETQUIが戻す値は, プリント・ジョブ1347に関連するファイルが占有している総ブロック・サイズです。

  2. $ IF F$GETQUI("DISPLAY_QUEUE", "QUEUE_STOPPED", "VAX1_BATCH") .EQS.
    "TRUE" THEN GOTO 500
    
    この例では,F$GETQUIレキシカル関数を使用して VAX1_BATCHキューが停止状態かどうかを調べています。 VAX1_BATCHが停止状態であればTRUE,そうでなければFALSEが戻されます。 VAX1_BATCHキューがシステムに存在しない場合は,空文字列("")が戻されます。

  3. ! This command procedure shows all queues and the jobs in them.
    $  TEMP = F$GETQUI("")
    $  QLOOP:
    $  QNAME = F$GETQUI("DISPLAY_QUEUE","QUEUE_NAME","*")
    $  IF QNAME .EQS. "" THEN EXIT
    $  WRITE SYS$OUTPUT ""
    $  WRITE SYS$OUTPUT "QUEUE: ", QNAME
    $  JLOOP:
    $  NOACCESS = F$GETQUI("DISPLAY_JOB","JOB_INACCESSIBLE",,"ALL_JOBS")
    $  IF NOACCESS .EQS. "TRUE" THEN GOTO JLOOP
    $  IF NOACCESS .EQS. "" THEN GOTO QLOOP
    $  JNAME = F$GETQUI("DISPLAY_JOB","JOB_NAME",,"FREEZE_CONTEXT")
    $  WRITE SYS$OUTPUT "    JOB:  ",JNAME
    $  GOTO JLOOP
    
    この例は,システムのすべてのキュー,およびユーザが READアクセスを持つすべてのジョブを表示するコマンド・プロシージャです。 外側のループでは,ワイルド・カードを使用してキューの表示が実行されます。 キュー情報を得る時には,アクセス権の確認は必要ありません。これは, すべてのユーザは暗黙でキュー属性へのREADアクセス権を持っているからです。 キュー名にワイルドカード("*")が指定されているため, キューのリスト(ワイルドカード・コンテキスト)が保持されます。

    内側のループでは,すべてのジョブの情報を得るために, ワイルドカード表示キュー・モードからネストしたワイルドカードを入力しています。 このループでは,ジョブに対しては暗黙のREADアクセス権は与えられていないので, ジョブ情報を得る事ができるかどうかを確認しなければなりません。 ジョブに対する要求の中でFREEZE_CONTEXTキーワードを使用して, ワイルドカード・コンテキストを次のオブジェクトへ進めないないようにしています。 ジョブ名が検索され表示されると,制御は次のジョブに移ります。 この時には,FREEZE_CONTEXTキーワードは使用されていないので, コンテキストは次のジョブに進みます。このワイルドカード・キュー・コンテキストは, 一致するキューがなくなるまで維持されます。一致するキューがなくなると, F$GETQUIは,一致するオブジェクトがこれ以上ないことを示すために, 空文字列 ("")を戻します。

  4. $ THIS_NODE = F$EDIT(F$GETSYI("SCSNODE"),"COLLAPSE")
    $ TEMP = F$GETQUI("CANCEL_OPERATION")
    $ SET NOON
    $LOOP:
    $ QUEUE = F$GETQUI("DISPLAY_QUEUE","QUEUE_NAME","*","WILDCARD")
    $ IF QUEUE .EQS. "" THEN GOTO ENDLOOP
    $ IF THIS_NODE .EQS.-
    F$GETQUI("DISPLAY_QUEUE","SCSNODE_NAME","*","WILDCARD,FREEZE_CONTEXT")
    $ THEN
    $    IF .NOT.-
      F$GETQUI("DISPLAY_QUEUE","QUEUE_AUTOSTART","*","WILDCARD,FREEZE_CONTEXT")-
      THEN START/QUEUE 'QUEUE'
    $ ENDIF
    $ GOTO LOOP
    $ENDLOOP:
    $ SET ON
    

    この例は,ローカル・クラスタ・ノードに関するすべてのキューを調べ, 自動起動になっていないキューを開始させるコマンド・プロシージャです。

    このコマンド・プロシージャは,ローカル・システムのノード名を得て, F$GETQUIコンテキストをクリアにします。キューが既に起動している場合は, START QUEUEコマンドの結果としてこのコマンド・プロシージャが強制終了されることのないように, エラー処理を無効にしておきます。

    ループ内では,F$GETQUIレキシカル関数は, キュー・リストから次のキュー名を取り出します。 次のキューがない場合は,ループを終了します。

    次のIFは,ローカル・ノードでキューが実行するかをチェックしています。 実行する場合は,次に,キューが自動起動になっているかをチェックします。 ローカル・ノードでキューが実行しない場合は, STARTコマンドを使用してキューを起動させます。その後,ループを繰り返します。

    最後のコマンドは,DCLエラー処理を以前の設定にリストアします。


F$GETSYI

$GETSYIシステム・サービスを呼び出し, ローカル・システム(デュアル・アーキテクチャのOpenVMS Clusterの場合は, ローカル・ノード)に関する状態情報と識別情報を戻します。

フォーマット

     F$GETSYI (項目[,ノード名] [,クラスタid]) 

戻り値

要求する項目に応じて,整数または文字列になります。

引数

項目

ローカル・ノード(使用しているシステムがOpenVMS Clusterの場合は, OpenVMS Cluster内の他のノード)に関して報告される情報の種類を指定します。 項目は,文字列式として指定します。

また,『OpenVMSシステム管理ユーティリティ・リファレンス・マニュアル』 に示すシステム・パラメータも指定することができます。

ノード名

情報が報告されるOpenVMS Clusterのノードを指定します。 ノードは,文字列式として指定します。 ノード名に(*)や(%)のワイルド・カード文字は使用できません。

クラスタid

情報が報告される,クラスタ・ノード識別番号を指定します

クラスタ内のすべてのノードの情報を取得するには, F$CSIDレキシカル関数を使用して各クラスタ・システム識別番号を取得し, F$GETSYIのクラスタid引数を使用して各ノードの情報を集めます。

説明

F$GETSYIレキシカル関数は,$GETSYIシステム・サービスを呼び出し, ローカル・システム(使用しているシステムがクラスタの一部である場合は, ローカルOpenVMS Clusterのノード)の状態および識別情報を戻します。 F$GETSYI関数は,$GETSYIシステム・サービスで指定できる項目の情報を戻します。 $GETSYIシステム・サービスにつての詳細は, 『OpenVMS System Services Reference Manual』を参照してください。

ノード名またはクラスタid引数を指定すると, 情報を得るノードを指定することができます。 ただし,これらの引数を同時に指定することはできません。

F$GETSYIレキシカル関数に指定できる項目を表 12-10に示します。

表 12-10 F$GETSYI項目

項目 データ・
タイプ
戻される情報
ACTIVECPU_CNT 整数値 対称的マルチプロセッサ(SMP)システムの現在のブートでアクティブなCPUの数。
ARCHFLAG 文字列 システムのアーキテクチャ・フラグ。
ARCH_NAME 文字列 CPUアーキテクチャ名。OpenVMS Alphaの場合はAlpha。 OpenVMS VAXの場合はVAX。
ARCH_TYPE 整数値 CPUアーキテクチャのタイプ。VAXの場合は1,Alphaの場合は2。
AVAILCPU_CNT 整数値 システムが承認したCPU回数。
BOOTTIME 文字列 システムがブートされた時刻。
CHARACTER_EMULATED 文字列 文字列命令がCPUでエミュレートされた場合はTRUE, そうでない場合はFALSEを戻す。
CONSOLE_VERSION 文字列 コンソール・ファームウェア・バージョン。
CONTIG_GBLPAGES 整数値 未使用で連続したグローバル・ページの総数。
CLUSTER_EVOTES 整数値 クラスタ内のボート(投票数)の総数。
CLUSTER_FSYSID 文字列 クラスタ(基本ノード)内でブートする最初のノードのシステム識別番号。 16進数を含む文字列を戻す。
CLUSTER_FTIME 文字列 クラスタで最初のノードがブートされた時刻。
CLUSTER_MEMBER 文字列 ノードがローカル・クラスタのメンバである場合はTRUE, そうでない場合はFALSEを戻す。
CLUSTER_NODES 整数値 クラスタ内のノード総数を整数で表す。
CLUSTER_QUORUM 整数値 クラスタのクォーラム総数。
CLUSTER_VOTES 整数値 クラスタ内の投票総数。
CPU 整数値 VAXにおいて,システム識別(SID)番号を表わすプロセッサ・タイプ。 たとえば,1 は VAX-11/780 ,6 は VAX 8530,VAX 8550,VAX 8700, またはVAX 8800を表す。
CPUTYPE 整数値 Alphaにおいて, ハードウェア再起動パラメータ・ブロック(HWRPB)に格納されるプロセッサ・タイプ。 2 は DECchip 21064プロセッサを表す。
CWLOGICALS 論理型 クラスタ単位の論理名データベースがその CPU で初期化されたことを示すフラグ。
DECIMAL_EMULATED 文字列 10進数文字列の命令がCPUでエミュレートされている場合はTRUE, そうでない場合はFALSEを戻す。
DECNET_FULLNAME 文字列 DECnet Phase IVシステムのノード名, またはDECnet/OSIシステムの完全なノード名。
D_FLOAT_EMULATED 文字列 D浮動少数点数の命令がCPUでエミュレートされている場合はTRUE, そうでない場合はFALSEを戻す。
ERRORLOGBUFFERS 整数値 エラー・ログ・バッファとして使用されるシステム・ページ数(VAXの場合), またはページレット数(Alphaの場合)。
F_FLOAT_EMULATED 文字列 F浮動少数点数の命令がCPUでエミュレートされている場合はTRUE, そうでない場合はFALSEを戻す。
FREE_GBLPAGES 整数値 現在の未使用グローバル・ページ数。
FREE_GBLSECTS 整数値 現在の未使用グローバル・セクション・テーブル・エントリ数。
G_FLOAT_EMULATED 文字列 G浮動少数点数の命令がCPUでエミュレートされている場合はTRUE, そうでない場合はFALSEを戻す。
GH_RSRVPGCNT 整数値 Alphaにおいて,システム・スタートアップ完了後, INSTALLユーティリティで使用するために予約する粒度ヒントがカバーするページ数。
HW_MODEL 整数値 AlphaまたはVAXのモデル・タイプを示す整数値。 整数値が1023より多きい場合は Alphaオペレーティング・システム, 小さい場合はVAXオペレーティング・システムを表す。
HW_NAME 文字列 AlphaまたはVAXのモデル名。
ITB_ENTRIES 整数値 Alphaにおいて,Iストリーム変換バッファ・エントリ数。 これは,常駐コードに割り当てられる粒度ヒントをサポートする。
MEMSIZE 整数値 システム構成でのメモリのページ数。
NODENAME 文字列 ノード名(ダブルコロンは含まない)。
NODE_AREA 整数値 ターゲット・ノードのDECnet領域。
NODE_CSID 文字列 指定したノードのCSIDを,16進数を含む文字列で戻す。 CSIDはシステム識別の形式。
NODE_EVOTES 整数値 ノードに割り当てた投票数。
NODE_HWTYPE 文字列 指定したノードのハードウェア・タイプ。
NODE_HWVERS 文字列 指定したノードのハードウェア・バージョン。
NODE_NUMBER 整数値 指定したノードのDECnet番号。
NODE_QUORUM 整数値 ノードが持つクォーラム。
NODE_SWINCARN 文字列 指定したノードのソフトウェア・インカーネーション番号。 16進数を含む文字列で戻す。
NODE_SWTYPE 文字列 指定したノードが使用するオペレーティング・システム・ソフトウェアのタイプ。
NODE_SWVERS 文字列 指定したノードのソフトウェア・バージョン。
NODE_SYSTEMID 文字列 指定したノードのシステム識別番号。16進数を含む文字列で戻される。
NODE_VOTES 整数値 ノードに割り当てた投票数。
PAGEFILE_FREE 整数値 現在インストールされているページング・ファイルの未使用ページ数。
PAGEFILE_PAGE 整数値 現在インストールされているページング・ファイルのページ数。
PALCODE_VERSION 文字列 AlphaシステムでのPALCODE(特権アーキテクチャ・ライブラリ)のバージョン。
QUANTUM 整数値 他のプロセスが待ち状態の間,プロセスが受信ができる最大プロセッサ時間。
REAL_CPUTYPE 文字列 システムの主CPUの実際のCPUタイプ。
SCS_EXISTS 文字列 現在OpenVMSノードにシステム通信サブシステム(SCS)がロードされている場合は TRUE,そうでない場合はFALSEを戻す。
SID 整数値 システム識別番号。Alphaにおいて,常に値が256であるCPU型フィールドを除いた, すべてのフィールドがゼロとなる値を戻す。
SWAPFILE_FREE 整数値 現在インストールされているスワッピング・ファイルの未使用のページ数。
SWAPFILE_PAGE 整数値 現在インストールされているスワッピング・ファイルのページ数。
SYSTEM_RIGHTS 文字列 ローカル・システムの権利リストの目次。 遠隔システムを指定している場合は,空文字列("")が戻される。 この項目コードは,コンマ(,)で区切られた識別子名のリストを戻す。
SYSTYPE 整数値 Alphaにおいて,ファミリまたはシステム・ハードウェア・プラットフォーム。 たとえば,2はDEC 4000,3はDEC 7000またはDEC 10000,4はDEC 3000を表す。
USED_GBLPAGCNT 整数値 グローバル・ページ・テーブルで現在使用しているページ数。
USED_GBLPAGMAX 整数値 グローバル・ページ・テーブルでこれまでの最大使用ページ数。
VECTOR_EMULATOR 論理値 VAXベクタ命令エミュレータ機能(VVIEF)の存在を示すフラグ。
VERSION 文字列 使用しているOpenVMSのバージョン(8文字で残りを空白で埋める)。
VP_MASK 整数値 ベクタ共同プロセッサがあるプロセッサを示すマスク。
VP_NUMBER 整数値 システムのベクタ・プロセッサ数。
† VAXのみ
‡ Alphaのみ

  1. $ SYSID = F$GETSYI("SID")
    $ SHOW SYMBOL SYSID
      SYSID = 19923201  Hex = 01300101 Octal = 000401
    
    この例では,F$GETSYI関数を使用して, システム識別レジスタの情報を戻す方法を示しています。 SID引数は文字列リテラルなので,引用符(" ")で囲まれています。 F$GETSYI関数から戻される値は,SYSIDシンボルに割り当てられます。 ノードは指定されていないため,現在のノードに関する情報が戻されます。

  2. $ MEM = F$GETSYI("CLUSTER_MEMBER", "LONDON")
    $ SHOW SYMBOL MEM
      MEM = "TRUE"
    
    この例では,F$GETSYI関数を使用して, LONDONノードがローカル・クラスタのメンバーであるかどうかを調べています。 戻り値TRUEは,遠隔ノードLONDONがクラスタのメンバであることを示します。

  3. $ LIM = F$GETSYI("BJOBLIM")
    $ SHOW SYMBOL LIM
      LIM = 16   Hex = 00000010  Octal = 00000000020
    
    この例では,SYSGENパラメータであるBJOBLIMが, F$GETSYI関数に対する引数として使用されています。 この引数は,現在のシステムのバッチ・ジョブ制限値を戻します。


F$IDENTIFIER

英数字の識別子を,それに相当する整数に変換します。 または,その逆の操作を実行します。 識別子は,ユーザのカテゴリを識別するための名前または番号です。 システムは,この識別子を使用して,資源に対する利用者のアクセス権を判断します。

フォーマット

     F$IDENTIFIER (識別子,変換タイプ) 

戻り値

F$IDENTIFIER関数は,識別子を名前から整数に変換する場合には整数値を, 整数から名前に変換する場合には文字列を戻します。誤った識別子を指定すると, F$IDENTIFIER関数は空文字列("") (整数から名前に変換する場合), または0 (名前から整数に変換する場合)を戻します。

引数

識別子

変換される識別子を指定します。 整数から名前に変換する場合は,整数式として指定します。 名前を整数に変換する場合は,文字列式として指定します。

Name Hidden属性を持つ識別子の場合,質問に識別子がない場合, または権利データベースへの読み込みアクセス権がない場合, F$IDENTIFIERはエラーになります。 属性についての詳細は,『OpenVMS Guide to System Security』を参照してください。

変換タイプ

実行される変換のタイプを指定します。識別子引数が英数字の場合は, "NAME_TO_NUMBER"を含む文字列として 変換タイプを指定します。 識別子引数が数値の場合は,"NUMBER_TO_NAME" を含む文字列として変換タイプを指定します。

  1. $ UIC_INT= F$IDENTIFIER("SLOANE","NAME_TO_NUMBER")
    $ SHOW SYMBOL UIC_INT
      UIC_INT = 15728665   Hex = 00F00019  Octal = 00074000031
    $ UIC = F$FAO("!%U",UIC_INT)
    $ SHOW SYMBOL UIC
      UIC = [360,031]
    
    この例では,F$IDENTIFIER関数を使用して, MANAGERS,SLOANE]というUICのメンバ識別子を整数に変換しています。 F$IDENTIFIER関数は,メンバ識別子SLOANEが, 15728665という整数に等しいことを示しています。 SLOANEという識別子を指定する場合には,大文字を使用しなければなりません。

    この8進数を標準的な数値形式のUICに変換するには, F$FAO関数と!%Uディレクティブを使用します (このディレクテイブは,ロングワードを名前形式のUICに変換します)。 この例では,SLOANEというメンバ識別子は,数値形式のUIC[360,031]と同値です。

  2. $ UIC_INT = (%O31 + (%X10000 * %O360))
    $ UIC_NAME = F$IDENTIFIER(UIC_INT,"NUMBER_TO_NAME")
    $ SHOW SYMBOL UIC_NAME
      UIC_NAME = "ODONNELL"
    
    この例は,数値形式のUIC[360,031]に対応する英数字のの識別子を求めています。 まず,UIC[360,031]に対応するロングワード整数を求めなければなりません。 このためにメンバ番号を下位ワードに,グループ番号を上位ワードに挿入します。 次に,F$IDENTIFIER関数を使用して,その整数に対応する名前形式の識別子を求めます。


F$INTEGER

指定した式の結果と等価な整数値を戻します。

フォーマット

     F$INTEGER (式) 

戻り値

指定した式と等価な整数値。

引数

評価される式を指定します。整数または文字列式を指定します。

整数式を指定すると,F$INTEGER関数は式を評価し結果を戻します。 文字列式を指定すると, F$INTEGER関数は式を評価し,その結果の文字列を整数に変換して戻します。

文字列式を評価した後,F$INTEGER関数は次の方法で整数に変換します。 評価した結果の文字列に,有効な整数を形成する文字が含まれている場合は, F$INTEGER関数は整数値を戻します。 評価した結果の文字列に,有効な整数を形成する文字が含まれていない場合は, 文字列がT,t,Y,またはyで始まっているとF$INTEGER関数は1を戻します。 文字列は他の文字で始まる場合は,F$INTEGERは0を戻します。

  1. $ A = "23"
    $ B = F$INTEGER("-9" + A)
    $ SHOW SYMBOL B
      B = -923 Hex=FFFFFC65 Octal=176145
    
    この例では,F$INTEGER関数を使用して, 関数により戻された整数値をシンボルに割り当てる方法を示しています。 この例では,F$INTEGER関数は,文字列式("-9" + A)と等価な整数を戻します。 まずF$INTEGER関数は,文字列リテラル"-9"と"23"を連結させて,文字列式を評価します。 シンボルAの値は,自動的に文字列式に置換される点に注意してください。 どちらの引数も文字列リテラルなので, プラス記号(+)は文字列連結演算子である点にも注意してください。

    文字列式を評価した後,F$INTEGER関数は,結果の文字列式("-923")を整数に変換し, 値-923を戻します。この整数値は,シンボルBに割り当てられます。


F$LENGTH

指定した文字列の長さを戻します。

フォーマット

     F$LENGTH (文字列) 

戻り値

文字列の長さを示す整数値

引数

文字列

長さを求める文字列を指定します。文字列式として指定します。

  1. $ MESSAGE = F$MESSAGE(%X1C)
    $ SHOW SYMBOL MESSAGE
      MESSAGE = "%SYSTEM-F-EXQUOTA, exceeded quota"
    $ STRING_LENGTH = F$LENGTH(MESSAGE)
    $ SHOW SYMBOL STRING_LENGTH
      STRING_LENGTH = 33   Hex = 00000021  Octal = 000041
    
    この例では,最初の割り当てステートメントでは, 16進数の1Cに対応するメッセージを戻すために,F$MESSAGE関数を使用しています。 メッセージは,文字列式として戻され,MESSAGEというシンボルに割り当てられます。

    次に,F$LENGTH関数を使用して, シンボルMESSAGEに割り当てられた文字列の長さが戻されています。 F$LENGTH関数に対する引数として,シンボルMESSAGEを使用する場合, 引用符(" ")で囲む必要はありません (シンボルを囲む引用符は,文字列式では使用されません)。

    F$LENGTH関数は,文字列の長さを戻し, その値をシンボルSTRING_LENGTHに割り当てます。 この例の最後で,シンボルSTRING_LENGTHの値は, シンボルMESSAGEの値の文字数,つまり33になります。


F$LOCATE

文字列に含まれる特定の部分を探し,最初の文字のオフセットを整数値で戻します。 オフセットとは,文字列の先頭を基準にした文字(1文字または部分文字列)の位置です。 オフセットとは,文字列の開始位置を基準にして,文字, または部分文字列までの位置を示します。 文字列の1文字目は,常に文字列の先頭からオフセット0の位置にあります。

部分文字列が見つからないと,F$LOCATE関数は,検索文字列の長さ (文字列の最後の文字のオフセットに1を加算した値)を戻します。

フォーマット

     F$LOCATE (部分文字列,文字列) 

戻り値

部分文字列引数のオフセットを示す整数値。オフセットとは, 文字列の先頭を基準にした文字(1文字または部分文字列)の位置です。 文字列の1文字目は,常に文字列の先頭からオフセット0の位置にあります (文字列の先頭は,常に左端の文字です)。 部分文字列引数がない場合には,F$LOCATE関数は, 文字列の最後の文字のオフセットより,1だけ大きなオフセットを戻します (これは文字列の長さに相当します)。

引数

部分文字列

文字列引数に指定した文字列から検索したい文字列を指定します。

文字列

F$LOCATEが編集する文字列を指定します。

  1. $ FILE_SPEC = "MYFILE.DAT;1"
    $ NAME_LENGTH = F$LOCATE(".",FILE_SPEC)
    
    この例では,F$LOCATE関数は,文字列の先頭を基準にした, 文字列中のピリオド(.)の位置を戻します。 ピリオドはオフセット6の位置に存在するため, 6という値がシンボルNAME_LENGTHに割り当てられます。 また,NAME_LENGTHは,MYFILE.DATというファイル指定のファイル名の部分の長さ, つまり6に等しくなります。

    部分文字列引数であるピリオドは,文字列リテラルとして指定されているので, 引用符(" ")で囲まれています。 しかし,FILE_SPEC引数はシンボルであるため,引用符で囲む必要はありません。 このシンボルは,関数を処理しているときに,自動的に現在の値に置き換えられます。

  2. $ INQUIRE TIME "Enter time"
    $ IF F$LOCATE(":",TIME) .EQ. F$LENGTH(TIME) THEN -
      GOTO NO_COLON
    
    これは,コマンド・プロシージャの一部です。 この中では,F$LOCATE関数の結果とF$LENGTH関数の結果を比較し, 結果が等しいかどうかを調べています。 1文字または部分文字列が,ある文字列に含まれているかどうかを判断するときに, この方法をよく使用します。

    この例では,INQUIREコマンドが,時刻の値の入力を要求するプロンプトを表示し, 利用者が入力した時刻をシンボルTIMEに割り当てます。 IFコマンドは,プロンプトに対する応答として入力された文字列に, コロンが含まれているかどうかを調べます。 F$LOCATE関数から戻された値が,F$LENGTH関数から戻された値と等しい場合には, コロンは文字列の中に含まれていません。 F$LOCATE関数とF$LENGTH関数はどちらも整数値を戻すため, (.EQS.演算子ではなく).EQ.演算子が使用されています。

    部分文字列引数であるコロンは文字列リテラルであるため,引用符で囲まれています。 しかし,シンボルTIMEは,引用符で囲む必要はありません。 これは,文字列式として自動的に評価されるためです。


F$MESSAGE

特定のシステム状態コードに対応するファシリティ,重要度,ID, およびテキストを,文字列として戻します。

フォーマット

     F$MESSAGE (状態コード[,メッセージ構成要素リスト]) 

戻り値

指定した引数に対応するシステム・メッセージを含む文字列。

各システム・メッセージ・ファイルは,数値または値の範囲に対応づけられています。 ただし,必ずしもすべての数値に対応するメッセージがあるわけではありません。 対応するメッセージのない数値を引数として指定すると,F$MESSAGE関数は, NOMSGエラー・メッセージを含む文字列を戻します。

システム・エラー・メッセージについての詳細は, 『OpenVMS System Messages: Companion Guide for Help Message Users』 を参照してください。

引数

状態コード

エラー・メッセージ文を表示したい状態コードを指定します。 状態コードは,整数式として指定します。

メッセージ構成要素リスト

システム・メッセージの構成要素を戻すことを指定します。 パラメータが空または指定されない場合は, すべてのシステム・メッセージの構成要素が戻されます。

システム・メッセージの構成要素に有効なキーワードを 表 12-11に示します。

表 12-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文以降のブロックで行われる他の処理が要求されます。


F$MODE

プロセスが実行されているモードを示す文字列を戻します。 F$MODE関数には引数はありませんが,括弧は指定しなければなりません。

フォーマット

     F$MODE() 

戻り値

会話型プロセスの場合はINTERACTIVEという文字列。プロセスが会話型ではない場合は, BATCH,NETWORK,またはOTHERという文字列が戻されます。 戻される文字列は,常に大文字です。

引数

なし

説明

F$MODEレキシカル関数は, プロセスがじっこうされているモードを示す文字列を戻します。 引き数はとりませんが,括弧は省略できません。

会話型で実行する場合と,非会話型で実行する場合とでは, 別々に処理する必要がある時, コマンド・プロシージャでF$MODE関数を使用すると便利です。 ログイン・コマンド・プロシージャにF$MODE関数, またはF$ENVIRONMENT関数を入れておき, 会話型ターミナル・セッションと非会話型セッションではことなるコマンドを実行するようにしておきます。

ログイン・コマンド・プロシージャにF$MODE関数を含めず, 会話型プロセスから実行されるかどうかを調べていない時に, ログイン・コマンド・プロシージャが非会話型プロセス (たとえばバッチ・ジョブ)から実行されると, コマンド・プロシージャ内に会話型プロセスでのみ使用できるコマンドが含まれている場合は, プロセスが異常終了する可能性があります。

コマンド・プロシージャはF$MODE関数を使用して, 会話型ターミナル・セッションでプロシージャが実行されるかどうか調べることができます。 またF$MODE関数の戻り値に基づいて,制御を移すことができます。

  1. $ IF F$MODE() .NES. "INTERACTIVE" THEN GOTO NON_INT_DEF
    $ INTDEF:         ! Commands for interactive terminal sessions
       .
       .
       .
    $ EXIT
    $ NON_INT_DEF:         !Commands for noninteractive processes
       .
       .
       .
    
    この例では,ログイン・コマンド・ファイルの初めの部分が示されています。 このコマンド・プロシージャは,2つの初期化コマンドがあります。 1つは会話型モードの場合のコマンドで, もう1つは(バッチ・ジョブやネットワーク・ジョブを含む) 非会話型モードの場合のコマンドです。IFコマンドは,F$MODEから戻された文字列が, INTERACTIVEという文字列と,等しいかどうかを調べます。 等しくない場合には,制御はNON_INT_DEFというラベルに分岐します。 等しい場合には,INTDEFというラベルのあとのステートメントが実行され, プロシージャはNON_INT_DEFの前にあるステートメントで終了します。


F$PARSE

ファイル指定を解析し,拡張ファイル指定, またはユーザが指定した特定のファイル指定フィールドを戻します。

フォーマット

     F$PARSE (ファイル指定[,省略時のファイル指定] [,関連ファイル指定]
             [,フィールド] [,解析タイプ]) 

戻り値

他のフィールドも加えて拡張されたファイル指定, または指定したフィールドを含む文字列。 完全ファイル指定を行わなかった場合は,F$PARSE関数は省略時の文字列を戻します。 詳細は説明のセクションを参照してください。

解析中にエラーを検出した場合,F$PARSE関数はたいてい空文字列("")を返します。 たとえば,ファイル指定が間違った構文である場合や, 指定したディスクやディレクトリが存在しない (結果としてファイル指定が論理的に間違っている)場合は,空文字列が返されます。 ただし,フィールド名を指定する,または解析タイプにSYNTAX_ONLYを指定すると, 適切な情報が返されます。

引数

ファイル指定

解析するファイル指定を含む文字列を指定します。

ファイル指定にはワイルドカード文字を使用できます。 この場合,F$PARSEにより戻されるファイル指定もワイルドカード文字を含んでいます。

省略時のファイル指定

省略時のファイル指定を含む文字列を指定します。

ファイル指定引数で省略されているフィールドがあると, 省略時のファイル指定の対応するフィールドで置換されます。 この結果,まだ省略されているフィールドは, 関連ファイル指定引数の対応するフィールドで置換されます。

関連ファイル指定

関連するファイル指定を含む文字列を指定します。

ファイル指定引数と省略時のファイル指定引数の両方で, 省略されているフィールドがあると, 関連ファイル指定の対応するフィールドで置換されます。

フィールド

ファイル指定のフィールド名を含む文字列を指定します。 この引数を指定すると,F$PARSE関数は,ファイル指定の特定の部分を戻します。

次のフィールド名のいずれか1つを指定できます(省略することはできません)。

NODE ノード名
DEVICE 装置名
DIRECTORY ディレクトリ名
NAME ファイル名
TYPE ファイル・タイプ
VERSION ファイル・バージョン番号

解析タイプ

実行される解析タイプを指定します。 省略時の設定では,F$PARSE関数は,ファイル指定で指定したディレクトリが, ファイル指定で指定した装置上に存在するかどうか確認します。 ただし,フィールド引数を指定した場合は, ディレクトリの存在は確認しません。 装置とディレクトリは,引数の1つに明示的に指定できます。 また,省略しても省略時の値として使用されます。

また,省略時の設定でF$PARSE関数は,他の引数として指定されている論理名があると, そのは論理名を変換します。 CONCEALED属性を持つ論理名を検出すると,F$PARSE関数は,反復変換を停止します。

次のキーワードを使用すると, F$PARSE関数がファイル指定を解析する方法を変更できます。

NO_CONCEAL ファイル指定の一部に指定された論理名変換時に,"conceal"属性を無視する。 つまり,隠し論理名が検出されても,論理名変換は終了しない。
SYNTAX_ONLY ファイル指定の構文だけをチェックし, 指定したディレクトリが装置上に確認するかどうかは確認しない。

説明

F$PARSE関数は,RMSサービスの$PARSEを使用して,ファイル指定を解析します。 $PARSEについての詳細は,『OpenVMS Record Management Services Reference Manual』 を参照してください。

F$PARSE関数を使用する場合, 最後に指定した引数の後ろに指定するオプションの引数を省略することができます。 ただし,最後に指定する引数の前(左)に指定するオプションの引数を省略する場合は, プレースホルダーとしてコンマ(,)を入れます。

ファイル指定引数で装置名およびディレクトリ名を省略すると,F$PARSE関数は, まず省略時のファイル指定引数,次に関連ファイル指定引数から, 省略時設定の名前を補います。 どちらの引数からも名前を得られない場合は,現在の省略時の設定を使用します。

ノード名,ファイル名,ファイル・タイプ,またはバージョン番号を省略すると, F$PARSE関数は,まず省略時のファイル指定引数, 次に関連ファイル指定引数から省略時設定を補います (ただし,関連ファイル指定引数からは, バージョン番号を補えない点に注意してください)。 どちらの引数からも名前を与えられない場合は, F$PARSEはこれらのフィールドに空指定を戻します。

  1. $ SET DEF DISK2:[FIRST]
    $ SPEC = F$PARSE("JAMES.MAR","[ROOT]",,,"SYNTAX_ONLY")
    $ SHOW SYMBOL SPEC
      SPEC = "DISK2:[ROOT]JAMES.MAR;"
    
    この例では,F$PARSE関数は,JAMES.MARというファイルの拡張ファイル指定を戻します。 この例では,SYNTAX_ONLYキーワードを指定し,F$PARSE関数は構文だけを調べ, [ROOT]ディレクトリがDISK2に存在するかどうかは調べないよう指定しています。

    省略時の装置とディレクトリは,DISK2:[FIRST]です。 割り当て文の省略時のファイル指定引数に [ROOT]ディレクトリが指定されているので, [ROOT]ディレクトリは出力文字列のディレクトリ名として使用されます。 出力文字列に戻される省略時の装置はDISK2であり, このファイルの省略時のバージョン番号は空文字です。JAMES.MARと ROOTという引数は文字列リテラルなので,引用符("")で囲まなければなりません。

    構文だけの解析をするように指定せず, しかも[ROOT]がDISK2に存在しない場合には,空文字列が戻されます。

  2. $ SET DEFAULT DB1:[VARGO]
    $ SPEC = F$PARSE("INFO.COM",,,"DIRECTORY")
    $ SHOW SYMBOL SPEC
      SPEC = "[VARGO]"
    
    この例では,F$PARSE関数は,INFO.COMというファイルのディレクトリ名を戻します。 引数リストで省略時のファイル指定引数と 関連ファイル指定引数が省略されているので, それぞれの位置にコンマ(,)を指定しなければなりません。

  3. $ SPEC= F$PARSE("DENVER::DB1:[PROD]RUN.DAT",,,"TYPE")
    $ SHOW SYMBOL SPEC
      SPEC = ".DAT"
    
    この例では,F$PARSE関数を使用して,ノード名を含むファイル指定を解析しています。 F$PARSE関数は,DENVERという遠隔ノードの, RUN.DATというファイルのファイル・タイプである,DATを戻します。


F$PID

プロセス識別番号(PID)を戻し, システムのプロセス・リストで現在の位置を指すようコンテキスト・シンボルを変更します。

フォーマット

     F$PID (コンテキスト・シンボル) 

戻り値

システムのプロセス・リストの中の, あるプロセスのプロセス識別番号(PID)を示す文字列。

引数

コンテキスト・シンボル

システムのプロセス・リストを示すポインタを格納するために, DCLが使用するシンボルを指定します。 F$PID関数は,このポインタを使用してPIDを戻します。

シンボルを使用して,コンテキスト・シンボルを指定します。 コマンド・プロシージャ内で最初にF$PID関数を使用する時は, シンボルは未定義のシンボル,空文字列("")が割り当てられたシンボル, またはF$CONTEXT関数で設定されたコンテキスト・シンボルを使用します。

コンテキスト・シンボルが未定義または空文字列が割り当てられた場合は, F$PID関数は,スステムのプロセス・リスト中で, アクセス特権を持つ最初のPIDを戻します。つまり,ユーザがGROUP特権を持ち, コテキスト・シンボルが未定義または空文字列が割り当てられた場合は, F$PID関数は,ユーザのグループで最初のプロセスのPIDを戻します。 ユーザがWORLD特権を持っている場合は,F$PID関数は, リストで最初のプロセスのPIDを戻します。 ユーザがGROUP特権もWORLD特権もない場合は,F$PID関数は, 該当ユーザが所有している最初のプロセスのPIDを戻します。後続のF$PID呼び出しは, ユーザがアクセスしているシステム上の他のプロセスを戻します。

コンテキスト・シンボルがF$CONTEXT関数により設定されている場合, F$PID関数は,F$CONTEXT呼び出しで指定した選択基準に一致する, システムのプロセス・リストで最初のプロセスを戻します。 後続のF$PID呼び出しは,F$CONTEXT関数により設定された選択基準に一致し, ユーザの現在の特権でアクセスできるプロセスのPIDだけを戻します。

説明

F$PID関数は,プロセス識別番号(PID)を戻し, システムのプロセス・リストでの現在の位置を指すようコンテキスト・シンボルを変更します。 システム上のすべてのプロセスを使用することもできますし, F$CONTEXT関数を使用して選択基準を指定することもできます。 F$CONTEXT関数は必須ではありません。

F$PIDが戻すプロセス識別番号(PID)は, ユーザのプロセスが持つ特権に応じて異なります。 ユーザのプロセスがGROUP特権を持っている場合は, グループ内のプロセスのPIDが戻されます。 ユーザのプロセスがWORLD特権を持っている場合は, システム上のすべてのプロセスのPIDが戻されます。いずれの特権も持たない場合は, 該当ユーザが所有しているプロセスのPIDだけが戻されます。

F$CONTEXT関数はF$PID関数がデュアル・アーキテクチャ OpenVMS Clusterシステムのどのノードからもプロセスを検索できるようにします。

最初にF$PIDを使用するときには,未定義なシンボル, 空文字列が割り当てられたシンボル, またはF$CONTEXTで作成したコンテキスト・シンボルを指定してください。 これによりF$PID関数は,ユーザがアクセス権を没, システムのプロセス・リストで最初のPIDを戻します。 また,F$PID関数はコンテキスト・シンボル引数を初期化します。

一度コンテキスト・シンボル引数が初期化されると, 後続のF$PIDは,F$CONTEXTで設定した選択基準を使用して順々にPIDを戻します。 そして,コンテキスト・シンボルがあれば,これを更新します。 次に取り出すPIDが無くなると,空文字列が戻されます。 プロセシ・リストの最後のPIDを戻した後は,F$PID関数は空文字列を戻します。

  1. $ CONTEXT = ""
    $ START:
    $     PID = F$PID(CONTEXT)
    $     IF PID .EQS. "" THEN EXIT
    $     SHOW SYMBOL PID
    $     GOTO START
    
    このコマンド・プロシージャは,F$PID関数を使用して,PIDのリストを表示しています。 割り当てステートメントは,CONTEXTというシンボルを宣言しています。 このシンボルは,F$PID関数に対する コンテキスト・シンボル引数として使用されます。 CONTEXTには空文字列が割り当てられているので,F$PID関数は,アクセス権がある, プロセス・リストで最初のPIDを戻します。

    このコマンド・プロシージャで表示されるPIDは, プロセスの持つ特権に応じて異なります。 GROUP特権を持つ場合には,グループに含まれるユーザのPIDが表示されます。 WORLD特権を持つ場合には,システムのすべてのユーザのPIDが表示されます。 GROUP特権もWORLD特権も持たない場合には, 該当ユーザが所有しているプロセスのPIDだけが表示されます。


F$PRIVILEGE

現在のプロセス特権が,引数に指定されている特権と一致するかどうかに応じて, TRUEまたはFALSEという文字列値を戻します。 特権の肯定形,および否定形のいずれも指定できます。

フォーマット

     F$PRIVILEGE (特権) 

戻り値

TRUEまたはFALSEという値を含む文字列。 priv-states引数にリストされた特権のうち1つでも偽があると, F$PRIVILEGE関数は文字列FLASEを戻します。

引数

特権

特権,またはコンマ(,)で区切られた特権のリストを含む文字列を指定します。 プロセス特権のリストについては,『OpenVMS Guide to System Security』 を参照してください。[NO]ALLを除く,任意のプロセス特権を1つ指定します。

説明

F$PRIVILEGE関数を使用して,ユーザの現在のプロセスに関する特権を識別します。

特権の前に"NO"が付いている場合は,関数がTRUEを戻すよう, その特権は無効になります。 F$PRIVILEGE関数はリストのキーワードをそれぞれチェックし, 1つでも偽があればFALSEを戻します。

  1. $ PROCPRIV = F$PRIVILEGE("OPER,GROUP,TMPMBX,NONETMBX")
    $ SHOW SYMBOL PROCPRIV
      PROCPRIV = "FALSE"
    
    この例では,F$PRIVILEGE関数を使用して,プロセスがOPER特権,GROUP特権,および TMPMBX特権を持っているか,またユーザがNETMBX特権を持っていないかを調べています。

    この例に示されているプロセスは,OPER (オペレータ)特権,GROUP特権, TMPMBX (一時メールボックス)特権, およびNETMBX (ネットワーク・メールボックス)特権のすべてを持っています。 したがって,プロセスがNETMBX特権を持っていますが, priv-stateリストにNONETMBXが指定されているため,FALSEが戻されます。 他の3つのキーワードの論理演算の結果は真ですが,NONETMBXの結果が偽であるため, この式全体は偽であると評価されます。


F$PROCESS

現在のプロセス名文字列を得るために使用します。 F$PROCESS関数では引数は必要ありませんが,括弧は指定しなければなりません。

フォーマット

     F$PROCESS() 

戻り値

現在のプロセス名を示す文字列

引数

なし

  1. $ NAME = F$PROCESS()
    $ SHOW SYMBOL NAME
      NAME = "MARTIN"
    
    この例では,F$PROCESS関数は現在のプロセス名を戻し, その名前が,NAMEというシンボルに割り当てられます。


F$SEARCH

ディレクトリ・ファイルを検索し,指定したファイルの完全ファイル指定を戻します。

フォーマット

     F$SEARCH (ファイル指定[,ストリームid]) 

戻り値

ファイル指定引数に指定したファイルの, 完全な形に拡張されたファイル指定を含む文字列。 F$SEARCH関数が,ディレクトリ内でそのファイルを見つけられない場合は, 空文字列("")を戻します。

引数

ファイル指定

検索するファイル指定を含む文字列を指定します。 装置名またはディレクトリ名を省略する場合には,F$SEARCH関数は, 現在の省略時のディスクおよびディレクトリを,省略時の値として使用します。 しかしF$SEARCH関数は, ファイル名またはファイル・タイプに対して省略時の値を補いません。 バージョン番号を省略する場合には,F$SEARCH関数は, 最高のバージョン番号を持つファイルのファイル指定を戻します。 ファイル指定引数でワイルドカード文字を使用すると, F$SEARCH関数を呼び出すたびに, ファイル指定引数に当てはまる次のフィアル指定が戻されます。 ファイル指定引数に当てはまる最後のファイル指定が戻された後は, 空文字列が戻されます。

ストリームid

検索ストリーム識別番号を示す,正の整数を指定します。

F$SEARCH関数を2回以上使用し, それぞれに異なるファイル指定引数を指定したい場合は, 検索ストリーム識別番号を使用して,それぞれの検索コンテキストを管理します。 コマンド・プロシージャの中でF$SEARCH関数を2回以上使用し, 異なるファイル指定引数を使用する場合には,各検索を別々に識別するために, ストリームid引数を指定します。

ストリームid引数を省略すると,F$SEARCH関数は, 異なるファイル指定引数が指定されるたびに, ディレクトリ・ファイルの先頭から検索を開始します。

説明

F$SEARCHレキシカル関数は,RMSサービスの$SEARCHを呼び出し, ディレクトリ・ファイルを検索し,指定したファイルの完全ファイル指定を戻します。 F$SEARCH関数を使用すると,$SEARCH RMSサービスを使用して, ディレクトリ内のファイルを検索できます。$SEARCHルーチンについての詳細は, 『OpenVMS Record Management Services Reference Manual』を参照してください。

コマンド・プロシージャ内のループでF$SEARCH関数を使用すると, ワイルドカード文字を含むファイル指定引数と一致するファイルすべてのファイル指定を戻すことができます。 F$SEARCH関数が実行されるたびに,ワイルドカード文字を含むファイル指定に一致する, 次のファイル指定が戻されます。 次に戻すファイル指定がなくなると,空文字列が戻されます。 ループ内でF$SEARCH関数を使用する場合は, ファイル指定引数にワイルドカード文字を使用しなければなりません。 ワイルドカード文字を使用しない場合は, F$SEARCH関数は常に同じファイル指定を戻します。

次のいずれかの方法を使用して, 検索ストリームのコンテキストを維持する必要があります。

検索ストリームのコンテキストを維持しない場合は, 異なるファイル指定引数を指定するたびに, ディレクトリ・ファイルの先頭から新しい検索を開始することになります。


注意
レキシカル関数F$SEARCHは, ユーザが指定した選択基準に一致したすべてのファイルを戻すことができます。また, 検索開始時から検索終了時までの間の任意の時点でディレクトリに存在するすべてのファイルを戻すことができます。 検索中に作成,リネーム,または削除されたファイルは,戻されないことがあります。

  1. $ START:
    $     FILE = F$SEARCH("SYS$SYSTEM:*.EXE")
    $     IF FILE .EQS. "" THEN EXIT
    $     SHOW SYMBOL FILE
    $     GOTO START
    
    このコマンド・プロシージャは,SYS$SYSTEMディレクトリにある, すべての.EXEファイルの最新バージョンのファイル指定を表示します (バージョン番号にアスタリスク(*)が使用されていないので, 最新バージョンだけが表示されます)。filespec引数である SYS$SYSTEM:*.EXEは文字列式なので,引用符(" ")で囲んでいます。

    stream-id引数が指定されていないため, F$SEARCH関数は1つの検索ストリームを使用します。 後続のF$SEARCH呼び出しは,同じfilespec引数を使用して,SYS$SYSTEMから .EXEファイルの次のファイル指定を戻します。 各.EXEファイルの最新バージョンが表示された後は,F$SEARCH関数は空文字列を戻し, このプロシージャは終了します。

  2. $ START:
    $    COM = F$SEARCH ("*.COM;*",1)
    $    DAT = F$SEARCH ("*.DAT;*",2)
    $    SHOW SYMBOL COM
    $    SHOW SYMBOL DAT
    $    IF (COM.EQS. "") .AND. (DAT.EQS. "") THEN EXIT
    $    GOTO START
    
    このコマンド・プロシージャは,.COMファイルと .DATファイルの両方の省略時のディスクおよびディレクトリを検索します。 各検索のコンテキストが維持されるように, 各F$SEARCH関数に対してstream-id引数が指定されている点に注意してください。

    最初のF$SEARCH関数は,ファイル・タイプが.COMであるファイルの検索を, ディレクトリ・ファイルの先頭から開始します。.COMファイルが検出されると, 検索コンテキストを維持するためにポインタが設定されます。 F$SEARCH関数をもう一度実行すると, ファイル・タイプが.DATであるファイルの検索を, ディレクトリ・ファイルの先頭から開始します。 このプロシージャがループを実行して,STARTというラベルに戻ると, 各F$SEARCH関数はstream-id引数を使用して, ディレクトリ・ファイルの正しい位置から検索を開始します。 .COMファイルと.DATファイルのすべてのバージョンが戻された後, このプロシージャは終了します。

  3. $ FILESPEC = F$SEARCH("TRNTO""SMITH SALLY""::DBA1:[PROD]*.DAT")
    $ SHOW SYMBOL FILESPEC
      FILESPEC = "TRNTO"smith password"::DBA1:[PROD]CARS.DAT"
    
    この例では,F$SEARCH関数を使用して, 遠隔ノードのファイルのファイル指定を戻しています。アクセス制御文字列は, F$SEARCH関数に対する引数として文字列式の一部で使用されているため, 二重引用符で囲まれています。 文字列式に引用符含める場合は,二重引用符を2つ重ねて指定する必要があります。

    F$SEARCH関数が,アクセス制御文字列を含むノード名を戻す場合は, 実際のユーザのパスワードが"password"という単語に置き換えられます。


F$SETPRV

指定した利用者特権を許可または禁止します。 F$SETPRV関数は,利用者特権を示すキーワードのリストを戻します。 このリストには, F$SETPRV関数が実行される前の指定した特権に関する状態が表示されます。

特権を許可または禁止するためには, 指定された特権を変更できるように設定されていなければなりません。

特権の制限事項についての詳細は,『OpenVMS System Services Reference Manual』の $SETPRVシステム・サービスの説明を参照してください。

フォーマット

     F$SETPRV (特権) 

戻り値

F$SETPRV関数によって変更される前の,プロセス特権を示すキーワードを含む文字列

引数

特権

特権,またはコンマ(,)で区切られた特権のリストを定義する,文字列式を指定します。

プロセス特権のリストについての詳細は,『OpenVMSユーザーズ・マニュアル』 を参照してください。

説明

レキシカル関数F$SETPRVは,$SETPRVシステム・サービスを呼び出し, 指定した利用者特権を許可または禁止します。 $SETPRV関数は,利用者特権を示すキーワードのリストを戻します。 このリストには,F$SETPRV関数が実行される前の指定した特権の状態が表示されます。

特権引数に指定した特権を変更することが許可されているかいないかに関わらず, F$SETPRV特権は,ユーザの現在の特権に関するキーワードを戻します。 ただし,F$SETPRV関数が許可または禁止するのは, 変更することを許可されている特権だけです。

F$SETPRV関数を含むプログラムまたはプロシージャを実行する場合は,F$SETPRV関数が, ユーザのプロセスを適正な特権状態に復元しているかを必ず確認してください。 詳細は,以下の例を参照してください。

  1. $ OLDPRIV = F$SETPRV("OPER,NOTMPMBX")
    $ SHOW SYMBOL OLDPRIV
      OLDPRIV = "NOOPER,TMPMBX"
    
    この例では, プロセスはOPER特権およびTMPMBX特権を変更できる権限が与えられています。 F$SETPRV関数はOPER特権を許可し,TMPMBX特権を禁止します。 さらにF$SETPRV関数は,変更する前のこれらの特権の状態を示すために, NOOPERとTMPMBXというキーワードを戻します。

    特権キーワードのリストは文字列リテラルなので, 引用符("")で囲まなければなりません。

  2. $ SHOW PROCESS/PRIVILEGE
    
    14-DEC-1998 15:55:09.60   RTA1:              User: MACKRILL
    
    Process privileges:
    
    Process rights identifiers:
     INTERACTIVE
     LOCAL
    
    $ NEWPRIVS = F$SETPRV("ALL,NOOPER")
    $ SHOW SYMBOL NEWPRIVS
      NEWPRIVS = "NOCMKRNL,NOCMEXEC,NOSYSNAM,NOGRPNAM,NOALLSPOOL,
          NODETACH,NODIAGNOSE,NOLOG_IO,NOGROUP,NOACNT,NOPRMCEB,NOPRMMBX,
          NOPSWAPM,NOALTPRI,NOSETPRV,NOTMPMBX,NOWORLD,NOMOUNT,NOOPER,
          NOEXQUOTA,NONETMBX,NOVOLPRO,NOPHY_IO,NOBUGCHK,NOPRMGBL,
          NOSYSGBL,NOPFNMAP,NOSHMEM,NOSYSPRV,NOBYPASS,NOSYSLCK,NOSHARE,
          NOUPGRADE,NODOWNGRADE,NOGRPPRV,NOREADALL,NOSECURITY,OPER"
    $ SHOW PROCESS/PRIVILEGE
    
    14-DEC-1998 10:21:18.32   User: MACKRILL      Process ID: 00000F24
                              Node: TOKNOW        Process name: "_FTA23:"
    
    Authorized privileges:
     NETMBX    SETPRV    SYSPRV    TMPMBX
    
    Process privileges:
     ACNT                 may suppress accounting messages
     ALLSPOOL             may allocate spooled device
     ALTPRI               may set any priority value
     AUDIT                may direct audit to system security audit log
     BUGCHK               may make bug check log entries
     BYPASS               may bypass all object access controls
     CMEXEC               may change mode to exec
     CMKRNL               may change mode to kernel
     DIAGNOSE             may diagnose devices
     DOWNGRADE            may downgrade object secrecy
     EXQUOTA              may exceed disk quota
     GROUP                may affect other processes in same group
     GRPNAM               may insert in group logical name table
     GRPPRV               may access group objects via system protection
     IMPERSONATE          may create detached processes
     IMPORT               may set classification for unlabeled object
     LOG_IO               may do logical i/o
     MOUNT                may execute mount acp function
     NETMBX               may create network device
     OPER                 may perform operator functions
     PFNMAP               may map to specific physical pages
     PHY_IO               may do physical i/o
     PRMCEB               may create permanent common event clusters
     PRMGBL               may create permanent global sections
     PRMMBX               may create permanent mailbox
     PSWAPM               may change process swap mode
     READALL              may read anything as the owner
     SECURITY             may perform security administration functions
     SETPRV               may set any privilege bit
     SHARE                may assign channels to non-shared devices
     SHMEM                may create/delete objects in shared memory
     SYSGBL               may create system wide global sections
     SYSLCK               may lock system wide resources
     SYSNAM               may insert in system logical name table
     SYSPRV               may access objects via system protection
     TMPMBX               may create temporary mailbox
     UPGRADE              may upgrade object integrity
     VOLPRO               may override volume protection
     WORLD                may affect other processes in the world
    
    Process rights:
     INTERACTIVE
     LOCAL
    
    System rights:
     SYS$NODE_TOKNOW
    
    $ NEWPRIVS = F$SETPRV(NEWPRIVS)
    $ SHOW PROCESS/PRIVILEGE
    
    14-DEC-1998 16:05:07.23   RTA1:              User: MACKRILL
    
    Process privileges:
     OPER                 operator privilege
    
    Process rights identifiers:
     INTERACTIVE
     LOCAL
    
    
    この例では,DCLコマンドのSHOW PROCESS/PRIVILEGEコマンドを使用して, 現在のプロセスに関する特権を表示しています。 このプロセスには何も特権がありません。

    次に,F$SETPRV関数を使用して,ALLキーワードを処理し, シンボルNEWPRIVSに記録されている各特権の以前の状態を許可します。 次にF$SETPRV関数はNOOPERキーワードを処理し, OPERの以前の状態をNEWPRIVSに記録し,OPER(オペレータ)特権を禁止します。 戻される文字列にOPER特権が2回表示される点に注意してください。 最初はNOOPER,次はOPERと表示されます。

    SHOW PROCESS/PRIVILEGEコマンドを入力すると,現在のプロセスでは, OPER特権を除くすべての特権が許可されていることが表示されます。

    戻される文字列をF$SETPRVのパラメータとして使用すると, プロセスはOPER特権が許可されます。 これはNEWPRIVSシンボルにOPERコマンドが2度表示されたためです。 その結果,F$SETPRVは最初のキーワードNOOPERを検索し,特権を無効にします。 最終的にはNEWPRIVS文字列内の他のキーワードを処理した後,OPERが表示され, OPER特権が許可されます。

    現在の特権環境を保存するためにALLやNOALLを使用する場合は, 次のコマンド・プロシージャを実行して, コマンド・プロシージャのプロセスを変更することをおすすめします。

         $ CURRENT_PRIVS = F$SETPRV("ALL")
         $ TEMP = F$SETPRV("NOOPER")
    

    このプロシージャを使用すると,以前の特権環境に戻すために, コマンド・プロシージャの最後に次のコマンドを指定することができます。

         $ TEMP = F$SETPRV(CURRENT_PRIVS)
    

  3. $ SAVPRIV = F$SETPRV("NOGROUP")
    $ SHOW SYMBOL SAVPRIV
      SAVPRIV = "GROUP"
    $ TEST = F$PRIVILEGE("GROUP")
    $ SHOW SYMBOL TEST
      TEST = "TRUE"
    
    この例では,プロセスにはGROUP特権を変更する権限が与えられていません。 しかし,F$SETPRV関数は,GROUP特権の現在の設定情報を戻します。

    F$PRIVILEGE関数は, プロセスがGROUP特権を持つかどうかを判断するために使用されています。 この関数から戻されたTRUEという文字列は, F$SETPRV関数がこの特権を禁止しようとしたにもかかわらず, プロセスがGROUP特権を持つことを示しています。

  4. $ SHOW PROCESS/PRIVILEGE
    
    14-DEC-1998 15:55:09.60   RTA1:              User: MACKRILL
    
    Process privileges:
     AUDIT                may direct audit to system security audit log
     DOWNGRADE            may downgrade object secrecy
     IMPORT               may set classification for unlabeled object
     UPDATE
    
    これらのプロセスに関する特権はVAX固有の特権であり,OpenVMS VAXシステムの Security Enhancement Service Software (SEVMS)でのみ使用されます。


F$STRING

指定した式に相当する文字列を戻します。

フォーマット

     F$STRING (式) 

戻り値

指定した式に相当する文字列

引数

F$STRING関数によって評価される整数または文字列式を指定します。

整数式を指定した場合は,F$STRING関数は,式を評価した後で文字列に変換し, 文字列を返します。 文字列式を指定した場合は,F$STRINGは式を評価した結果を返します。

整数を文字列へ変換する時,F$STRING関数は10進表現を使用し先行の0は省略します。 負の整数を変換する場合は,F$STRING関数は, 整数を示す文字列の先頭にマイナス記号を付加します。

  1. $ A = 5
    $ B = F$STRING(-2 + A)
    $ SHOW SYMBOL B
      B = "3"
    
    この例で,F$STRING関数は,(-2 + A)という整数式の結果を,数値文字列3に変換します。 まず,F$STRING関数は,(-2 + A)という式を評価します。 シンボルAの値である5は,整数式が評価されるときに自動的に置換されます。

    整数式が評価されたあと,F$STRING関数は, 式から求められた3という整数を文字列の "3" に変換します。 この文字列が,シンボルBに割り当てられます。


F$TIME

現在の日付/時刻を絶対時間形式で戻します。

F$TIME関数には引数がありませんが,括弧は指定しなければなりません。

フォーマット

     F$TIME() 

戻り値

現在の日付と時刻を含む文字列。 戻される文字列は,次の形式の23文字から構成されます。
     dd-mmm-yyyy hh:mm:ss.cc 

現在の日が1〜9の場合は,戻される文字列の最初の文字は空白です。 文字列のうち時刻の部分は,常に文字列位置13, つまり文字列の先頭から12文字のオフセット位置です。

返される文字列の空白を保持するには,等号(=)を使用しなければなりません。 文字列代入演算子(:=)を使用すると,先行する空白文字が除かれます。

引数

なし

  1. $ OPEN/WRITE OUTFILE DATA.DAT
    $ TIME_STAMP = F$TIME()
    $ WRITE OUTFILE TIME_STAMP
    
    この例では,F$TIME関数を使用して,コマンド・プロシージャから作成したファイルに, タイムスタンプを記録する方法を示しています。 OUTFILEはDATA.DATというファイルの論理名で, このファイルは書き込みのためにオープンされています。 F$TIME関数は,現在の日付および時刻文字列を戻し,この文字列を, TIME_STAMPというシンボルに割り当てます。 WRITEコマンドは,日付および時刻文字列をOUTFILEに書き込みます。


F$TRNLNM

論理名を変換し,同値名文字列,または要求されている論理名の属性を戻します。

フォーマット

     F$TRNLNM (論理名[,表] [,索引] [,モード] [,ケース] [,項目]) 

戻り値

指定した論理名の同値名,または属性。 戻される値は,F$TRNLNM関数に指定した引数に応じて,文字列または整数になります。 F$TRNLNM関数は,一致するものがないと空文字列("")を戻します。

引数

論理名

変換される論理名を含む文字列を指定します。

論理名を変換するために, F$TRNLNM関数が検索する論理名テーブル(1つまたは複数)名を含む文字列を指定します。 ここで指定する引数は,論理名テーブルまたは論理名テーブルのリストに変換される, 論理名でなければなりません。

論理名テーブルを指す論理名は, 次に示す論理名テーブルのいずれかで定義しなければなりません。


注意
F$TRNLNM関数を使用した後, CREATE/NAME_TABLEコマンドを使用して論理名テーブルを作成し, それをF$TRNLNMにアクセス可能なプライベート・テーブルにしたい場合は, プライベート・テーブルを含めるよう, テーブル論理名のうちのいずれか1つを再定義しなければなりません。 通常 F$TRNLNM によって検索されるすべてのテーブルを表示するには, 次のコマンドを実行してください。
     $ SHOW LOGICAL/STRUCTURE LNM$DCL_LOGICAL
詳細は,CREATE/NAME_TABLEおよびSHOW LOGICALコマンドの説明を参照してください。


tableパラメータを省略した場合,省略時の設定によりLNM$DCL_LOGICALが使用されます。 つまりF$TRNLNM関数は,論理名LNM$DCL_LOGICALの指す論理名テーブルを検索します。 LNM$DCL_LOGICALが再定義されない限り,F$TRNLNM関数は,プロセス,ジョブ, グループ,システムの論理名テーブルをこの順序で検索し, 最初に一致した同値名を戻します。

索引

論理名が2回以上変換された場合,戻される同値名の数を指定します。 論理名が定義されていると,インデックスは, 名前がリストされた順序で同値名文字列を参照します。

インデックスは0で始まります。 つまり,同値名リストの最初の名前はインデックス0によって参照されます。

索引引数を指定しない場合には,省略時の値として0が使用されます。

モード

変換のアクセス・モードを指定します。アクセス・モードは,USER (省略時の設定), SUPERVISOR,EXECUTIVE,またはKERNELのいずれか1つを含む文字列で指定します。

F$TRNLNM関数は, モード引数で指定したアクセス・モードで作成された論理名の検索を開始します。 一致する論理名が見つけられないと,F$TRNLNM関数は, より内側のアクセス・モードで作成された論理名の検索を行い, 最初に一致したものを戻します。 たとえば,同一名の論理名が2つ定義されていて,1つはUSERアクセス・モードで, もう1つはEXECUTIVEアクセス・モードで作成されたと仮定します。 モード引数にUSERを指定すると,F$TRNLNM関数は, エグゼクティブ・モードではなくユーザ・モードの,論理名の同値文字列を戻します。

ケース

実行される変換のタイプを指定します。 ケース引数は,変換のケースおよび変換がインターロックされるかどうかの両方を制御します。 インターロックされた場合,進行中の任意のクラスタ単位の論理名の修正は, その名前が変換される前に完了します。

ケース引数には, CASE_BLIND (省略時の設定),CASE_SENSITIVE,NONINTERLOCKED (省略時の設定),INTERLOCKED の任意の組み合わせを指定することができます。

CASE_BLINDを指定すると,F$TRNLNM関数は, ケースに関わりなく論理名テーブルで論理名を検索し, 最初に見つかった論理名を変換して戻します。 一致するものが見つからない場合は,この関数は空文字列 ("")を戻します。

CASE_SENSITIVEを指定すると, F$TRNLNM関数は,論理名引数に指定したケースの論理名だけを検索します。 正確に一致するものが見つからないと,F$TRNLNM関数は空文字列("")を戻します。

INTERLOCKED を指定すると,F$TRNLNM 関数は, 進行中のクラスタ単位の論理名のすべての修正が完了するまで実行されません。 続いて一致するものが見つかると,変換の結果が返されます。 一致するものが見つからないと,F$TRNLNM 関数は空文字列("")を戻します。

NOINTERLOCKED を指定すると,F$TRNLNM 関数は直ちに実行されます。 一致するものが見つかると,変換の結果が返されます。 一致するものが見つからないと,F$TRNLNM 関数は空文字列("")を戻します。

項目

指定した論理名に関して,F$TRNLNM関数が戻す情報のタイプを含む文字列を指定します。 次のいずれか1つを指定します。

項目 戻される
タイプ
戻される情報
ACCESS_MODE 文字列 論理名に対応するアクセス・モード。アクセス・モードは, USER,SUPERVISOR,EXECUTIVE,KERNELのいずれか1つ。
CLUSTERWIDE 文字列 論理名がクラスタ単位の論理名テーブルにある場合は TRUE, そうでない場合は FALSE。
CONCEALED 文字列 論理名が作成されたときに,/TRANSLATION_ATTRIBUTES修飾子を指定して, CONCEALED属性を指定した場合はTRUE,そうでない場合はFALSE。 CONCEALED属性は,隠し論理名を作成するために使用される。
CONFINE 文字列 論理名が制限されている場合はTRUE,そうでない場合はFALSE。 論理名が制限されている(TRUE)場合には,論理名はサブプロセスにコピーされない。 論理名が制限されていない(FALSE)場合には, その論理名はサブプロセスにコピーされる。
CRELOG 文字列 CRELOG属性を使用して,$CRELOGシステム・サービスまたは $CRELNMシステム・サービスにより論理名が作成された場合はTRUE, そうでない場合はFALSE。
LENGTH 整数値 指定された論理名に対応する,同値名の長さを戻す。 論理名に複数の同値名が与えられている場合には,F$TRNLNM関数は, インデックス引数によって指定された名前の長さを戻す。
MAX_INDEX 整数値 論理名に対して定義されている最大のインデックスを戻す。 インデックスは,1つの論理名にいくつの同値名が与えられているかを示す。 インデックスは0から始まる。 つまり,インデックス0は,同値名リストの最初の名前を参照する。
NO_ALIAS 文字列 論理名がNO_ALIAS属性を持つ場合はTRUE,そうでない場合はFLASE。 NO_ALIAS属性は,同じ名前を持つ論理名を, より外部のアクセス・モードでは作成できないことを示す。
TABLE 文字列 論理名が,論理名テーブルを指す論理名である場合はTRUE, そうでない場合はFLASE。
TABLE_NAME 文字列 論理名が検出されたテーブル名。
TERMINAL 文字列 論理名が作成されたときに,/TRANSLATION_ATTRIBUTES修飾子を指定して, TERMINAL属性を指定した場合はTRUE,そうでない場合はFALSE。 TERMINAL属性は,論理名が反復変換の対象にならないことを示す。
VALUE 文字列 省略時の設定。指定した論理名に対応する同値名を戻す。 論理名に複数の同値名が与えられている場合は,F$TRNLNM関数は, インデックス引数で指定した名前を戻す。

説明

F$TRNLNMレキシカル関数は,$TRNLNMシステム・サービスを呼び出して論理名を変換し, 同値名文字列,または指定した論理名の要求した属性を戻します。 反復変換は行われません。つまり,一度変換された同値名文字列は, それが論理名であるかどうかチェックされません。

F$TRNLNM関数を使用する場合は, 最後に指定する引数の右側で使用するオプションの引数は省略できます。 ただし,最後に指定する引数の左側で使用するオプションの引数を省略する場合は, プレースホルダとしてコンマ(,)を指定しなければなりません。

コマンド・プロシージャ内でF$TRNLNM関数を使用すると, 論理名の現在の同値名文字列を保存し,後でリストアすることができます。 また,論理名が割り当てられているかどうか確認するために使用することもできます。

  1. $ SAVE_DIR = F$TRNLNM("SYS$DISK")+F$DIRECTORY()
       .
       .
       .
    $ SET DEFAULT 'SAVE_DIR'
    
    この割り当てステートメントは, F$DIRECTORY関数から戻された値とF$TRNLNM関数から戻された値を連結し, その結果である文字列をSAVE_DIRというシンボルに割り当てます。 この場合SAVE_DIRシンボルは, 完全な装置およびディレクトリ名文字列から構成されます。

    SYS$DISKという引数は文字列であるため, 引用符(" ")で囲まれています(コマンド・インタプリタは, 引数が二重引用符で囲まれていない限り,英字から始まるすべての引数を, シンボルまたはレキシカル関数として取り扱います)。 省略可能な引数は指定されていないため,F$TRNLNM関数は省略時の値を使用します。

    コマンド・プロシージャの最後で,もとの省略時のディレクトリにリセットされます。 ディレクトリを元に戻す場合には,シンボル置換を強制的に実行するために, SAVE_DIRというシンボルを一重引用符(' ')で囲まなければなりません。

  2. $ DEFINE/TABLE=LNM$GROUP TERMINAL 'F$TRNLNM("SYS$OUTPUT")'
    
    この例は,コマンド・プロシージャから抜粋した行です。 ここでは,(1) F$TRNLNM関数を使用して,現在の出力装置の名前を判断し, (2)同値文字列に基づいて,グループ論理名テーブルにエントリを作成します。

    SYS$OUTPUTという引数は文字列であるため,二重引用符で囲まなければなりません。

    また,この例では,レキシカル関数が強制的に評価されるようにするために, F$TRNLNM関数自身も一重引用符で囲まなければなりません。 引用符で囲まないと,DEFINEコマンドはレキシカル関数を自動的には評価しません。

  3. $ RESULT= -
    _$ F$TRNLNM("INFILE","LNM$PROCESS",0,"SUPERVISOR",,"NO_ALIAS")
    $ SHOW SYMBOL RESULT
      RESULT = "FALSE"
    
    この例では,F$TRNLNM関数は, 論理名INFILEを定義したプロセス論理名テーブルを検索します。 まず,スーパバイザ・モードで作成された論理名INFILEを検索します。 一致するものがない場合は,エグゼクティブ・モードで作成されたINFILEを検索します。

    一致するものがあった場合は, INFILEという名前がNO_ALIAS属性で作成されたかどうかを判断します。 この例の場合,NO_ALIAS属性は指定されていません。

  4. $ foo=f$trnlnm("FOO","LNM$SYSCLUSTER",,,"INTERLOCKED",)
    

    この例では, 論理名FOOがLNM$SYSCLUSTERテーブル内でINTERLOCKED方式で検索されて変換が実行されます。 すなわち,同一クラスタ内の現在のノード上あるいは別のノード上で進行中のクラスタ単位の論理名のすべての修正は, この変換が実行される前に完了します。 これにより,変換が最新のFOO定義に基づくものであることを保証します。

    ケース変換が指定されていないので,省略時の設定のCASE_BLINDで実行されます。

  5. $ foo=f$trnlnm("FOO","LNM$SYSCLUSTER",,,"INTERLOCKED,CASE_SENSITIVE",)
    

    この例では,CASE_SENSITIVEおよびINTERLOCKED変換の両方を指定します。


F$TYPE

シンボルのデータ・タイプを判断します。 シンボルが整数と等しいと定義されている場合や, シンボルが有効な整数を構成する文字列と等しいと定義されている場合には, INTEGERという文字列が戻されます。

シンボルが有効な整数を構成しない文字列と等しいと定義されている場合には, STRINGという文字列が戻されます。

シンボルが未定義の場合には,空文字列("")が戻されます。

フォーマット

     F$TYPE (シンボル名) 

戻り値

シンボルが整数と等しいと定義されている場合や, シンボルが有効な整数を構成する文字列と等しいと定義されている場合には, INTEGERという文字列が戻されます。 シンボルが,コンテキスト・タイプ引数にPROCESSを指定したF$CONTEXT呼び出し, またはF$PID関数呼び出しにより,シンボルが作成された場合は, 文字列 PROCESS_CONTEXT が戻されます。 シンボルとキーワードCANCELを使用してF$CONTEXTを呼び出すまで, またはF$PIDで空文字列("")を戻すまで,シンボルのタイプは変わりません。

同様に,F$CSID関数で作成されたシンボルに対しては文字列 CLUSTER_SYSTEM_CONTEXT が戻されます。

シンボルがコンテキト・シンボルの場合,表12-12 に示すタイプのいずれか1つが戻されます。

表 12-12 コンテキスト・シンボル・タイプ

シンボル・タイプ シンボルを作成するレキシカル関数
PROCESS_CONTEXT F$PIDまたはF$CONTEXT (PROCESSコンテンキスト・タイプ指定)
CLUSTER_SYSTEM_CONTEXT F$CSID

シンボルが有効な整数を構成しない文字列と等しいと定義されている場合, またはシンボルのタイプがコンテキストではない場合は,文字列STRINGが戻されます。

シンボルが未定義の場合には,空文字列が戻されます。

引数

シンボル名

評価されるシンボル名を指定します。

  1. $ NUM = "52"
    $ TYPE = F$TYPE(NUM)
    $ SHOW SYMBOL TYPE
      TYPE = "INTEGER"
    
    この例では,F$TYPE関数を使用して, NUMというシンボルのデータ・タイプを判断しています。 シンボルNUMには,文字列"52"が割り当てられています。 この文字列は有効な整数を構成するため,F$TYPE関数は文字列INTEGERを戻します。

  2. $ NUM = 52
    $ TYPE = F$TYPE(NUM)
    $ SHOW SYMBOL TYPE
      TYPE = "INTEGER"
    
    この例では,シンボルNUMには,整数の52が割り当てられています。したがって F$TYPE関数は,このシンボルのタイプが整数データ・タイプであることを示しています。

  3. $ CHAR = "FIVE"
    $ TYPE = F$TYPE(CHAR)
    $ SHOW SYMBOL TYPE
      TYPE = "STRING"
    
    この例では,シンボルCHARには文字列FIVEが割り当てられています。 この文字列は有効な整数を構成しないため,F$TYPE関数は, シンボルが文字列値を持つことを示しています。

  4. $ x = F$CONTEXT("PROCESS",CTX,"USERNAME","SMITH")
    $ TYPE = F$TYPE(CTX)
    $ SHOW SYMBOL TYPE
      TYPE = "PROCESS_CONTEXT"
    $ x = F$CONTEXT("PROCESS",CTX,"CANCEL")
    $ TYPE = F$TYPE(CTX)
    $ SHOW SYMBOL TYPE
      TYPE = ""
    
    この例では,context-type引数にPROCESSを指定して F$CONTEXT関数を呼び出してシンボルを作成したので, F$TYPE関数は文字列PROCESS_CONTEXTを戻します。シンボルと selection-item引数にCANCELを指定してF$CONTEXTを呼び出すまで, シンボルが戻すタイプは変わりません。


F$USER

現在の利用者識別コード(UIC)を,名前形式で戻します。 F$USER関数では,引数は使用されませんが,括弧は指定しなければなりません。

フォーマット

     F$USER() 

戻り値

かぎ括弧([])も含めて,現在の利用者識別(UIC)を含む文字列。 UICは,[グループ識別コード,メンバ識別コード]という形式で戻されます。

引数

なし

  1. $ UIC = F$USER()
    $ SHOW SYMBOL UIC
      UIC = "[GROUP6,JENNIFER]"
    
    この例では,F$USER関数は現在の利用者識別コードを戻し, その値をUICというシンボルに割り当てます。


F$VERIFY

プロシージャ・チェック機能が,現在オンになっているのか, オフになっているのかを示す整数値を戻します。 引数を指定する場合,F$VERIFY関数は, プロシージャとイメージのチェック機能をオンまたはオフにすることができます。 指定する引数の有無にかかわらず, F$VERIEY関数のあとに括弧を指定しなければなりません。

フォーマット

     F$VERIFY ([プロシージャ値] [,イメージ値]) 

戻り値

プロシージャ・チェック機能がオフの場合には整数の0が, プロシージャ・チェック機能がオンの場合には整数の1が戻されます。

引数

プロシージャ値

プロシージャ・チェック機能をオフに設定する場合には値が0の整数式を指定し, プロシージャ・チェック機能をオンに設定する場合には値が1の整数式を指定します。

プロシージャ・チェック機能がオンの場合, コマンド・プロシージャの各行は出力装置に出力されますので, コマンド・プロシージャの実行を確認できます。

プロシージャ値引数を指定すると,まず, 現在のプロシージャ・レベルのチェック機能の設定を戻します。 次に,指定した引数にしたがって, コマンド・インタプリタがプロシージャ・チェック機能をオンまたはオフにします。

イメージ値

イメージ・チェック機能をオフに設定する場合には値が0の整数式を指定し, イメージ・チェック機能をオンに設定する場合には値が1の整数式を指定します。

イメージ・チェック機能がオンの場合, コマンド・プロシージャの各行は出力装置に出力されます。

説明

レキシカル関数F$VERIFYは, プロシージャ・チェック機能のオンまたはオフを示す整数値を戻します。 引数を指定すると,プロシージャおよびイメージ・チェック機能を, オンまたはオフにできます。引数の有無に関わらず,括弧は指定しなければなりません。

コマンド・プロシージャ内でF$VERIFY関数を使用すると, 現在のチェック機能の設定を調べることができます。 たとえば,チェック機能の設定を変更する前に現在の設定を保存し, その後その保存値を回復することができます。 また,呼び出し前の設定に関らず,コマンド行の表示(または印刷) を行わないコマンド・プロシージャを書くこともできます。

F$VERIFY関数には,0〜2個の引数を指定できます。 引数を指定しないと,どちらのチェック機能の設定も変更されません。 procedure-value引数のみを指定した場合は, プロシージャ・チェック機能およびイメージ・チェク機能の両方の設定が変更されます。

両方の引数を指定した場合は, プロシージャ・チェック機能およびイメージ・チェック機能は, 別々にオンまたはオフに設定できます。イメージ値引数だけを指定すると, イメージ・チェック機能だけをオンまたはオフにできます。 イメージ値引数だけを指定する場合は, 引数の前にコンマ(,)を指定しなければなりません。

F$ENVIRONMENT関数に, VERIFY_PROCEDUREまたはVERIFY_IMAGE引数を指定することもできます。 F$ENVIRONMENT関数は,どちらの設定状態も返すことができますが, F$VERIFY関数は,プロシージャ・チェック機能の設定のみ返します。

DCLは,F$ENVIRONMENT関数が一重引用符(` ')で囲まれていれば, コメント文字の後にあっても処理します。 これは,DCLがコメント中で行う唯一の例外です。

  1. $ SAVE_PROC_VERIFY = F$ENVIRONMENT("VERIFY_PROCEDURE")
    $ SAVE_IMAGE_VERIFY = F$ENVIRONMENT("VERIFY_IMAGE")
    $ SET NOVERIFY
       .
       .
       .
    $ TEMP = F$VERIFY(SAVE_PROC_VERIFY,SAVE_IMAGE_VERIFY)
    
    この例は,コマンド・プロシージャの抜粋です。 最初の割り当てステートメントは,現在のプロシージャ・チェック機能の設定を, SAVE_PROC_VERIFYというシンボルに割り当てます。 2番目の割り当てステートメントは,現在のイメージ・チェック機能の設定を, SAVE_IMAGE_VERIFYというシンボルに割り当てます。

    次に SET NOVERIFYコマンドは,プロシージャとイメージのチェック機能を禁止します。 このあとで,F$VERIFY関数は,もとの値(シンボルSAVE_PROC_VERIFYおよび SAVE_IMAGE_VERIFYに割り当てられている値)を使用して, チェック機能の設定を元の状態に戻します。シンボルTEMPには, F$VERIFY関数によって変更される前のプロシージャ・チェック機能の設定が含まれています (この例では,TEMPの値は使用されていません)。

  2. $ VERIFY = F$VERIFY(0)
       .
       .
       .
     $ IF VERIFY .EQ. 1 THEN SET VERIFY
    
    この例は,コマンド・プロシージャからの抜粋です。 ここではF$VERIFY関数を使用して,現在のプロシージャ・チェック機能の設定を保存し, プロシージャ・チェック機能とイメージ・チェック機能の両方をオフにしています。 プロシージャ・チェック機能がもともとオンに設定されていた場合には, コマンド・プロシージャの最後で, プロシージャ・チェック機能とイメージ・チェック機能の両方がオンに設定されます。


LIBRARY

Librarianユーティリティを起動します。 Librarianユーティリティはオブジェクト,マクロ,ヘルプ,テキスト, または共有可能イメージ・ライブラリを,作成,修正,あるいは記述します。

Librarianユーティリティについての詳細は, 『OpenVMS Command Definition,Librarian,and Message Utilities Manual』 またはオンライン・ヘルプを参照してください。

フォーマット

     LIBRARY  ライブラリ・ファイル指定 [入力ファイル指定[,...]] 


LICENSE

ライセンス管理ユーティリティを起動します。ライセンス管理ユーティリティは, OpenVMSオペレーティング・システム上のソフトウェアのライセンスを管理します。

ライセンス管理ユーティリティについての詳細は, 『OpenVMS License Management Utility Manual』 またはオンライン・ヘルプを参照してください。

フォーマット

     LICENSE  サブコマンドパラメータ 


LINK

OpenVMSリンカを起動します。 OpenVMSリンカは1つまたは複数のオブジェクト・モジュールを 1つのプログラム・イメージとリンクさせ,そのイメージの実行属性を定義します。

(LINKコマンドを含め)リンカについての詳細は, 『OpenVMS Linker Utility Manual』 またはオンライン・ヘルプを参照してください。

フォーマット

     LINK  ファイル指定[,...] 


LOGINプロシージャ

会話型モードのターミナル・セッションを開始します。

フォーマット

     [Ctrl/C]
 
     [Ctrl/Y]

     [Return] 

説明

LOGINコマンドは存在しません。システムにアクセスする意図を知らせるには, 現在使用中でない端末で,Returnキー,Ctrl/C,またはCtrl/Yを押して知らせます。 システムから,ユーザ名とパスワード(および設定されている場合は第2パスワード) を求めるプロンプトが表示され,ユーザ名とパスワードが確認されます。

ユーザ名を入力した直後に省略可能な修飾子を指定します。 Returnキーを押すと,パスワードを求めるプロンプトが表示されます。

ログイン・プロシージャは,次の機能を実行します。

遠隔またはダイアルアップ回線からシステムにアクセスするユーザに対して, 再試行ファシリティ付きでセットアップされているシステムがあります。 これらのシステムでは,ユーザまたはパスワードを誤って入力した場合に, 再入力できます。ログイン情報を再入力するには,Returnキーを押します。 ユーザ名を求めるプロンプトが,再度表示されます。 ユーザ名を再入力してReturnキーを押すと,情報がシステムへ送信されます。 次に,パスワードを求めるプロンプトが表示されます。 ログイン情報を入力できる回数と試行間隔には制限があります。

修飾子

/CLI=コマンド言語インタプリタ

利用者登録ファイルに登録されている省略時のコマンド言語インタプリタ CLI) を変更するために,別のコマンド言語インタプリタの名前を指定します。 ここで指定するCLIは,SYS$SYSTEMに存在しなければならず, ファイル・タイプはEXEでなければなりません。

コマンド・インタプリタを指定せずに/CLI修飾子を指定した場合, 利用者登録ファイル(UAF)にも省略時のCLIが登録されていなければ, システムは/CLI=DCLという省略時の修飾子を使用します。

/COMMAND[=ファイル指定] (省略時の設定)
/NOCOMMAND

ログ・インしたときに, 省略時のログイン・コマンド・プロシージャを実行するかどうかを制御します。 別のログイン・コマンド・プロシージャの名前を指定するには, /COMMAND修飾子を使用します。 ファイル名だけを指定し,ファイル・タイプを省略する場合には, COMという省略時のファイル・タイプが使用されます。 /COMMAND修飾子だけを指定し,ファイル指定を省略する場合には, 省略時のログイン・コマンド・プロシージャが実行されます。

省略時のログイン・コマンド・プロシージャを実行しない場合には, /NOCOMMAND修飾子を使用します。

/DISK=装置名[:]

ターミナル・セッションで使用するSYS$DISKという論理装置に対応する, ディスク装置の名前を指定します。 この名前を指定することにより,利用者登録ファイル(UAF)に設定されている, 省略時のSYS$DISK装置を変更できます。

/NEW_PASSWORD

パスワードの期限切れの場合と同様に,ログ・イン前にパスワードの変更を要求します。 ログイン後にパスワードを変更したい場合や, パスワードが破られたと感じた時などに使用すれば, 短時間にパスワードを変更できます。

/TABLES=(コマンド・テーブル[,...])
/TABLES=DCLTABLES (省略時の設定)

利用者登録ファイル(UAF)に登録されている省略時の値を変更するために, 別のCLIテーブルの名前を指定します。 このテーブル名は,ファイル指定であると解釈されます。 省略時の装置およびディレクトリはSYS$SHAREで,省略時のファイル・タイプはEXEです。

論理名が使用される場合には,テーブル名指定が, システム論理名テーブルに定義されていなければなりません。

/CLI修飾子がDCLまたはMCRに設定されている場合, /TABLES修飾子は,省略時の値としてそれに対応した正しい値を使用します。 /TABLES修飾子だけを指定し,/CLI修飾子を省略した場合には, ユーザのUAFに指定されているCLIが使用されます。

  1. [Ctrl/Y]
    Username:  MACKRILL
    Password:  <PASSWORD>
    
    Ctrl/Yを押すことで,オペレーティング・システムにアクセスし, そのオペレーティング・システムは, ユーザ名を要求するプロンプトを直ちに表示します。 ユーザ名が正しいかどうかをチェックしたあと,システムは, パスワードを要求するプロンプトを表示しますが, パスワードを入力してもその入力は表示されません。

  2. [Return]
    Username:  HIGGINS/DISK=USER$
    Password: <PASSWORD>
    Welcome to OpenVMS Alpha(TM) Operating System,Version 7.2 on node LR3
      Last interactive login on Tuesday, 18-DEC-1998 08:41
      Last non-interactive login on Monday, 19-DEC-1998 15:43
    
    このAlphaの例では,/DISK修飾子は, このターミナル・セッションに対する省略時のディスクが USER$ になるように指定しています。 SHOW DEFAULTコマンドは,USER$ が省略時のディスクであることを示します。

  3. [Return]
    Username:  HIGGINS/DISK=USER$
    Password: <PASSWORD>
       Welcome to OpenVMS VAX Version 7.2 on node JUPITER
       Last interactive login on Tuesday, 15-DEC-1998 09:16:47.08
       Last non-interactive login on Monday, 14-DEC-1998 17:32:34.27
    $ SHOW DEFAULT
      USER$:[HIGGINS]
    
    このVAXの例では,/DISK修飾子は, このターミナル・セッションに対する省略時のディスクが USER$ になるように指定しています。 SHOW DEFAULTコマンドは,USER$が省略時のディスクであることを示します。

  4. [Ctrl/C]
    Username: LIZA/CLI=MCR/COMMAND=ALTLOGIN.COM
    Password: <PASSWORD>
       Welcome to OpenVMS VAX Version 7.2 on node JUPITER
       Last interactive login on Tuesday, 15-DEC-1998 09:16:47.08
       Last non-interactive login on Monday, 14-DEC-1998 17:32:34.27
    >
    
    /CLI修飾子は,代替のMCRコマンド・インタプリタを使用することを指定しています。 /COMMAND修飾子は,省略時のログイン・コマンド・ファイルの代わりに ALTLOGIN.COMというログイン・コマンド・ファイルが実行されることを指定しています。

    最後の右不等号(>)は,MCRを使用中であり, MCRコマンドの入力を待っていることを示しています。

  5. [Return]
    Username: XENAKIS
    Password: <PASSWORD>
    Password: <PASSWORD>
       Welcome to OpenVMS VAX Version 7.2 on node JUPITER
       Last interactive login on Tuesday, 15-DEC-1998 09:16:47.08
       Last non-interactive login on Monday, 14-DEC-1998 17:32:34.27
    $
    
    2番目のPassword:というプロンプトは,ユーザが第2パスワードを持っており, システムをアクセスするためには, このパスワードを入力しなければならないことを示しています。

  6. [Return]
    Username: JONES
    Password: <PASSWORD>
    User authorization failure
    [Return]
    Username: JONES
    Password: <PASSWORD>
    Welcome to OpenVMS Alpha(TM) Operating System,Version 7.2 on node LR3
        Last interactive login on Tuesday, 15-DEC-1998 09:16:47.08
        Last non-interactive login on Monday, 14-DEC-1998 17:32:34.27
        1 failure since last successful login.
    $
    
    "User authorization failure" というメッセージは, 入力されたパスワードが誤っていることを示しています。 正しくログ・インすることができた場合には, 最後に正しくログインしてから発生した, ログイン失敗の回数を示すメッセージが表示されます。 このメッセージは,ログインを失敗した場合にだけ表示されます。

  7. [Return]
    Username: JOYCE
    Password: <PASSWORD>
    Welcome to OpenVMS Alpha(TM) Operating System,Version 7.2 on node LR3
       Last interactive login on Tuesday, 15-DEC-1998 09:16:47.08
       Last non-interactive login on Monday, 14-DEC-1998 17:32:34.27
       WARNING - Primary password has expired; update immediately.
    $
    
    この例では,第1パスワードが期限切れであることを示す WARNINGメッセージが出力されています。 この場合,ログ・アウト前にSET PASSWORDコマンドでパスワードを再設定しなければ, これ以降はログインできなくなります。

    パスワード変更方法についての詳細は, SET PASSWORDコマンドの説明を参照してください。

  8. [Return]
    Username: MIHALY/NEW_PASSWORD
    Password: <PASSWORD>
    Password: <PASSWORD>
       Welcome  to OpenVMS VAX Version 7.2 on node JUPITER
       Last interactive login on Tuesday, 15-DEC-1998 09:16:47.08
       Last non-interactive login on Monday, 14-DEC-1998 17:32:34.27
       Your password has expired; you must set a new password to log in.
    
          Old password: <PASSWORD>
    
          New password: <PASSWORD>
    
          Verification: <PASSWORD>
    
    この例では,ユーザ名MIHALYの後に/NEW_PASSWORD修飾子を指定しています。 このため,システムは,ログイン直後に新パスワードの設定を強制します。 この時のプロンプトは, コマンド行からSET PASSWORDコマンドを実行した場合のものと同じです。


LOGOUT

会話型モードのターミナル・セッションを終了します。

フォーマット

     LOGOUT 

説明

ターミナル・セッションを終了するには,LOGOUTコマンドを使用しなければなりません。 通常の環境で,LOGOUTコマンドを使用しないで端末の電源を切る, または電話接続を切断すると,ログインしたままになります。

SET HOSTコマンドを使用して遠隔のプロセッサにログインする場合は,通常, LOGOUTコマンドを使用して遠隔のセッションを終了する必要があります。

修飾子

/BRIEF

簡略な形式のログアウト・メッセージを出します。コマンド・インタプリタは, ログアウトする時にユーザ名と日付,および時刻を表示します。

/FULL

詳細な形式のログアウト・メッセージを出します。/FULL を指定すると, コマンド・インタプリタは,ターミナル・セッションの会計情報の要約を表示します。 バッチ・ジョブの省略時の設定は,/FULLです。

/HANGUP
/NOHANGUP

公衆電話回線を使用したターミナルの場合に,ログアウトしたあと, 電話を切るかどうかを指定します。 省略時には,ターミナル・ポートに対する/HANGUP修飾子の設定が, 電話を切るかどうかを決定します。 この修飾子を使用できるかどうかは,システム管理者によって設定されます。

  1. $ LOGOUT
      MACKRILL    logged out at 14-DEC-1998 17:48:56.73
    
    このLOGOUTコマンドでは,省略時の簡略メッセージ形式が使用されています。 したがって,会計情報は表示されません。

  2. $ LOGOUT/FULL
      MACKRILL    logged out at 14-DEC-1998 14:23:45.30
    Accounting information:
    Buffered I/O count:       22     Peak working set size:     90
    Direct I/O count:         10     Peak virtual size:         69
    Page faults:              68     Mounted volumes:            0
    Charged CPU time: 0 00:01:30.50  Elapsed time:      0 04:59:02.63
    Charged vector CPU time: 0 00:00:21.62
    
    このLOGOUTコマンドは,/FULL修飾子を指定しているので, このターミナル・セッションの会計情報の要約を表示します。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]