FAPPEND Function

Appends the current record to the end of an external file.

Category: External Files


FAPPEND(file-id<,cc> )

Required Argument


is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.

Optional Argument


is a character constant, variable, or expression that specifies a carriage-control character:

blank indicates that the record starts a new line.
0 skips one blank line before this new line.
- skips two blank lines before this new line.
1 specifies that the line starts a new page.
+ specifies that the line overstrikes a previous line.
P specifies that the line is a computer prompt.
= specifies that the line contains carriage control information.
all else specifies that the line record starts a new line.


FAPPEND adds the record that is currently contained in the File Data Buffer (FDB) to the end of an external file. FAPPEND returns a 0 if the operation was successful and ≠0 if it was not successful.


This example assigns the fileref MYFILE to an external file and attempts to open the file. If the file is opened successfully, it moves data into the File Data Buffer, appends a record, and then closes the file. Note that in a macro statement that you do not enclose character strings in quotation marks.
%let filrf=myfile;
%let rc=%sysfunc(filename(filrf,
%let fid=%sysfunc(fopen(&filrf,a));
%if &fid > 0 %then
      %let rc=%sysfunc(fput(&fid,
                       Data for the new record));
      %let rc=%sysfunc(fappend(&fid));
      %let rc=%sysfunc(fclose(&fid));
      /* unsuccessful open processing */