I'm trying to create a loop within Stata to apply a series of actions (including a merge, replacing missing values, replacing a date variable, sorting, and saving) to 3 different dta files (menin.dta, Bmenin.dta, and nonBmenin.dta). Below I have copied how to complete these tasks without a loop, but I want to figure out how to loop this code for the sake of simplifying it.
use "C:\Users\Desktop\menin.dta",clear
merge 1:1 bene_id using Controls,nogenerate
replace menin= 0 if menin ==.
replace date= refdate if menin ==0
sort bene_id
save "C:\Users\Desktop\menin2.dta",replace
use "C:\Users\Desktop\Bmenin.dta",clear
merge 1:1 bene_id using Controls,nogenerate
replace Bmenin= 0 if Bmenin ==.
replace date= refdate if Bmenin ==0
sort bene_id
save "C:\Users\Desktop\Bmenin2.dta",replace
use "C:\Users\Desktop\nonBmenin.dta",clear
merge 1:1 bene_id using Controls,nogenerate
replace nonBmenin= 0 if nonBmenin ==.
replace date= refdate if nonBmenin ==0
sort bene_id
save "C:\Users\Desktop\nonBmenin2.dta", replace