前のページ|次のページ

FINFO関数

ファイル情報項目の値を返します。

カテゴリ: 外部ファイル

構文

必須引数

file-id

(通常、FOPEN関数で)ファイルを開いたときに割り当てられた識別子を指定する数値定数、変数または式です。

information-item

取得するファイル情報項目の名前を指定する文字定数、変数または式です。Information-itemは、ファイル情報名または引用符で囲まれたファイル情報名を含む変数です。

Windows固有: ディスクファイルのInformation-itemには、次のファイル情報項目のいずれかを指定できます。
  • Create Time: ddmmmyyyy:hh:mm:ss
    注: Create Timeの日付/時刻の情報項目は、サイトのロケールに合わせてローカライズされます。日付/時間の形式は、そのロケールでは多少異なって表示されることがあります。
  • Last Modified: ddmmmyyyy:hh:mm:ss
  • ファイル名
  • ファイルサイズ(バイト単位)
  • RECFM
  • LRECL
パイプファイルのInformation-itemには、次のファイル情報項目のいずれかを指定できます。
  • 名前の付いていないパイプアクセスデバイス
  • PROCESS
  • RECFM
  • LRECL
UNIX固有: ディスクファイルのinformation-itemには、次の値のいずれかを使用できます。
  • ファイル名
  • 所有者名
  • グループ名
  • アクセス権限
  • ファイルサイズ(バイト単位)
ファイル名を連結する場合、追加のinformation-item(ファイルリスト)を使用できます。
パイプファイルを使用している場合、information-itemの唯一有効な値はPIPEコマンドです。

詳細

概要

FINFOは、外部ファイルのシステムに依存する情報項目の値を返します。information-itemに指定した値が無効な場合、FINFOは空白を返します。

Z/OSでのFINFO FOPTNAMEおよびFOPTNUMのサポート

FINFO関数、FOPTNAME関数およびFOPTNUM関数では、UNIXファイルシステム(UFS)向けに次の情報項目をサポートしています。
Z/OSでUFSファイルに使用可能な情報項目
項目
項目識別子
定義
1
Filename
ファイル名
2
Access Permission
所有者、グループおよびその他の読み取り権限、書き込み権限および実行権限
3
Number of Links
ファイルのリンクの数
4
所有者名
所有者のユーザーID
5
グループ名
所有者のアクセスグループの名前
6
File Size
ファイルのサイズ
7
Last Modified
ファイルが最後に変更された日付
8
Created
ファイルが作成された日付
FINFO関数、FOPTNAME関数およびFOPTNUM関数では、順次ファイルならびにPDSおよびPDSEのメンバ向けに次の情報項目をサポートしています。
Z/OSで順次ファイルならびにPDSおよびPDSEのメンバに使用可能な情報項目
項目
項目識別子
Filename
1
Dsname
ファイル名
2
Unit
デバイスの種類
3
Volume
データセットが格納されているボリューム
4
Disp
処理
5
Blksize
ブロックサイズ
6
Lrecl
レコード長
7
Recfm
レコードの形式
8
Creation
ファイルが作成された日付

比較

  • FOPTNAME関数は、使用可能なファイル情報項目の名前を決定します。
  • FOPTNUM関数は、システムに依存する使用可能な情報項目の数を決定します。

例1

この例では、SASデータセットの外部ファイルに関する情報項目を保存します。
data info;
   length infoname infoval $60;
   drop rc fid infonum i close;
   rc=filename('abc', 'physical-filename');
   fid=fopen('abc');
   infonum=foptnum(fid);
   do i=1 to infonum;
      infoname=foptname(fid, i);
      infoval=finfo(fid, infoname);
      output;
   end;
   close=fclose(fid);
run;

例2: z/OS

この例では、順次データセットに使用可能な情報項目を示す出力を生成します。
data _null_;
   length opt $100 optval $100;
   /* Allocate file  */
   rc=FILENAME('myfile',
      'userid.test.example');
   /* Open file */
   fid=FOPEN('myfile');
   /* Get number of information
      items */
   infocnt=FOPTNUM(fid);
   /* Retrieve information items
      and print to log  */
   put @1 'Information for a Sequential File:';
   do j=1 to infocnt;
      opt=FOPTNAME(fid,j);
      optval=FINFO(fid,upcase(opt));
      put @1 opt @20 optval;
   end;
   /* Close the file */
   rc=FCLOSE(fid);
   /* Deallocate the file */
   rc=FILENAME('myfile');
run;
Information for a Sequential File:Dsname             USERID.TEST.EXAMPLE Unit               3390 Volume             ABC010 Disp               SHR Blksize            23392 Lrecl              136 Recfm              FB Creation           2007/11/20 NOTE:The DATA statement used 0.10 CPU seconds and 5194K.

例3: z/OS

この例では、PDSおよびPDSEのメンバに使用可能な情報項目を示します。
data _null_;
  length opt $100 optval $100;
  /* Allocate file  */
  rc=FILENAME('myfile',
     'userid.test.data(oats)');
  /* Open file */
  fid=FOPEN('myfile');
  /* Get number of information
     items */
  infocnt=FOPTNUM(fid);
  /* Retrieve information items
        and print to log */
  put @1 'Information for a PDS Member:';
  do j=1 to infocnt;
    opt=FOPTNAME(fid,j);
    optval=FINFO(fid,upcase(opt));
    put @1 opt @20 optval;
  end;
  /* Close the file */
  rc=FCLOSE(fid);
  /* Deallocate the file */
  rc=FILENAME('myfile');
run;
Information for a PDS Member:Dsname             USERID.TEST.DATA(OATS) Unit               3380 Volume             ABC006 Disp               SHR Blksize            1000 Lrecl              100 Recfm              FB Creation           2007/11/05 NOTE:The DATA statement used 0.05 CPU seconds and 5194K.

例4: z/OS

この例では、UNIXシステムサービスファイルに使用可能な情報項目を示します。
data _null_;
   length opt $100 optval $100;
   /* Allocate file  */
   rc=FILENAME('myfile',
      '/u/userid/one');
   /* Open file */
   fid=FOPEN('myfile');
   /* Get number of information
      items */
   infocnt=FOPTNUM(fid);
   /* Retrieve information items
      and print to log */
   put @1 'Information for a UNIX System Services File:';
   do j=1 to infocnt;
      opt=FOPTNAME(fid,j);
      optval=FINFO(fid,upcase(opt));
      put @1 opt @20 optval;
   end;
   /* Close the file */
   rc=FCLOSE(fid);
   /* Deallocate the file */
   rc=FILENAME('myfile');
run;
Information for a UNIX System Services File:File Name          /u/userid/one Access Permission  -rw-rw-rw- Number of Links    1 Owner Name         USERID Group Name         GRP File Size          4 Last Modified      Apr 13 13:57 Created            Mar 16 09:55 NOTE:The DATA statement used 0.07 CPU seconds and 5227K.

関連項目:

前のページ|次のページ|ページの先頭へ