When you are comparing two dates, it is best if both are in DATE datatype.
If both columns are already in DATE datatype, then you don't have to worry about converting them (although you may need to worry about whether you need to TRUNC() the date to the start of the day/month/year/hour etc); you can just compare them as DATEs.
If one or more column is a string, then you are going to have to convert it into a DATE datatype, which you can do using TO_DATE.
So, in your query, it looks like you need to change
AND TO_CHAR (ptf.txn_issue_dt, 'yy-mon-dd') = TO_DATE (cr.issue_dt, 'mm/dd/yy')
to
AND TO_DATE (ptf.txn_issue_dt, 'yy-mon-dd') = cr.issue_dt
Obviously, the format of your date-as-a-string column dictates the format mask that you use. It looks like your data has 2-digit years? (Ick, ick, ick, ick! It's like Y2K never even happened...) If so, then you may be better off using a format mask of 'rr-mon-dd' in order to get a better guess as to what the first two digits of the year are.
Eg. if your string dates look like '23/08/2015' then you'd do TO_DATE(ptf.txn_issue_dt, 'dd/mm/yyyy')
NB. NEVER do a TO_DATE() on something that is already a DATE datatype; you've introduced a potential bug, as Oracle will have to do an implicit conversion behind the scenes which relies on the default nls_date_format parameter, and this could result in an error or an incorrect date being returned:
alter session set nls_date_format = 'dd/mm/yy hh24:mi:ss';
select to_char(to_date(sysdate, 'dd/mm/yyyy hh24:mi:ss'), 'dd/mm/yyyy hh24:mi:ss') dt from dual;
DT
-------------------
25/08/0015 12:25:20