We are doing SAS9 migration from M5 to M8. We noticed that in running the same program code with the INPUT function. The data feeding input line from file to variables contains an error, the error contents will not output to the program log in M5 but it will on the M8 system. We need to put '??' to suppress the error message printing to prevent dumping user data to the program log directly.
proc sql noprint;
5583 select
5584 cat('(' ,start, '<=' ,'input(&&OLDVAR&i.,?? anydtdtm.)', '< ',end,')') into : BST_Date_Check separated by ' or '
5585 from fmt
5586 where start ne .
5587 ;
From SAS document (Ref: https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lefunctionsref/p19en16vskd2vhn1vwmxpxnglxxs.h...
INPUT(source, <? | ??> informat.)
? or ??
specifies the optional question mark (?) and double question mark (??) modifiers that suppress the printing of notes and input lines when invalid data values are read. The ? modifier suppresses the invalid data message. The ?? modifier suppresses the invalid data message and prevents the automatic variable _ERROR_ from being set to 1 when invalid data is read.
Question:
1. Are there any SAS Options that can help suppress the printing behaviour? We are suspecting there are options preset on the M5 system but I have compared the full options list but have not identified any major differences.
2. Is it a behaviour change in M8
Thank you for your sharing.