SAS FUNCTION
SAS 9.1.3
Go to Documentation Home
HOME
Go to Book List
FUN_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
SAS  9.1.3
Go to Feedback page
MAIL
FNOTE
Go to previous page
Previous
Go to next page
Next
처음메뉴로

174. FNOTE



읽혀진 마지막 레코드를 확인하고, 파일 위치를 표시하여서 어플리케이션이 나중에 Fpoint를 이용하여 그 위치로 돌아올수 있도록 할수있다.
Category: External Files

문 법
인 수
예 제
함 수 비 교

문법

MAIN

FNOTE (file-id)

Arguments

file-id
는 FOPEN함수에 의해 반환된 인식자.


예제

back.txt를 업데이트 모드로 오픈하여서 3번째까지 데이터를 FDB로 읽은후에 위치를 기록(fnote)한후에 5번째 레크드까지 읽은후에,

위에서 기록한 위치(fpoint-3번째)로 이동하여서 “New text”문장을 FDB에 복사한후에 업데이트(기록,fwrite)한다.

FILENAME back "c:\back.txt";

data _null_;
     file back;
     put "Data for the new record1"; put "Data for the new record2";
     put "Data for the new record3"; put "Data for the new record4";
     put "Data for the new record5";
run;

 
SAS Statements Results

%macro back;
  %let fref=MYFILE;
  %let rc=%sysfunc(filename(fref,'c:\back.txt'));
  %put &rc;
  * 업데이트 모드로 Open한다.
  %let fid=%sysfunc(fopen(&fref,u));
  %put &fid;
  %if &fid > 0 %then %do;
      %let rc=%sysfunc(fread(&fid));
      %let rc=%sysfunc(fread(&fid));
      %let rc=%sysfunc(fread(&fid)); * 세번째 레코드를 읽는다.;
      %let note3=%sysfunc(fnote(&fid)); * 세번째 레코드의 위치를 기록한다;
      %let rc=%sysfunc(fread(&fid)); * 네번째 레코드를 읽는다;
      %let rc=%sysfunc(fread(&fid)); * 다섯번째 레코드를 읽는다.;
      * FNOTE에 의해 표시된 위치로 관측치를 이동;
      %let rc=%sysfunc(fpoint(&fid,&note3));
      %let rc=%sysfunc(fread(&fid)); * 세번째 레코드를 읽는다;
      %let rc=%sysfunc(fput(&fid,New text)); * FDB에 새로운 텍스트를 복사;
      * FDB의 데이터로 세번째 레코드를 업데이트 한다.;
      %let rc=%sysfunc(fwrite(&fid));
      %let rc=%sysfunc(fclose(&fid)); * 파일을 닫는다.;
  %end;
  %let rc=%sysfunc(filename(fref)); * 파일참조자 초기화;
%mend;
%back;

 

 

 

 

 

 

Data for the new record1
Data for the new record2
New text the new record3
Data for the new record4
Data for the new record5


함수비교

Functions:

143.DROPNOTE

  154.FCLOSE
  162.FILENAME
  175.FOPEN
  178.FPOINT
  180.FPUT
  181.FREAD
  182.FREWIND
  186.FWRITE
  278.MOPEN

2006년 백승민 제작하였답니다. 
( http://cafe.daum.net/statsas )