The condition in a %IF is normally evaluated using the %EVAL() macro function. That function does not handle floating point numbers or literals. So you need to generate your own test using the %SYSEVALF() macro function instead if you are comparing date literals.
Also you need to convert your date like string into a date value, either an actual number of days or a date literal, before you can compare dates.
%let datenumber = %sysfunc(intnx(month,&termdate.,&ii,B));
%let dateliteral = "%sysfunc(intnx(month,&termdate.,&ii,B),Date9.)"d;
%if %sysevalf(&datenumber. ge '01FEB2018'd) %then %do;
%if %sysevalf(&dateliteral. ge '01FEB2018'd) %then %do;
... View more