** Sample program to attempt to read a cap file; ** by Jean Roth, jroth@nber.org , 2007-06-22 ; libname out '/disk/usr106/pps/data/sas'; filename cap4 pipe 'zcat /disk/usr106/pps/data/raw/pps4cap.data.Z'; filename cap5 pipe 'zcat /disk/usr106/pps/data/raw/pps5cap.data.Z'; options ls=75; *option obs = 75; %macro years(input, output); data out.&output.; infile &input. lrecl=4647 missover; input @1 cap1 $charzb6. @7 cap2 5.0 @12 cap3 5.0 @17 cap4 2.0 @19 cap5 $charzb1. @20 cap6 $charzb5. @25 cap7 zd9. @34 cap8 zd9. @43 cap9 zd9. @52 cap10 zd9. ; proc print data = out.&output. (obs = 25); title 'Sample data from &output.'; run; %mend years; %years(cap4, cap87); *%years(cap5, cap88);