Repeat a script by changing date variable 12 times and then append all the results to one dataframe

I've a data manipulation script wherein I need to change the date in the script 12 times (representing each month) and append the output of all the iterations to one single dataframe

Below is what I've tried so far

start <- as.Date("2018-09-01")
end   <- as.Date("2019-08-01")

theDate <- start



a<-while (theDate <= end)
{


  DW_VEH_STATUS_TODAY <- rbind(DW_VEH, transform(subset(DW_VEH, Invoice_Date<= theDate & is.na(registration_date) | registration_date> theDate),status= as.Date(paste0(theDate))))

DW_VEH_STATUS_TODAY$status<- as.Date(DW_VEH_STATUS_TODAY$status)

  DW_VEH_STATUS_TODAY<-DW_VEH_STATUS_TODAY[!is.na(DW_VEH_STATUS_TODAY$status),]

  MEDIAN_AGING_TODAY<-aggregate( Aging ~ DW_VEH_STATUS_TODAY$Last_dealer_number+ DW_VEH_STATUS_TODAY$status +DW_VEH_STATUS_TODAY$Product_line_code, DW_VEH_STATUS_TODAY, median )
  colnames(MEDIAN_AGING_TODAY)<- c('Last_dealer_number','status','Product_line_code','Median_age')
  MEDIAN_AGING_TODAY$status<- as.Date(MEDIAN_AGING_TODAY$status)



  DW_VEH_STATUS_AUG <- rbind(DW_VEH, transform(subset(DW_VEH, Invoice_Date<= as.Date(start) & is.na(registration_date) | registration_date> as.Date(start)),status= as.Date(start)))
  DW_VEH_STATUS_AUG$status<- as.Date(DW_VEH_STATUS_AUG$status)

  DW_VEH_STATUS_AUG<-DW_VEH_STATUS_AUG[!is.na(DW_VEH_STATUS_AUG$status),]

  MEDIAN_AGE_AUG<-aggregate( Aging ~ DW_VEH_STATUS_AUG$Last_dealer_number+ DW_VEH_STATUS_AUG$status +DW_VEH_STATUS_AUG$Product_line_code, DW_VEH_STATUS_AUG, median )
  colnames(MEDIAN_AGE_AUG)<- c('Last_dealer_number','status','Product_line_code','Median_age')
  MEDIAN_AGE_AUG$status<- as.Date(MEDIAN_AGE_AUG$status)
  DW_TODAY_AUG<-rbind(MEDIAN_AGE_AUG, MEDIAN_AGING_TODAY)
  DW_TODAY_AUG$concat<- paste0(DW_TODAY_AUG$Last_dealer_number, 
                               DW_TODAY_AUG$Product_line_code)

  CUST_DIV<-dbGetQuery(dbconnetion2,'select * from CUSTOMER&DIVISION')
  DW_TODAY_AUG_CUST<-merge(DW_TODAY_AUG, CUST_DIV, by.x='concat', by.y='CUSTOMER_DIVISION_SK')
  DW_TODAY_AUG_CUST<- subset(DW_TODAY_AUG_CUST, select= -c(CUSTOMER_DIVISION_PK,SNOW_SUN_BELT,                                                         STREET,DELIVERING_PLANT, RBL, ZL, DSM))


  start <- as.Date(theDate %m+% months(1) )            
}

I need to run this script by changing the 'theDate' 12 times for each month from 2018-09-01 to 2019-08-01 and then append the results in one single dataframe So in my end result I'd have 12 outputs for DW_TODAY_AUG_CUST and all of them appended to one dataframe

I'm not sure if my approach is correct as it takes forever to execute

dput for DW_VEH

structure(list(Last_dealer_number = c("0000695209", "0000695209", 
"0000695209", "0000695209", "0000695599"), Model_number = c("000FB8C00         ", 
"000FB8C00         ", "000LU8C00         ", "000LR8D00         ", 
"000LR8D00         "), serial_number = c("YH2SFB8C58R000177 ", 
"YH2SFB8C28R000248 ", "YH2LLU8C88R000229 ", "YH2LLR8D18R000157 ", 
"YH2LLR8D08R000117 "), Product_line_code = c("11", "11", "11", 
"11", "11"), Model_desc = c("SM EXP. TUV 600HO SDI Red-Black EU -08  ", 
"SM EXP. TUV 600HO SDI Red-Black EU -08  ", "SM YETI 59 TUV 600HO SDI Jet Black EU 08", 
"SM Adventure 600HO SDI  EU08            ", "SM Adventure 600HO SDI  EU08            "
), Model_Year = c(2008L, 2008L, 2008L, 2008L, 2008L), Invoice_Date = structure(c(14322, 
14305, 14251, 14284, 14357), class = "Date"), registration_date = structure(c(NA_real_, 
NA_real_, NA_real_, NA_real_, NA_real_), class = "Date"), Aging = c(3795L, 
3812L, 3866L, 3833L, 3760L), Year = c("2019", "2019", "2019", 
"2019", "2019"), status = c(NA, NA, NA, NA, NA)), row.names = c(NA, 
5L), class = "data.frame")

