/**********************************************************************/ %window welcome group=short #1 @5 '** Income Tax Return for Single Filers **' #3 @5 ' With No Dependents Form 1040EZ - 1990 ' group=long #1 @5 '** Income Tax Return for Single Filers **' #3 @5 ' With No Dependents Form 1040EZ - 1990 ' #5 @2 ' 1) Enter INTEGER values.' #7 @2 ' 2) Required information is displayed in red.' #9 @2 ' 3) For additional information you may reference' #10 @2 ' the Form 1040EZ booklet.' #12 @2 ' 4) Please hit ENTER to continue.'; /**********************************************************************/ %display welcome.long; /**********************************************************************/ %window name_add #3 @1 'Enter your name(first,initial,last)' #4 @1 '> ' name 55 a=underline required=yes c=red #6 @1 'Home address(number and street). Apt. no.' #7 @1 '> ' add1 55 a=underline required=yes c=red #9 @1 'City,town or post office,state, and ZIP code' #10 @1 '> ' add2 55 a=underline required=yes c=red #12 @1 'Enter your social security number' #13 @1 '> ' ssn 9 a=underline required=yes c=red #15 @1 'Presidential Election Campaign ' #16 @1 'Do you want $1 to go to this fund?' @38 'YES <' +1 pecy 1 @47 '> NO <' +1 pecn 1 @57 '>' ; %window money #5 @1 'Total wages,salaries, and tips. This should' #6 @1 'be shown in Box 10 of your W-2 form(s).' @46 '$' +1 wages 9 a=underline required=yes c=red #8 @1 'Enter your Federal income tax withheld from' #9 @1 'Box 9 of your W-2 form(s)' @46 '$' +1 fitw 9 a=underline required=yes c=red #11 @1 'Taxable interest income of $400 or less.' @46 '$' +1 taxint 9 a=underline required=yes c=red #13 @1 'Can your parents(or someone else) claim you' #14 @1 'on their return? ' @38 'YES <' +1 incy 1 a=highlight c=red @47 '> NO <' +1 incn 1 a=highlight c=yellow @57 '>' ; %let pecy=x; %display name_add; /**********************************************************************/ %let incy=X; %display money; /**********************************************************************/ %window taxinter irow=16 icolumn=1 rows=8 columns=60 #3 @2 'TRY AGAIN !' c=red a=blink @14 '- The amount of taxable interest ' #4 @2 'income you entered was greater than $400. ' #5 @2 'You cannot use Form 1040EZ. ' #6 @2 'Type over the incorrect amount shown: ' @47 '$' +1 taxint 9 a=underline required=yes c=red ; /**********************************************************************/ %macro t1040ez(help=Y); /* initialize macro variables */ %let wages=; %let taxinc=; %let ssn=; %let name=; %let add1=; %let add2=; %let pecn=; %let pecy=X; %let incy=X; %let incn=; /* Determine if user requested help. */ %if %upcase(&help)=Y %then %display welcome.long; %else %display welcome.short; /* Prompt user for name information. */ %display name_add blank bell; /* Prompt user for accounting information. The */ /* BLANK and BELL options are used to blank out */ /* previous values and ring bell upon display. */ %display money blank bell; /* Perform data validation and display */ /* additional window if error detected. */ /* Continue until a correct answer is given. */ %if &taxint>400 %then %do; %do %until(&taxint<=400); %display taxinter; %end; %end; /* adjusted gross income=wages+taxable int */ %let agi=%eval(&wages + &taxint); /* If you cannot be claimed on another */ /* return, then the total of your standard */ /* deduction and personal exemption */ /* would be $5300. */ %if &incn=X %then %let sdpe=5300; /* else compute the standard deduction and */ /* personal exemption(sdpe) */ %else %do; %if &wages<500 %then %let sdpe=500; %else %if 500<&wages and &wages<3250 %then %let sdpe=&wages; %else %let sdpe=3250; %end; /* compute taxable income= */ /* adjusted income - sdpe */ %let ti=%eval(&agi-&sdpe); %if &ti<0 %then %let ti=0; /* Perform DATA STEP calculations. Compute tax */ /* according to table lookup. Format taxcalc is */ /* in a permanent format library and not */ /* defined in this article. */ data _null_; call symput('tax',left(put(&ti,taxcalc.))); run; /* Compute amount of refund or tax owed. */ /* Refund=federal income tax withheld - */ /* computed tax. */ %let refund=%eval(&fitw-&tax); %if &refund<0 %then %do; %let owe=%eval(&tax-&fitw); %let refund=0; %end; /* Display window for refund or amount of */ /* tax owed. */ %if &refund=0 %then %display final.owe; %else %display final.refund; %mend; /* invoke macro T1040EZ with help requested */ %t1040ez(help=Y) /**********************************************************************/ %window final group=owe #3 @2 ' This group limited for brevity' group=refund #3 @2 ' Congratulations !' c=red #4 @2 ' You are entitled to a REFUND of $' refund protect=yes #6 @2 ' Below is a summary of your tax calculations' #8 @2 ' Reported wages, salaries, and tips $' +1 wages #9 @2 ' Reported taxable interest income $' +1 taxint #10 @2 ' Computed Adjusted Gross Income $' +1 agi #11 @2 ' Standard Deduction + Personal Exemption $' +1 sdpe #12 @2 ' Computed Taxable Income $' +1 ti #13 @2 ' Reported Federal Income Tax withheld $' +1 fitw #14 @2 ' Computed Federal Income Tax $' +1 tax #15 @2 ' Computed Federal Income Tax Refund $' +1 refund ; %display final.refund; /**********************************************************************/