Add records to an existing
ESDS using the following method:
-
-
Include
both an INFILE and a FILE statement for the data set.
Specify the VSAM option in both the INFILE and the FILE statements.
Specify all other options in the INFILE statement, which must precede
the FILE statement.
You do not have to include
an INPUT statement with the INFILE statement. The INPUT statement
is unnecessary because you do not have to read a record in order to
add a new record. Here is an example:
data three;
infile myesds vsam ;
file myesds vsam ;
id='289478363';
lastname='Cox ';
frstname='June ';
address='Rt. 2 Box 784 ';
city='Cheyenne';
state='WY';
zip='59334 ';
balance='00100';
gpa='2.33';
class='SE';
hrs='13';
finaid='Y';
if _n_=1 then newstu=0;
put @1 id $9. /* Student's Social Security number */
@10 lastname $10. /* Student's surname */
@20 frstname $10. /* Student's given name */
@30 address $25. /* Permanent mailing address */
@55 city $15. /* City of residence */
@70 state $2. /* State of residence */
@72 zip $5. /* Five-digit ZIP code */
@77 balance $5. /* Balance from previous semester (if any) */
@82 gpa $4. /* Grade point average on a 4.00 scale */
@86 class $2. /* FR, SO, JU, SE, or, GR */
@88 hrs $2. /* Hours registered for in next semester */
@90 finaid $1.; /* Financial aid eligibility, Y or N */
newstu=newstu+1;
retain newstu;
...more SAS statements...
run;
In the example, a record
for a new student, JUNE COX, is defined and added to the MYESDS data
set without first reading the ESDS. The record is added to the end
of the data set because output access is always sequential when new
records are added to an ESDS. (See
Access Types for ESDS Operations.)