dput for CUST_DIV

structure(list(CUSTOMER_DIVISION_PK = 1:5, CUSTOMER_DIVISION_SK = c("000069000511", 
"000069000521", "000069000531", "000069000551", "000069000591"
), CUSTOMER_NUMBER = c("0000690005", "0000690005", "0000690005", 
"0000690005", "0000690005"), CUSTOMER_NAME = c("STEVENS CYCLE SALES, INC.          ", 
"STEVENS CYCLE SALES, INC.          ", "STEVENS CYCLE SALES, INC.          ", 
"STEVENS CYCLE SALES, INC.          ", "STEVENS CYCLE SALES, INC.          "
), COUNTRY_CODE = c("US", "US", "US", "US", "US"), REGION = c("MI ", 
"MI ", "MI ", "MI ", "MI "), SNOW_SUN_BELT = c("SNOWBELT", "SNOWBELT", 
"SNOWBELT", "SNOWBELT", "SNOWBELT"), STATE_PROVINCE_CODE = c(NA_character_, 
NA_character_, NA_character_, NA_character_, NA_character_), 
    CITY = c("BAY CITY                           ", "BAY CITY                           ", 
    "BAY CITY                           ", "BAY CITY                           ", 
    "BAY CITY                           "), POSTAL_CODE = c("48706-2023", 
    "48706-2023", "48706-2023", "48706-2023", "48706-2023"), 
    STREET = c("3636 SOUTH HURON                   ", "3636 SOUTH HURON                   ", 
    "3636 SOUTH HURON                   ", "3636 SOUTH HURON                   ", 
    "3636 SOUTH HURON                   "), SALES_ORG = c("0200", 
    "0200", "0200", "0200", "0200"), DIST_CHAN = c("01", "01", 
    "01", "01", "01"), DIVISION = c("11", "21", "31", "51", "91"
    ), DELIVERING_PLANT = c("0001", "0027", "0006", "0018", "0018"
    ), TERRITORY_CODE = c("004", "004", "004", "004", "004"), 
    RBL = c("Dan Viitala", "Dan Viitala", "Dan Viitala", "Dan Viitala", 
    "Dan Viitala"), SALES_OFFICE = c("0041", "0041", "0041", 
    "0041", "0041"), ZL = c("Mike Flesner", "Mike Flesner", "Mike Flesner", 
    "Mike Flesner", "Mike Flesner"), SALES_GROUP = c("41A", "41A", 
    "41A", "41A", "41A"), DSM = c("Greg McGovern       ", "Greg McGovern       ", 
    "Greg McGovern       ", "Greg McGovern       ", "Greg McGovern       "
    )), row.names = c(NA, 5L), class = "data.frame")

dput for DW_TODAY_AUG_CUST

structure(list(concat = c("000069000511", "000069000511", "000069000521", 
"000069000521", "000069000551"), Last_dealer_number = c("0000690005", 
"0000690005", "0000690005", "0000690005", "0000690005"), status = structure(c(18120, 
18109, 18120, 18109, 18109), class = "Date"), Product_line_code = c("11", 
"11", "21", "21", "51"), Median_age = c(249, 249, 136, 136, 66
), CUSTOMER_NUMBER = c("0000690005", "0000690005", "0000690005", 
"0000690005", "0000690005"), CUSTOMER_NAME = c("STEVENS CYCLE SALES, INC.          ", 
"STEVENS CYCLE SALES, INC.          ", "STEVENS CYCLE SALES, INC.          ", 
"STEVENS CYCLE SALES, INC.          ", "STEVENS CYCLE SALES, INC.          "
), COUNTRY_CODE = c("US", "US", "US", "US", "US"), REGION = c("MI ", 
"MI ", "MI ", "MI ", "MI "), STATE_PROVINCE_CODE = c(NA_character_, 
NA_character_, NA_character_, NA_character_, NA_character_), 
    CITY = c("BAY CITY                           ", "BAY CITY                           ", 
    "BAY CITY                           ", "BAY CITY                           ", 
    "BAY CITY                           "), POSTAL_CODE = c("48706-2023", 
    "48706-2023", "48706-2023", "48706-2023", "48706-2023"), 
    SALES_ORG = c("0200", "0200", "0200", "0200", "0200"), DIST_CHAN = c("01", 
    "01", "01", "01", "01"), DIVISION = c("11", "11", "21", "21", 
    "51"), TERRITORY_CODE = c("004", "004", "004", "004", "004"
    ), SALES_OFFICE = c("0041", "0041", "0041", "0041", "0041"
    ), SALES_GROUP = c("41A", "41A", "41A", "41A", "41A")), row.names = c(NA, 
5L), class = "data.frame")