I used your data step and data sample. I think your problem is that the variable on the input statement don't match the fields in the file. I removed one of the variables vfwdatabse that appeared to be missing from the data records.
[pre]
data WORK.Source ;
%let _EFIERR_ = 0; /* set the ERROR detection macro variable */
infile cards /*'C:\VFW\ResponseFile.csv'*/ delimiter = ',' MISSOVER DSD /*lrecl=32767*/ firstobs=2 ;
*informat VFWDatabase $10. ;
informat NameID 11. ;
informat ProjectNumber $4. ;
informat DepositDate ymddttm.;
informat ReceiptDate ymddttm.;
informat DonationAmount comma10.;
*format VFWDatabase $10. ;
format NameID 11. ;
format ProjectNumber $4. ;
format DepositDate datetime.;
format ReceiptDate datetime.;
format DonationAmount DOLLAR11.2 ;
input
/*VFWDatabase $*/
NameID
ProjectNumber $
DepositDate
ReceiptDate
DonationAmount
;
if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
cards;
"ID","Project","DepositDate","ReceiptDate","Amount"
202711036,"9999",2009-03-03 00:00:00,2009-02-27 00:00:00,20
203393517,"9999",2009-03-03 00:00:00,2009-02-27 00:00:00,10
203847278,"9999",2009-03-03 00:00:00,2009-02-27 00:00:00,25
200344370,"1638",2009-03-03 00:00:00,2009-02-27 00:00:00,10
;;;;
run;
proc contents fmtlen varnum;
run;
proc print;
run;
[/pre]