Informatica implicit conversion date type parameter
1011008May 25 2013 — edited May 29 2013I am implementing Oracle BI Apps 7.9.6.4 for Oracle EBS. I have a problem while running load for HR Analytics. The issue is that the mapping fails with following error:
Error - [Oracle][ODBC][Ora]ORA-01843: not a valid month
Reason – invalid where clause in the source sql:
where pt.person_type_id = ptu.person_type_id
and ptu.effective_end_date >= TO_DATE('1970-01-01 00:00:00','MM/DD/YYYY HH24:MI:SS')
As you can see, the string format is incorrect. This is the actual SQL with the variable:
where pt.person_type_id = ptu.person_type_id
and ptu.effective_end_date >= TO_DATE('$$INITIAL_EXTRACT_DATE','MM/DD/YYYY HH24:MI:SS')
The parameter value is set correctly at the beginning of the session in Informatica:
Use default value [01/01/1970] for mapping parameter:[mplt_BC_ORA_PersistedStage_WorkforceEvent_PersonType.$$INITIAL_EXTRACT_DATE].
But, when it creates the sql, it’s using incorrect format of YYYY-MM-DD as the string as shown earlier.
The parameter format is set correctly as MM/DD/YYYY in DAC as well. I dont understand why Informatica is doing an implicit conversion to YYYY-MM-DD when setting the parameter value. This is impacting a lot of mappings, so I am trying to avoid changing the where clause everywhere this is used.
Any help will be appreciated.