Without seeing your table definition, we can only guess...
settlement_Date IN
(to_char(add_months(SYSDATE,-1),'mmyyyy'),to_char(add_months(SYSDATE,-2),'mmyyyy'), to_char(add_months(SYSDATE,-3),'mmyyyy'))
My guess is: settlement_Date is a date, which cannot be compared to a string of length six.
Try this:
to_char(settlement_Date,'mmyyyy')
IN (to_char(add_months(SYSDATE,-1),'mmyyyy'),
to_char(add_months(SYSDATE,-2),'mmyyyy'),
to_char(add_months(SYSDATE,-3),'mmyyyy'))
Hope this helps,
Pablo.