If macro variables could be set to default values before prompting, that would allow for complex scenarios.
For example, on the first week of the month, set &begin_date and &end_date to the first and last days of the previous month, but on subsequent days of the month, set &begin_date and &end_date to the first and current days of the current month.