Here's a piece of sql that will help you find the date of the first monday of a given year and month.
TO_DATE(CONCAT(CONCAT(?Year?,?Month?),TO_CHAR(TRUNC(DECODE(TO_NUMBER(TO_CHAR(TO_DATE(CONCAT(CONCAT(?Year?,?Month?),'01') ,'YYYYMMDD' ) ,'D')),1,2 ,2,1,3,7,4,6,5,5,6,4,3) ) )) ,'YYYYMMDD' )
In impromptu, the calculation for first monday of the month and year will be given by;
First_Monday = to_date(concat(concat(?Year?, ?Month?),number-to-string(decode(or_dayOfWeek(to_date(concat(concat(?Year?, ?Month?),'01'),'YYYYMMDD'),1,2,2,1,,3,7,4,6,5,5,6,4,3))),'YYYYMMDD')
Subsequent mondays can be found by;
Second_Monday = add-days(First_Monday, 7)
Third_Monday = add-days(First_Monday, 14) etc.
I know the formula is very involved but it will work. The formula is based on the oracle return value of 1 for Sunday, so that Monday is 2. If the return value is different, modify the decode statement accordingly.
HTH