I got the same problem, and I believe there is an typo on the book"SAS Certification Prep Guide-Advanced Programming for sas 9", page 606. the code: "length goalamount 8;" should be changed to: "length qtrnum $8 goalamount 8;" I submitted the following program, and it runs with no error: data diffe (drop=goalamount); length goalamount 8 qtrnum $4; if _N_=1 then do; declare hash goal(); goal.definekey("qtrnum"); goal.definedata("Goalamount"); goal.definedone(); call missing(qtrnum, goalamount); goal.add(key:'qtr1',data:10); goal.add(key:'qtr2',data:15); goal.add(key:'qtr3',data:5); goal.add(key:'qtr4',data:15); end; set tian.contrib; rc=goal.find(); diff=amount-goalamount; run;
... View more