For a counterexample, this code also demands a &TERM parameter when run in report caster, but when one is supplied the -SET commands correctly override it and produce a report based on the current date:
-*---------------GET-DATE-------------------
-SET &CYEAR = EDIT (&YYMD.EVAL, '9999');
-SET &PYEAR = &CYEAR - 1;
-SET &CMONTH = EDIT (&YYMD.EVAL, '$$$$99$$');
---*----------------------Cal Mo-------Year Term-
-SET &TERM = 201600;
-SET &TERM = IF &CMONTH EQ '01' THEN &PYEAR||60 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '02' THEN &PYEAR||60 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '03' THEN &PYEAR||60 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '04' THEN &PYEAR||60 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '05' THEN &PYEAR||60 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '06' THEN &PYEAR||60 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '07' THEN &CYEAR||20 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '08' THEN &CYEAR||20 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '09' THEN &CYEAR||20 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '10' THEN &CYEAR||20 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '11' THEN &CYEAR||20 ELSE &TERM;
-SET &TERM = IF &CMONTH EQ '12' THEN &CYEAR||20 ELSE &TERM;
-*------------------------------------------------
I still have no idea why it's only coming asking for &TERM other than that &TERM is used in a WHERE statement further down to sort out data by term.
WebFOCUS 8202
Windows, All Outputs