Hi Fellas, Sorry in advance if my question was already discussed here or it is not for this section. System I am running my jobs: z/OS I am new with SAS programming (more like a NOOB) but am trying to catch up, so thank you for your effort and thoughts in advance. Issue: Last two months I have data integrity issues. The data for JAN20 and FEB20 is treated as older them JAN2018 (data is stored only for the last two year). ============== JAN20 FEB20 JAN18 FEB18 . . . DEC19 ========== I was able to find that in SAS 9.3 and earlier, the default value of the YEARCUTOFF= option is 1920 and this is going to cause data integrity issues because any 2-digit years of "20" in dates will be assumed to be 1920 instead of 2020. To check my SAS version I found that I need to code this in my JCL: PROC OPTIONS OPTION=YEARCUTOFF; Actually I was really surprised to see the result: SAS 9.4 TS1M2 and the YEARCUTOFF=1960; So my question is, if the YEARCUTOFF is 1960 not 1920, why my data from 2020 is treated as older then 2019 and 2018? Usually I need the data only for the previous month so I use below: IF MONTHYR GT '01JAN20'D; but now I am collecting the data for the last 2 years. My workaround is to use LT '01JAN18'D, but this is collecting for JAN and FEB20 and I want only for February. If I try with EQ '01FEB20'D, I am not receiving the output data. I tried with: IF MONTHYR LT '01JAN18'D; IF MONTHYR NE '01JAN20;D; - but this is collecting the data for JAN20 and FEB20. Last year I didn't face any issues during the transition from 2018 to 2019, so why now?
... View more