Hello,
In trying to clean up my code, I've run into a roadblock. I'm trying to create a dummy variable based on two conditions in a loop in a neater way.
Below is how I originally coded it:

Code:
drop _all
clear all

set obs 179

egen regid = seq(), to(30)

egen month = seq(), from(540) to(719)

#delimit ;
forvalues i=1(1)10{ ;
    gen es`i' = 0 ;
    replace es`i' = 1 if
        fbtdate == (`i' -9) &regid == 1  | fbtdate == (`i' -9) &regid == 2  |
        fbtdate == (`i' -9) &regid == 3  | fbtdate == (`i' -9) &regid == 4  |
        fbtdate == (`i' -9) &regid == 5  | fbtdate == (`i' -9) &regid == 6  |
        fbtdate == (`i' -9) &regid == 7  | fbtdate == (`i' -9) &regid == 8  |
        fbtdate == (`i' -9) &regid == 9  | fbtdate == (`i' -9) &regid == 10 |
        fbtdate == (`i' -9) &regid == 11 | fbtdate == (`i' -9) &regid == 12 |
        fbtdate == (`i' -9) &regid == 13 | fbtdate == (`i' -9) &regid == 17 |
        fbtdate == (`i' -9) &regid == 18 | fbtdate == (`i' -9) &regid == 19 |
        fbtdate == (`i' -9) &regid == 23 | fbtdate == (`i' -9) &regid == 24 |
        fbtdate == (`i' -9) &regid == 25 | fbtdate == (`i' -9) &regid == 26 |
        fbtdate == (`i' -9) &regid == 27 | fbtdate == (`i' -9) &regid == 28 ;
    };

In trying to clean it up, I've coded it this way:

Code:
drop _all
clear all

set obs 179

egen regid = seq(), to(30)

egen month = seq(), from(540) to(719)

#delimit ;
gen fbtdate = month - ym(2016, 07) + 1;

forvalues i=1(1)10{ ;
    gen es`i' = 0 ;
    replace es`i' = 1 if fbtdate == (`i' -9)
    & regid == inlist(1, 2, 3);
};
But 0 changes are being made to the variables. How would I go about doing this?

Thank you