An ORACLE date type is really a form of timestamp (date and time component). When ORACLE introduced their timestamp type, it was differed from DATE and creates a few wrinkles re how ORACLE may handle implicit type casting etc.
As of 10.2.2 an option was provided (CQM and DQM). It is a global property when set.
For predicates (i.e. equality, between , in), any timestamp literal which has a ZERO (all 0) time component will be expressed as an ORACLE date literal to the ORACLE JDBC driver. If you need further help, please contact support.https://www.ibm.com/support/knowledgecenter/SSEP7J_10.2.2/com.ibm.swg.ba.cognos.ug_cra.10.2.2.doc/r_uda_adv_settings_content.html
Value assigned must be ORACLE:TRUE