文字列および現在のプロセスに関する属性の情報を戻す関数です。
通常,シンボルまたは式を使用するコンテキストであれば, 任意コンテキストでレキシカル関数を使用できます。 コマンド・プロシージャでは, レキシカル関数を使用して論理名の変換,文字列操作の実行, およびプロシージャを処理しているノードの判別を行うことができます。
次に標準的な形式を示します。
F$function-name([args,...])
F$ | レキシカル関数が後に続くことを示します。 |
function-name | 関数を評価することを指定するキーワード。 一意に認識できれば,関数名は省略できます。 |
() | 必要であれば,引数を囲みます。 引数をとらない関数を含め,すべての関数で括弧は必要です。 |
args,... | 必要であれば,整数または文字列式を使用して引数を指定します。 |
式の指定についての詳細は,『OpenVMSユーザーズ・マニュアル』を参照してください。
表 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$PID関数とともに使用し,その選択基準を指定します。 F$CONTEXT関数を使用すると,F$PID関数は OpenVMS Cluster内の任意のノードからプロセス情報を取得できるようになります。
F$CONTEXT (コンテキスト・タイプ, コンテキスト・シンボル, 選択項目, 選択値, 値修飾子)
現在使用できるコンテキスト・タイプはPROCESSだけです。 これは,F$PIDに対する選択基準を決めるために使用します。 同一UICグループ内の別のUICのプロセスを見る場合は,GROUP特権が必要です。 システム全体のUICのプロセスを見る場合は,WORLD特権が必要です。
シンボルを使用してコンテキスト・シンボルを指定してください。 コマンド・プロシージャ内で最初にF$CONTEXTを使用するときには, 未定義または空文字列が割り当てられたシンボルを指定してください。 シンボルは"PROCESS_CONTEXT"タイプでローカル・シンボルをして作成されます。 コンテキストが無効になった場合(つまりF$PIDですべてのPIDを検索したか, または,その実行時にエラーが発生した場合)は, シンボルのタイプは "PROCESS_CONTEXT" ではなくなっています。 コンテキストをキャンセルする場合は, コマンド・プロシージャ内でF$TYPE関数を使用して検索できます。
選択基準を設定した後でF$PIDを呼び出す場合は, このコンテキスト・シンボルを使用します。
- 注意
- 項目のリストを使用する場合は,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 | ユーザ名(またはそのリスト)。 アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できる。 |
$ 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関数は,基準を作るときは何度でも呼び出せます。 ただし,1回の呼び出しにつき1つの項目しか指定できません。 項目値リストが適切な位置に与えられれば, 複数のコンテキストを同時に操作することができます。
適切な呼出しで選択基準を設定したら,F$PIDを繰り返し呼出して, F$CONTEXT関数で指定した基準と合う全てのプロセス識別番号(PID)を戻します。 基準と合うプロセスが無くなると,空文字列が戻されます。
F$PID関数が呼び出されると,コンテキスト・シンボルは"frozen"とみなされます。 つまり,対応する選択基準が削除されるまで, 同じコンテキスト・シンボルではF$CONTEXTを再び呼び出すことができません。 同じコンテキスト・シンボルに追加の選択基準を設定しようとすると, エラー・メッセージが表示されますが, コンテキストと選択基準には影響しないため F$PID関数の呼出しは続けることができます。
F$CONTEXTは,プロセス・メモリを使用して選択基準を格納します。 ある2つの状況では,このメモリが削除されます。 F$PID関数を呼出して空文字("")が戻されたとき, つまり選択基準に合う全てのプロセスが戻された場合と, 呼出しの際にCANCELというキーワードをコンテキストとともに使用した場合です。 このタイプの呼出しはCtrl/Y操作や他の条件処理ルーチンに適しています。
$!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実行中にエラーが起きたかプロセス・リストが全て使用されたか, のいずれかです。
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 がないプロセス)を戻すことに相当します。
OpenVMS Clusterシステムから識別番号を戻し, システムのノード・リストの中で現在の位置を示すように, コンテキスト・シンボルを変更します。
F$CSID (コンテキスト・シンボル)
シンボルを使用してコンテキスト・シンボル引数を指定します。 最初にF$CSIDを呼び出す時は, 指定したシンボルは未定義または空文字列でなければなりません。
コンテキスト・シンボル引数が未定義または空文字列の場合, F$CSID関数は,システムのノード・リストの最初のシステムの識別番号を返します。 これ以降の呼出しでは,残りのクラスタ内のノードの識別番号がが順次返されます。
現在使用しているシステムがクラスタのメンバではない場合は, 最初の戻り値は空文字です。
F$CSID関数を使用すると,システム上のすべてのクラスタ識別番号を取り出せます。 F$GETSYI関数を使用すると,特定のノードの情報を取り出せます。
最初のF$CSID関数呼出しで,コンテキスト・シンボル引数が初期化され, 後続のF$CSID関数呼出しはクラスタ内の他のノードのクラスタ識別番号を戻します (クラスタ識別番号は,ランダムな順序で戻されます)。 リスト内の最後のクラスタ識別番号を戻した後は,空文字列が戻されます。
$ 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 (開始ビット,ビット数,文字列)
負の値を持つ式を指定した場合や, 文字列のビット数を越える値を持つ式を指定した場合には, DCLはINVRANGEというエラー・メッセージを表示します。
負の値を持つ式を指定した場合や,ビット位置オフセットに加算したときに, 値が無効になる式を指定した場合には, DCLはINVRANGEというエラー・メッセージを表示します。
$ 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に割り当てられます。
$ 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に値を割り当てていません。
絶対時刻,または複合時刻文字列を yyyy-mm-dd hh:mm:ss.cc という形式の文字列に変換します。またF$CVTIME関数は,絶対時刻, デルタ時間,またはそれらの組み合せの文字列に関する情報も戻します。
F$CVTIME ([入力時刻][,出力時刻形式][,フィールド])
時刻値の指定についての詳細は,『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を指定する場合には, 入力時刻引数に対してもデルタ時間を指定しなければなりません。 |
曜日が戻される場合は,最初の文字は大文字でそれ以降の文字は小文字です。
絶対時刻,または複合時刻形式で入力時刻引数を指定した場合は, 出力時刻形式引数としてABSOLUTEやCOMPARISONは指定できますが, DELTAは指定できません。
デルタ時間形式で入力時刻引数を指定した場合は, 出力時刻形式引数としてDELTAを指定しなければなりません。
$ 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
$ NEXT = F$CVTIME("TOMORROW",,"WEEKDAY") $ SHOW SYMBOL NEXT NEXT = "Tuesday"この例では,F$CVTIME関数は "TOMORROW" という絶対時刻キーワードに対応する曜日を戻します。 "TOMORROW"と"WEEKDAY"という引数は,引用符で囲まなければなりません。 これらの引数は,文字列式だからです。また,省略する出力時刻形式引数に対しては, 省略したことを示すために,プレースホルダとしてコンマを指定しなければなりません。
文字データからビット・フィールドを取り出し, その結果を符号なし値として整数に変換します。
F$CVUI (開始ビット,ビット数,文字列)
負の値を持つ式や,文字列に含まれるビット数を越える値を持つ式を指定した場合, DCLはINVRANGEというエラー・メッセージを表示します。
負の値を持つ式を指定した場合や, ビット位置オフセットに加算すると誤った値になる式を指定した場合は, DCLはINVRANGEというエラー・メッセージを表示します。
$ 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 ([検索する装置名],[装置クラス],[装置タイプ],[ストリームid])
検索する装置名引数は,文字列式として指定します。
- 注意
- 装置クラスを指定せずに装置タイプを指定すると,エラーになります。
F$DEVICE関数を2回以上使用し,異なる選択基準引数を指定する場合, 検索ストリーム識別番号を使用して,それぞれの検索コンテキストを管理します。 コマンド・プロシージャの中で,F$DEVICE関数を2回以上使用し, 異なる選択基準指定引数を指定した場合には,各検索を別々に識別するために, ストリームid引数を指定しなければなりません。
装置名リストを最後まで読み出す前に選択基準を変更した場合は, コンテキストは再初期化され検索はまた先頭から開始されます。
ストリーム id引数を省略すると, F$DEVICE関数は検索ストリームが1つであると解釈します。 つまり,異なる選択基準引数を指定するたびに,先頭から検索を開始します。
F$DEVICE関数では,装置名に基づいた検索に限り, アスタリスク(*)およびパーセント記号(%)ワイルドカード文字を使用できます。 装置クラス,または装置タイプを指定する場合は, 有効な文字列式を指定しなければなりません。
コマンド・プロシージャのループ内でF$DEVICE関数を使用して, 指定した選択基準に対応する装置名を戻すことできます。 F$DEVICE関数を実行する毎に,基準に合った次の装置名を戻します。 装置名はランダムな順序で戻されます。 基準にあった装置をすべて戻すと,F$DEVICE関数は空文字列を戻します。
明示的に(ストリーム id引数を指定して), または暗黙に(ストリーム id引数を省略して), 検索文字列のコンテキストを管理しなければなりません。 どちらの場合も,同一のストリーム(明示的あるいは暗黙的)で F$DEVICEシステム・サービスを実行する毎に同じ選択基準を指定しなければなりません。
$ 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 ()
$ 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 (文字列,編集リスト)
編集 | 操作 |
---|---|
COLLAPSE | すべてのスペースとタブを文字列から削除します。 |
COMPRESS | 複数のスペースとタブを1つのスペースに変換します。 |
LOWERCASE | 文字列を小文字に変換します。 |
TRIM | 先行スペースとタブ,および後続のスペースとタブを文字列から削除します。 |
UNCOMMENT | コメントを文字列から削除します。 |
UPCASE | 文字列を大文字に変換します。 |
2つ以上のキーワードを指定する場合は,コンマ(,)で区切ります。 キーワードを短縮することはできません。
文字列の中で引用符で囲まれた部分には,編集は適用されません。 したがって,文字列に引用符(" ")が含まれている場合には, 引用符で囲まれている文字は編集リストに指定されている編集の影響を受けません。
- 注意
- 編集リストにLOWERCASEと同時にUPCASEを指定した場合,UPCASEが優先されます。
$ 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という単語を囲んだままになります。
$ LOOP: $ READ/END_OF_FILE = DONE INPUT_FILE RECORD $ RECORD = F$EDIT(RECORD, "TRIM,UPCASE") $ WRITE OUTPUT_FILE RECORD $ GOTO LOOP . . .この例では,ファイルからレコードを読み込み,編集し, 出力ファイルに書き込むという作業を繰り返すためのループが設定されています。 編集後のレコードからは,先行ブランクと後続のブランクが削除されており, 文字列は大文字に変換されています。
$ UNCOMMENT_LINE = F$EDIT("$ DIR ! THIS IS THE COMMENT", "UNCOMMENT") $ SHOW SYMBOL UNCOMMENT_LINE $ UNCOMMENT_LINE = "$ DIR"この例ではコメントを削除するためにF$EDIT関数を使用しています。
指定した区切り文字で区切られた要素で構成される文字列から, 1つの要素を取り出します。
F$ELEMENT (要素番号,区切り文字,文字列)
$ 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というラベルに移ります。
$ ! 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を実行し, 指定した区切り文字を呼び出すまでプロセスは続きます。
DCLコマンド環境に関する情報を戻します。
F$ENVIRONMENT (項目)
項目 | データ・ タイプ |
戻される情報 |
---|---|---|
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コマンド行を表示します。 |
$ SAVE_MESSAGE = F$ENVIRONMENT("MESSAGE") $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION . . . $ SET MESSAGE'SAVE_MESSAGE'この例では,F$ENVIRONMENT関数を使用して,現在のメッセージ設定を変更する前に, その設定を保存します。 コマンド・プロシージャの最後で,もとのメッセージ設定が復元されます。 SAVE_MESSAGEというシンボルを囲む一重引用符(' ')は, そのシンボル名を値と置き換えるように指定しています。
$ MAX = F$ENVIRONMENT("MAX_DEPTH") $ SHOW SYMBOL MAX MAX = 32 Hex = 00000020 Octal = 00000000040この例では, コマンド・プロシージャ内で可能な最大のネスティングの深さを判断するために, F$ENVIRONMENT関数を使用しています。
$ 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 (開始,長さ,文字列)
オフセットは文字の相対位置,または文字列の先頭の部分文字列です。 オフセット位置は0から始まります。文字列は,常に左端の文字から始まります。
文字列の長さ以上のオフセットを指定した場合には,空文字列("")を戻します。
オフセットから文字列の最後までの文字数より大きな値の長さを指定すると, オフセットから文字列の最後までの文字を戻します。
$ NAME = "BRIAN MACKRILL" $ FIRST = F$EXTRACT(0,5,NAME) $ SHOW SYMBOL FIRST FIRST = "BRIAN"この例はコマンド・プロシージャの一部であり, シンボルNAMEに割り当てられた文字列から最初の5文字を取り出すために, F$EXTRACT関数を使用しています。 オフセット引数と長さ引数は整数であり,文字列引数はシンボルです。 レキシカル関数に対する引数として整数やシンボルを使用する場合には, これらを引用符(" ")で囲む必要はありません。
$ 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関数を使用します。
$ 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関数を使用する方が,上記の例に示されている方法に比べ簡単です。
$FAOシステム・サービスを呼び出し,指定された制御文字列を, ASCII形式に整えられた出力文字列に変換します。 書式を指定して,整数値を文字列に変換したり, キャリッジ・リターンやフォーム・フィードを挿入したり, テキストを挿入したりできます。
F$FAO (制御文字列[,引数[,...]])
F$FAO関数は,FAOディレクティブを使用して,ASCII形式のデータを変更したり, 制御文字列中の固定テキストに割り当てたりします。
表 12-2 は制御文字中で指定するFAOディレクティブを示しています。
FAOディレクティブは1つまたは複数の引数を必要とすることがあります。 その順序は,制御文字列のものと正確に一致しなくてはなりません。 そうでない場合でも,エラー・メッセージは出力されません。
対応するディレクティブに対して指定可能なタイプ(整数または文字列) ではない引数を指定すると,予測できない結果が戻されます。 F$INTEGERやF$STRINGを使用して適当な型に変換してください。
引数に不足がある場合,F$FAOは引数リストを越えて読もうとします。 そのため,制御文字列のディレクティブに一致する引数を必ず指定してください。
対応するディレクティブに対して指定可能なタイプ(整数または文字列) ではない引数を指定すると, コマンドが実行されなかったという予測できないエラーになります。 このエラーは,$FAOシステム・サービスからのものそのままです。
以下のフォーマットを使用して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』を参照してください。
ディレクティブ | 引数の型 | 説明 |
---|---|---|
文字列挿入: | ||
!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ディレクティブは複数の文の終わりを示します。
$ 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というシンボルに割り当てます。
$ 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" という文字列が作成されます。
$ 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というシンボルに割り当てられます。
$ 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 (ファイル指定,項目)
ファイル名は,1つしか指定することができません。 ファイル指定の中で,ワイルドカード文字を使用することはできません。
項目 | データ・ タイプ |
戻される情報 |
---|---|---|
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』を参照してください。
$ 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引数は, 文字列リテラルであり,式の中で使用するときは二重引用符で囲まなければなりません。
$ RFM = F$FILE_ATTRIBUTES("KANSAS::USE$:[CARS]SALES.CMD","RFM") $ SHOW SYMBOL RFM RFM = "VAR"この例では,遠隔ノードのファイルに関する情報を戻すために, F$FILE_ATTRIBUTES関数が使用されています。 この関数は,VARというレコード形式文字列を戻します。 これはレコード形式が可変長レコードであることを示します。
$GETDVIシステム・サービスを起動し, 指定された装置に関する指定された情報を戻します。
F$GETDVI (装置名,項目)
装置名が評価されると,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』を参照してください。
項目 | データ・ タイプ |
戻される情報[1] |
---|---|---|
ACPPID | 文字列 | 補助制御プロセス(ACP)識別 |
ACPTYPE | 文字列 | ACP タイプ・コード。
F11V1,F11V2,F11V3,F11V4,F11V5,F64,HBS,JNL,MTA,NET,REM,UCX,ILLEGAL のいずれか。
次の場合は,ACPTYPE 項目には ILLEGAL が返される。
|
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に示します。
値 | 装置クラス | シンボル名 |
---|---|---|
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に示します。
値 | 装置タイプ | 値 | 装置タイプ |
---|---|---|---|
装置クラス: 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 | 13 | XI_DR11C |
6 | PCL11T | 14 | XA_DRV11WA |
7 | DR11C | 15 | DRB32 |
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 | UDA50A | 26 | KFSQSA |
5 | LESI | 26 | KFQSA |
6 | TU81P | 27 | SHAC |
7 | RDRX | 28 | CIXCD |
8 | TK50P | 29 | N5380 |
9 | RUX50P | 30 | SCSII |
10 | RC26P | 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 |
$ ERR = F$GETDVI("_DQA0","ERRCNT") $ SHOW SYMBOL ERR ERR = 0 Hex = 00000000 Octal = 000000この例は,DQA0という装置のエラー回数を調べるために, F$GETDVI関数を使用する方法を示しています。 DQA0という装置名とERRCNTという項目は, 文字列リテラルなので引用符で囲まなければなりません。
指定されたコンソール環境変数の値を戻します。
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
$ dump_device = f$getenv("dump_dev") $ write sys$output "The dump device for this system is ", dump_deviceこの関数は,システムのダンプ装置を表示します。
$GETJPIシステム・サービスを呼出し,指定されたプロセスに関する情報を戻します。
同じグループ内の他のプロセスに関する情報を得るためには,GROUP特権が必要です。 システム内の他のプロセスに関する情報を得るためには,WORLD特権が必要です。
F$GETJPI (pid,項目)
空文字列を指定すると,現在のプロセスに対する操作となります。
$GETJPIシステム・サービスではpid引数にワイルドカード文字を使用できますが, F$GETJPI関数では使用できません。 プロセスの識別番号の一覧を得るには,F$PID関数を使用します。
ターゲット・プロセスが中断されている,またはMWAIT (資源待ち)状態の場合, F$GETJPIレキシカル関数は,ゼロまたは空文字列を戻します。 また,要求された項目は,プロセスの仮想アドレス空間に格納されます。
F$GETJPI関数を使用すると, プロセスが自動的にファイルをアンシェルブするかどうかが分かります。
STS2項目コードを指定すると,F$GETJPIは32ビットの数値を戻します。 この数値を2進形式に変換すると, シンボル・ビット位置PCB$V_NOUNSHELVEの数字により, 省略時の設定でアンシェルブするかどうかが分かります。 このビットが1であれば,自動アンシェルブはオフになり, このビットが0であれば,自動アンシェルブがオンになります。
F$GETJPI関数に指定する項目,戻される情報,およびその情報のデータ・タイプを 表 12-7に示します。
項目 | データ・ タイプ |
戻される情報 |
---|---|---|
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 |
$ NAME = F$GETJPI("3B0018","USERNAME") $ SHOW SYMBOL NAME NAME = "JANE "この例は,F$GETJPI関数を使用して, 3B0018というプロセス番号の利用者名を得る方法を示しています。 利用者名には,NAMEというシンボルが割り当てられます。
$GETQUIシステム・サービスを呼び出し,キューに関する情報を戻します。 これらの情報にはバッチ・キューおよびプリント・キューに登録されるジョブ, フォーム定義,およびキュー・データベースに保存されている属性定義が含まれます。
キュー・マネージャについての情報も戻します。
ほとんどの操作では,読み込み(R)アクセス権が必要です。
F$GETQUI (機能, [項目], [オブジェクトid], [フラグ])
関数 | 説明 |
---|---|
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) |
後続の呼び出しで,オブジェクトid引数としてワイルドカードを指定すると, 特定のキューに登録されてる1つまたは複数ジョブ, または特定のキューに登録されているジョブのファイルの状態情報を得ることができます。 名前にワイルドカード文字を使用した場合は, 各呼び出しはリストで次のオブジェクト(キュー,フォームなど)の情報を返します。 リストの最後に達した場合は,空文字列("")を返します。 ワイルドカードが使用できるのはオブジェクト名だけで, オブジェクト番号には使用できません。
キーワード | 有効な関数コード | 説明 |
---|---|---|
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システム・サービスで指定されたすべての項目の情報を戻します。 $GETQUIレキシカル関数に指定する項目,戻される情報, およびその情報のデータ・タイプを 表 12-9に示します。
項目 | データ・ タイプ |
戻される情報 |
---|---|---|
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_DELETE FILE_DOUBLE_SPACE FILE_FLAG FILE_PAGE_HEADER FILE_PAGINATE FILE_PASSALL FILE_TRAILER |
FILE_IDENTIFICATION[1] | 文字列 | 選択したファイルを一意に識別する内部ファイル識別値。
以下のRMS NAMブロックの3ファイル識別フィールドを順に指定する。
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_EXECUTING |
FILE_TRAILER | 文字列 | ファイルに続いてトレーラ・ページがプリントされる場合はTRUE, そうでない場合はFALSEを戻す。 |
FIRST_PAGE[1] | 整数値 | 指定したファイルのプリントを始めるページ番号。 出力実行キューでのみ適用される。 |
FORM_DESCRIPTION | 文字列 | ユーザおよびオペレータに,指定したフォームを示すテキスト文字列。 |
FORM_FLAGS | 整数値 | 指定フォームのために選択された処理オプション。
フィールドの各ビット設定を確認するためには,
FORM_FLAGSのかわりに次の項目のいずれか1つを使用する。
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_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操作は,
次の出力値項目コードの情報のみ戻す。
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_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_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_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_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_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)アクセス権が必要です。 |
$ BLOCKS = F$GETQUI("DISPLAY_ENTRY" ,"JOB_SIZE",1347)この例では,プリント・ジョブ1347のブロック・サイズを得るために F$GETQUIレキシカル関数が使用されています。F$GETQUIが戻す値は, プリント・ジョブ1347に関連するファイルが占有している総ブロック・サイズです。
$ IF F$GETQUI("DISPLAY_QUEUE", "QUEUE_STOPPED", "VAX1_BATCH") .EQS. "TRUE" THEN GOTO 500この例では,F$GETQUIレキシカル関数を使用して VAX1_BATCHキューが停止状態かどうかを調べています。 VAX1_BATCHが停止状態であればTRUE,そうでなければFALSEが戻されます。 VAX1_BATCHキューがシステムに存在しない場合は,空文字列("")が戻されます。
! 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は,一致するオブジェクトがこれ以上ないことを示すために, 空文字列 ("")を戻します。
$ 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エラー処理を以前の設定にリストアします。
$GETSYIシステム・サービスを呼び出し, ローカル・システム(デュアル・アーキテクチャのOpenVMS Clusterの場合は, ローカル・ノード)に関する状態情報と識別情報を戻します。
F$GETSYI (項目[,ノード名] [,クラスタid])
また,『OpenVMSシステム管理ユーティリティ・リファレンス・マニュアル』 に示すシステム・パラメータも指定することができます。
クラスタ内のすべてのノードの情報を取得するには, F$CSIDレキシカル関数を使用して各クラスタ・システム識別番号を取得し, F$GETSYIのクラスタid引数を使用して各ノードの情報を集めます。
ノード名またはクラスタid引数を指定すると, 情報を得るノードを指定することができます。 ただし,これらの引数を同時に指定することはできません。
F$GETSYIレキシカル関数に指定できる項目を表 12-10に示します。
項目 | データ・ タイプ |
戻される情報 |
---|---|---|
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のみ |
$ SYSID = F$GETSYI("SID") $ SHOW SYMBOL SYSID SYSID = 19923201 Hex = 01300101 Octal = 000401この例では,F$GETSYI関数を使用して, システム識別レジスタの情報を戻す方法を示しています。 SID引数は文字列リテラルなので,引用符(" ")で囲まれています。 F$GETSYI関数から戻される値は,SYSIDシンボルに割り当てられます。 ノードは指定されていないため,現在のノードに関する情報が戻されます。
$ MEM = F$GETSYI("CLUSTER_MEMBER", "LONDON") $ SHOW SYMBOL MEM MEM = "TRUE"この例では,F$GETSYI関数を使用して, LONDONノードがローカル・クラスタのメンバーであるかどうかを調べています。 戻り値TRUEは,遠隔ノードLONDONがクラスタのメンバであることを示します。
$ LIM = F$GETSYI("BJOBLIM") $ SHOW SYMBOL LIM LIM = 16 Hex = 00000010 Octal = 00000000020この例では,SYSGENパラメータであるBJOBLIMが, F$GETSYI関数に対する引数として使用されています。 この引数は,現在のシステムのバッチ・ジョブ制限値を戻します。
英数字の識別子を,それに相当する整数に変換します。 または,その逆の操作を実行します。 識別子は,ユーザのカテゴリを識別するための名前または番号です。 システムは,この識別子を使用して,資源に対する利用者のアクセス権を判断します。
F$IDENTIFIER (識別子,変換タイプ)
Name Hidden属性を持つ識別子の場合,質問に識別子がない場合, または権利データベースへの読み込みアクセス権がない場合, F$IDENTIFIERはエラーになります。 属性についての詳細は,『OpenVMS Guide to System Security』を参照してください。
$ 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]と同値です。
$ 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関数は整数値を戻します。 評価した結果の文字列に,有効な整数を形成する文字が含まれていない場合は, 文字列がT,t,Y,またはyで始まっているとF$INTEGER関数は1を戻します。 文字列は他の文字で始まる場合は,F$INTEGERは0を戻します。
$ 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 (文字列)
$ 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になります。
文字列に含まれる特定の部分を探し,最初の文字のオフセットを整数値で戻します。 オフセットとは,文字列の先頭を基準にした文字(1文字または部分文字列)の位置です。 オフセットとは,文字列の開始位置を基準にして,文字, または部分文字列までの位置を示します。 文字列の1文字目は,常に文字列の先頭からオフセット0の位置にあります。
部分文字列が見つからないと,F$LOCATE関数は,検索文字列の長さ (文字列の最後の文字のオフセットに1を加算した値)を戻します。
F$LOCATE (部分文字列,文字列)
$ FILE_SPEC = "MYFILE.DAT;1" $ NAME_LENGTH = F$LOCATE(".",FILE_SPEC)この例では,F$LOCATE関数は,文字列の先頭を基準にした, 文字列中のピリオド(.)の位置を戻します。 ピリオドはオフセット6の位置に存在するため, 6という値がシンボルNAME_LENGTHに割り当てられます。 また,NAME_LENGTHは,MYFILE.DATというファイル指定のファイル名の部分の長さ, つまり6に等しくなります。
部分文字列引数であるピリオドは,文字列リテラルとして指定されているので, 引用符(" ")で囲まれています。 しかし,FILE_SPEC引数はシンボルであるため,引用符で囲む必要はありません。 このシンボルは,関数を処理しているときに,自動的に現在の値に置き換えられます。
$ 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は,引用符で囲む必要はありません。 これは,文字列式として自動的に評価されるためです。
特定のシステム状態コードに対応するファシリティ,重要度,ID, およびテキストを,文字列として戻します。
F$MESSAGE (状態コード[,メッセージ構成要素リスト])
各システム・メッセージ・ファイルは,数値または値の範囲に対応づけられています。 ただし,必ずしもすべての数値に対応するメッセージがあるわけではありません。 対応するメッセージのない数値を引数として指定すると,F$MESSAGE関数は, NOMSGエラー・メッセージを含む文字列を戻します。
システム・エラー・メッセージについての詳細は, 『OpenVMS System Messages: Companion Guide for Help Message Users』 を参照してください。
システム・メッセージの構成要素に有効なキーワードを 表 12-11に示します。
構成要素キーワード | 戻される情報 |
---|---|
FACILITY | 機能名 |
SEVERITY | 重大度表示 |
IDENT | メッセージ・テキスト短縮形 |
TEXT | メッセージの説明 |
FACILITY,SEVERITY,およびIDENTを(個々に,または任意に組み合わせて)指定すると, 戻されたメッセージにはパーセント記号(%)がつくことに注意してください。 複数のキーワードを指定すると,メッセージはハイフンで区切られます。
TEXTだけを指定した場合,メッセージに文字記号は含まれません。 TEXTをFACILITY,SEVERITY,またはIDENTと同時に指定した場合は, メッセージがコンマと空白(, )で区切られます。
$ ERROR_TEXT = F$MESSAGE(%X1C) $ SHOW SYMBOL ERROR_TEXT ERROR_TEXT = "%SYSTEM-F-EXQUOTA, exceeded quota"この例では,F$MESSAGE関数を使用して, %X1Cという状態コードに対応するメッセージを判断する方法を示しています。 F$MESSAGE関数は,メッセージ文字列を戻します。 その文字列は,ERROR_TEXTというシンボルに割り当てられます。
$ 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関数を使用すると便利です。 ログイン・コマンド・プロシージャにF$MODE関数, またはF$ENVIRONMENT関数を入れておき, 会話型ターミナル・セッションと非会話型セッションではことなるコマンドを実行するようにしておきます。
ログイン・コマンド・プロシージャにF$MODE関数を含めず, 会話型プロセスから実行されるかどうかを調べていない時に, ログイン・コマンド・プロシージャが非会話型プロセス (たとえばバッチ・ジョブ)から実行されると, コマンド・プロシージャ内に会話型プロセスでのみ使用できるコマンドが含まれている場合は, プロセスが異常終了する可能性があります。
コマンド・プロシージャはF$MODE関数を使用して, 会話型ターミナル・セッションでプロシージャが実行されるかどうか調べることができます。 またF$MODE関数の戻り値に基づいて,制御を移すことができます。
$ 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関数はたいてい空文字列("")を返します。 たとえば,ファイル指定が間違った構文である場合や, 指定したディスクやディレクトリが存在しない (結果としてファイル指定が論理的に間違っている)場合は,空文字列が返されます。 ただし,フィールド名を指定する,または解析タイプにSYNTAX_ONLYを指定すると, 適切な情報が返されます。
ファイル指定にはワイルドカード文字を使用できます。 この場合,F$PARSEにより戻されるファイル指定もワイルドカード文字を含んでいます。
ファイル指定引数で省略されているフィールドがあると, 省略時のファイル指定の対応するフィールドで置換されます。 この結果,まだ省略されているフィールドは, 関連ファイル指定引数の対応するフィールドで置換されます。
ファイル指定引数と省略時のファイル指定引数の両方で, 省略されているフィールドがあると, 関連ファイル指定の対応するフィールドで置換されます。
次のフィールド名のいずれか1つを指定できます(省略することはできません)。
NODE | ノード名 |
DEVICE | 装置名 |
DIRECTORY | ディレクトリ名 |
NAME | ファイル名 |
TYPE | ファイル・タイプ |
VERSION | ファイル・バージョン番号 |
また,省略時の設定でF$PARSE関数は,他の引数として指定されている論理名があると, そのは論理名を変換します。 CONCEALED属性を持つ論理名を検出すると,F$PARSE関数は,反復変換を停止します。
次のキーワードを使用すると, F$PARSE関数がファイル指定を解析する方法を変更できます。
NO_CONCEAL | ファイル指定の一部に指定された論理名変換時に,"conceal"属性を無視する。 つまり,隠し論理名が検出されても,論理名変換は終了しない。 |
SYNTAX_ONLY | ファイル指定の構文だけをチェックし, 指定したディレクトリが装置上に確認するかどうかは確認しない。 |
F$PARSE関数を使用する場合, 最後に指定した引数の後ろに指定するオプションの引数を省略することができます。 ただし,最後に指定する引数の前(左)に指定するオプションの引数を省略する場合は, プレースホルダーとしてコンマ(,)を入れます。
ファイル指定引数で装置名およびディレクトリ名を省略すると,F$PARSE関数は, まず省略時のファイル指定引数,次に関連ファイル指定引数から, 省略時設定の名前を補います。 どちらの引数からも名前を得られない場合は,現在の省略時の設定を使用します。
ノード名,ファイル名,ファイル・タイプ,またはバージョン番号を省略すると, F$PARSE関数は,まず省略時のファイル指定引数, 次に関連ファイル指定引数から省略時設定を補います (ただし,関連ファイル指定引数からは, バージョン番号を補えない点に注意してください)。 どちらの引数からも名前を与えられない場合は, F$PARSEはこれらのフィールドに空指定を戻します。
$ 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に存在しない場合には,空文字列が戻されます。
$ SET DEFAULT DB1:[VARGO] $ SPEC = F$PARSE("INFO.COM",,,"DIRECTORY") $ SHOW SYMBOL SPEC SPEC = "[VARGO]"この例では,F$PARSE関数は,INFO.COMというファイルのディレクトリ名を戻します。 引数リストで省略時のファイル指定引数と 関連ファイル指定引数が省略されているので, それぞれの位置にコンマ(,)を指定しなければなりません。
$ SPEC= F$PARSE("DENVER::DB1:[PROD]RUN.DAT",,,"TYPE") $ SHOW SYMBOL SPEC SPEC = ".DAT"この例では,F$PARSE関数を使用して,ノード名を含むファイル指定を解析しています。 F$PARSE関数は,DENVERという遠隔ノードの, RUN.DATというファイルのファイル・タイプである,DATを戻します。
プロセス識別番号(PID)を戻し, システムのプロセス・リストで現在の位置を指すようコンテキスト・シンボルを変更します。
F$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)は, ユーザのプロセスが持つ特権に応じて異なります。 ユーザのプロセスが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関数は空文字列を戻します。
$ 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だけが表示されます。
現在のプロセス特権が,引数に指定されている特権と一致するかどうかに応じて, TRUEまたはFALSEという文字列値を戻します。 特権の肯定形,および否定形のいずれも指定できます。
F$PRIVILEGE (特権)
特権の前に"NO"が付いている場合は,関数がTRUEを戻すよう, その特権は無効になります。 F$PRIVILEGE関数はリストのキーワードをそれぞれチェックし, 1つでも偽があればFALSEを戻します。
$ 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()
$ NAME = F$PROCESS() $ SHOW SYMBOL NAME NAME = "MARTIN"この例では,F$PROCESS関数は現在のプロセス名を戻し, その名前が,NAMEというシンボルに割り当てられます。
ディレクトリ・ファイルを検索し,指定したファイルの完全ファイル指定を戻します。
F$SEARCH (ファイル指定[,ストリームid])
F$SEARCH関数を2回以上使用し, それぞれに異なるファイル指定引数を指定したい場合は, 検索ストリーム識別番号を使用して,それぞれの検索コンテキストを管理します。 コマンド・プロシージャの中でF$SEARCH関数を2回以上使用し, 異なるファイル指定引数を使用する場合には,各検索を別々に識別するために, ストリームid引数を指定します。
ストリームid引数を省略すると,F$SEARCH関数は, 異なるファイル指定引数が指定されるたびに, ディレクトリ・ファイルの先頭から検索を開始します。
コマンド・プロシージャ内のループでF$SEARCH関数を使用すると, ワイルドカード文字を含むファイル指定引数と一致するファイルすべてのファイル指定を戻すことができます。 F$SEARCH関数が実行されるたびに,ワイルドカード文字を含むファイル指定に一致する, 次のファイル指定が戻されます。 次に戻すファイル指定がなくなると,空文字列が戻されます。 ループ内でF$SEARCH関数を使用する場合は, ファイル指定引数にワイルドカード文字を使用しなければなりません。 ワイルドカード文字を使用しない場合は, F$SEARCH関数は常に同じファイル指定を戻します。
次のいずれかの方法を使用して, 検索ストリームのコンテキストを維持する必要があります。
検索ストリームのコンテキストを維持しない場合は, 異なるファイル指定引数を指定するたびに, ディレクトリ・ファイルの先頭から新しい検索を開始することになります。
- 注意
- レキシカル関数F$SEARCHは, ユーザが指定した選択基準に一致したすべてのファイルを戻すことができます。また, 検索開始時から検索終了時までの間の任意の時点でディレクトリに存在するすべてのファイルを戻すことができます。 検索中に作成,リネーム,または削除されたファイルは,戻されないことがあります。
$ 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関数は空文字列を戻し, このプロシージャは終了します。
$ 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ファイルのすべてのバージョンが戻された後, このプロシージャは終了します。
$ 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関数が実行される前の指定した特権に関する状態が表示されます。
特権を許可または禁止するためには, 指定された特権を変更できるように設定されていなければなりません。
特権の制限事項についての詳細は,『OpenVMS System Services Reference Manual』の $SETPRVシステム・サービスの説明を参照してください。
F$SETPRV (特権)
プロセス特権のリストについての詳細は,『OpenVMSユーザーズ・マニュアル』 を参照してください。
特権引数に指定した特権を変更することが許可されているかいないかに関わらず, F$SETPRV特権は,ユーザの現在の特権に関するキーワードを戻します。 ただし,F$SETPRV関数が許可または禁止するのは, 変更することを許可されている特権だけです。
F$SETPRV関数を含むプログラムまたはプロシージャを実行する場合は,F$SETPRV関数が, ユーザのプロセスを適正な特権状態に復元しているかを必ず確認してください。 詳細は,以下の例を参照してください。
$ OLDPRIV = F$SETPRV("OPER,NOTMPMBX") $ SHOW SYMBOL OLDPRIV OLDPRIV = "NOOPER,TMPMBX"この例では, プロセスはOPER特権およびTMPMBX特権を変更できる権限が与えられています。 F$SETPRV関数はOPER特権を許可し,TMPMBX特権を禁止します。 さらにF$SETPRV関数は,変更する前のこれらの特権の状態を示すために, NOOPERとTMPMBXというキーワードを戻します。
特権キーワードのリストは文字列リテラルなので, 引用符("")で囲まなければなりません。
$ 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)
$ 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特権を持つことを示しています。
$ 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関数は10進表現を使用し先行の0は省略します。 負の整数を変換する場合は,F$STRING関数は, 整数を示す文字列の先頭にマイナス記号を付加します。
$ 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()
dd-mmm-yyyy hh:mm:ss.cc
現在の日が1〜9の場合は,戻される文字列の最初の文字は空白です。 文字列のうち時刻の部分は,常に文字列位置13, つまり文字列の先頭から12文字のオフセット位置です。
返される文字列の空白を保持するには,等号(=)を使用しなければなりません。 文字列代入演算子(:=)を使用すると,先行する空白文字が除かれます。
$ 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関数を使用した後, 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関数は,プロセス,ジョブ, グループ,システムの論理名テーブルをこの順序で検索し, 最初に一致した同値名を戻します。
インデックスは0で始まります。 つまり,同値名リストの最初の名前はインデックス0によって参照されます。
索引引数を指定しない場合には,省略時の値として0が使用されます。
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 関数は空文字列("")を戻します。
項目 | 戻される タイプ |
戻される情報 |
---|---|---|
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関数を使用する場合は, 最後に指定する引数の右側で使用するオプションの引数は省略できます。 ただし,最後に指定する引数の左側で使用するオプションの引数を省略する場合は, プレースホルダとしてコンマ(,)を指定しなければなりません。
コマンド・プロシージャ内でF$TRNLNM関数を使用すると, 論理名の現在の同値名文字列を保存し,後でリストアすることができます。 また,論理名が割り当てられているかどうか確認するために使用することもできます。
$ 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というシンボルを一重引用符(' ')で囲まなければなりません。
$ DEFINE/TABLE=LNM$GROUP TERMINAL 'F$TRNLNM("SYS$OUTPUT")'この例は,コマンド・プロシージャから抜粋した行です。 ここでは,(1) F$TRNLNM関数を使用して,現在の出力装置の名前を判断し, (2)同値文字列に基づいて,グループ論理名テーブルにエントリを作成します。
SYS$OUTPUTという引数は文字列であるため,二重引用符で囲まなければなりません。
また,この例では,レキシカル関数が強制的に評価されるようにするために, F$TRNLNM関数自身も一重引用符で囲まなければなりません。 引用符で囲まないと,DEFINEコマンドはレキシカル関数を自動的には評価しません。
$ 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属性は指定されていません。
$ foo=f$trnlnm("FOO","LNM$SYSCLUSTER",,,"INTERLOCKED",)
この例では, 論理名FOOがLNM$SYSCLUSTERテーブル内でINTERLOCKED方式で検索されて変換が実行されます。 すなわち,同一クラスタ内の現在のノード上あるいは別のノード上で進行中のクラスタ単位の論理名のすべての修正は, この変換が実行される前に完了します。 これにより,変換が最新のFOO定義に基づくものであることを保証します。
ケース変換が指定されていないので,省略時の設定のCASE_BLINDで実行されます。
$ foo=f$trnlnm("FOO","LNM$SYSCLUSTER",,,"INTERLOCKED,CASE_SENSITIVE",)
この例では,CASE_SENSITIVEおよびINTERLOCKED変換の両方を指定します。
シンボルのデータ・タイプを判断します。 シンボルが整数と等しいと定義されている場合や, シンボルが有効な整数を構成する文字列と等しいと定義されている場合には, INTEGERという文字列が戻されます。
シンボルが有効な整数を構成しない文字列と等しいと定義されている場合には, STRINGという文字列が戻されます。
シンボルが未定義の場合には,空文字列("")が戻されます。
F$TYPE (シンボル名)
同様に,F$CSID関数で作成されたシンボルに対しては文字列 CLUSTER_SYSTEM_CONTEXT が戻されます。
シンボルがコンテキト・シンボルの場合,表12-12 に示すタイプのいずれか1つが戻されます。
シンボル・タイプ | シンボルを作成するレキシカル関数 |
---|---|
PROCESS_CONTEXT | F$PIDまたはF$CONTEXT (PROCESSコンテンキスト・タイプ指定) |
CLUSTER_SYSTEM_CONTEXT | F$CSID |
シンボルが有効な整数を構成しない文字列と等しいと定義されている場合, またはシンボルのタイプがコンテキストではない場合は,文字列STRINGが戻されます。
シンボルが未定義の場合には,空文字列が戻されます。
$ NUM = "52" $ TYPE = F$TYPE(NUM) $ SHOW SYMBOL TYPE TYPE = "INTEGER"この例では,F$TYPE関数を使用して, NUMというシンボルのデータ・タイプを判断しています。 シンボルNUMには,文字列"52"が割り当てられています。 この文字列は有効な整数を構成するため,F$TYPE関数は文字列INTEGERを戻します。
$ NUM = 52 $ TYPE = F$TYPE(NUM) $ SHOW SYMBOL TYPE TYPE = "INTEGER"この例では,シンボルNUMには,整数の52が割り当てられています。したがって F$TYPE関数は,このシンボルのタイプが整数データ・タイプであることを示しています。
$ CHAR = "FIVE" $ TYPE = F$TYPE(CHAR) $ SHOW SYMBOL TYPE TYPE = "STRING"この例では,シンボルCHARには文字列FIVEが割り当てられています。 この文字列は有効な整数を構成しないため,F$TYPE関数は, シンボルが文字列値を持つことを示しています。
$ 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を呼び出すまで, シンボルが戻すタイプは変わりません。
現在の利用者識別コード(UIC)を,名前形式で戻します。 F$USER関数では,引数は使用されませんが,括弧は指定しなければなりません。
F$USER()
$ UIC = F$USER() $ SHOW SYMBOL UIC UIC = "[GROUP6,JENNIFER]"この例では,F$USER関数は現在の利用者識別コードを戻し, その値をUICというシンボルに割り当てます。
プロシージャ・チェック機能が,現在オンになっているのか, オフになっているのかを示す整数値を戻します。 引数を指定する場合,F$VERIFY関数は, プロシージャとイメージのチェック機能をオンまたはオフにすることができます。 指定する引数の有無にかかわらず, F$VERIEY関数のあとに括弧を指定しなければなりません。
F$VERIFY ([プロシージャ値] [,イメージ値])
プロシージャ・チェック機能がオンの場合, コマンド・プロシージャの各行は出力装置に出力されますので, コマンド・プロシージャの実行を確認できます。
プロシージャ値引数を指定すると,まず, 現在のプロシージャ・レベルのチェック機能の設定を戻します。 次に,指定した引数にしたがって, コマンド・インタプリタがプロシージャ・チェック機能をオンまたはオフにします。
イメージ・チェック機能がオンの場合, コマンド・プロシージャの各行は出力装置に出力されます。
コマンド・プロシージャ内でF$VERIFY関数を使用すると, 現在のチェック機能の設定を調べることができます。 たとえば,チェック機能の設定を変更する前に現在の設定を保存し, その後その保存値を回復することができます。 また,呼び出し前の設定に関らず,コマンド行の表示(または印刷) を行わないコマンド・プロシージャを書くこともできます。
F$VERIFY関数には,0〜2個の引数を指定できます。 引数を指定しないと,どちらのチェック機能の設定も変更されません。 procedure-value引数のみを指定した場合は, プロシージャ・チェック機能およびイメージ・チェク機能の両方の設定が変更されます。
両方の引数を指定した場合は, プロシージャ・チェック機能およびイメージ・チェック機能は, 別々にオンまたはオフに設定できます。イメージ値引数だけを指定すると, イメージ・チェック機能だけをオンまたはオフにできます。 イメージ値引数だけを指定する場合は, 引数の前にコンマ(,)を指定しなければなりません。
F$ENVIRONMENT関数に, VERIFY_PROCEDUREまたはVERIFY_IMAGE引数を指定することもできます。 F$ENVIRONMENT関数は,どちらの設定状態も返すことができますが, F$VERIFY関数は,プロシージャ・チェック機能の設定のみ返します。
DCLは,F$ENVIRONMENT関数が一重引用符(` ')で囲まれていれば, コメント文字の後にあっても処理します。 これは,DCLがコメント中で行う唯一の例外です。
$ 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の値は使用されていません)。
$ VERIFY = F$VERIFY(0) . . . $ IF VERIFY .EQ. 1 THEN SET VERIFYこの例は,コマンド・プロシージャからの抜粋です。 ここではF$VERIFY関数を使用して,現在のプロシージャ・チェック機能の設定を保存し, プロシージャ・チェック機能とイメージ・チェック機能の両方をオフにしています。 プロシージャ・チェック機能がもともとオンに設定されていた場合には, コマンド・プロシージャの最後で, プロシージャ・チェック機能とイメージ・チェック機能の両方がオンに設定されます。
Librarianユーティリティを起動します。 Librarianユーティリティはオブジェクト,マクロ,ヘルプ,テキスト, または共有可能イメージ・ライブラリを,作成,修正,あるいは記述します。
Librarianユーティリティについての詳細は, 『OpenVMS Command Definition,Librarian,and Message Utilities Manual』 またはオンライン・ヘルプを参照してください。
LIBRARY ライブラリ・ファイル指定 [入力ファイル指定[,...]]
ライセンス管理ユーティリティを起動します。ライセンス管理ユーティリティは, OpenVMSオペレーティング・システム上のソフトウェアのライセンスを管理します。
ライセンス管理ユーティリティについての詳細は, 『OpenVMS License Management Utility Manual』 またはオンライン・ヘルプを参照してください。
LICENSE サブコマンドパラメータ
OpenVMSリンカを起動します。 OpenVMSリンカは1つまたは複数のオブジェクト・モジュールを 1つのプログラム・イメージとリンクさせ,そのイメージの実行属性を定義します。
(LINKコマンドを含め)リンカについての詳細は, 『OpenVMS Linker Utility Manual』 またはオンライン・ヘルプを参照してください。
LINK ファイル指定[,...]
会話型モードのターミナル・セッションを開始します。
[Ctrl/C] [Ctrl/Y] [Return]
ユーザ名を入力した直後に省略可能な修飾子を指定します。 Returnキーを押すと,パスワードを求めるプロンプトが表示されます。
ログイン・プロシージャは,次の機能を実行します。
遠隔またはダイアルアップ回線からシステムにアクセスするユーザに対して, 再試行ファシリティ付きでセットアップされているシステムがあります。 これらのシステムでは,ユーザまたはパスワードを誤って入力した場合に, 再入力できます。ログイン情報を再入力するには,Returnキーを押します。 ユーザ名を求めるプロンプトが,再度表示されます。 ユーザ名を再入力してReturnキーを押すと,情報がシステムへ送信されます。 次に,パスワードを求めるプロンプトが表示されます。 ログイン情報を入力できる回数と試行間隔には制限があります。
コマンド・インタプリタを指定せずに/CLI修飾子を指定した場合, 利用者登録ファイル(UAF)にも省略時のCLIが登録されていなければ, システムは/CLI=DCLという省略時の修飾子を使用します。
省略時のログイン・コマンド・プロシージャを実行しない場合には, /NOCOMMAND修飾子を使用します。
論理名が使用される場合には,テーブル名指定が, システム論理名テーブルに定義されていなければなりません。
/CLI修飾子がDCLまたはMCRに設定されている場合, /TABLES修飾子は,省略時の値としてそれに対応した正しい値を使用します。 /TABLES修飾子だけを指定し,/CLI修飾子を省略した場合には, ユーザのUAFに指定されているCLIが使用されます。
[Ctrl/Y] Username: MACKRILL Password: <PASSWORD>Ctrl/Yを押すことで,オペレーティング・システムにアクセスし, そのオペレーティング・システムは, ユーザ名を要求するプロンプトを直ちに表示します。 ユーザ名が正しいかどうかをチェックしたあと,システムは, パスワードを要求するプロンプトを表示しますが, パスワードを入力してもその入力は表示されません。
[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$ が省略時のディスクであることを示します。
[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$が省略時のディスクであることを示します。
[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コマンドの入力を待っていることを示しています。
[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パスワードを持っており, システムをアクセスするためには, このパスワードを入力しなければならないことを示しています。
[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" というメッセージは, 入力されたパスワードが誤っていることを示しています。 正しくログ・インすることができた場合には, 最後に正しくログインしてから発生した, ログイン失敗の回数を示すメッセージが表示されます。 このメッセージは,ログインを失敗した場合にだけ表示されます。
[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コマンドの説明を参照してください。
[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
SET HOSTコマンドを使用して遠隔のプロセッサにログインする場合は,通常, LOGOUTコマンドを使用して遠隔のセッションを終了する必要があります。
$ LOGOUT MACKRILL logged out at 14-DEC-1998 17:48:56.73このLOGOUTコマンドでは,省略時の簡略メッセージ形式が使用されています。 したがって,会計情報は表示されません。
$ 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修飾子を指定しているので, このターミナル・セッションの会計情報の要約を表示します。