If your existing date field can be used to identify the records to be purged, then you could simply create a procedure in ODI along the lines of
delete from <%=odiRef.getSchemaName( )%>.*your_table* where your_date_field < (sysdate - 90)
This is the simplest way, but be wary of your indexes on the table that they don't get too fragmented. You could also investigate using a daily partition startegy on the table which would enable you to drop partitions older than 90 days which would be much faster.