SELECT CUSIP, ACCOUNT, FUND, FUND_ACCT, PHONENUM, FUNDNUM, DTOC(PREVRECN) AS Prev_Recn, NVL(past_due.reas_desc,'') AS Ovr30_reas,; NVL(oobreason.OOB_desc,'') AS oob_reason, NVL(oobaction.OOB_desc,'') AS act_taken, NVL(sourcedoc.doc_recv,'') AS source_doc, DTOC(STMT_DATE) AS STMT_DATE, FUND_POS, CMS_POS, RR_AMOUNT,; OOB_AMOUNT, DTOC(OOB_DATE) AS OOB_DATE, DTOC(TAKEACT_DT) AS TAKEACT_DT, CONTACT, CONT_NUM, OOB_NOTES, FIRST_USER,; DTOC(FIRST_DATE) AS FIRST_DATE, SEC_USER, DTOC(SEC_DATE) AS SEC_DATE, &age_date-PREVRECN AS age; FROM holdrecn h, left outer join oobreason on h.oob_num = oobreason.oob_num left outer join oobaction on h.ACTION_NUM = oobaction.ACTION_NUM, left outer join sourcedoc on h.SOURCE_NUM = sourcedoc.SOURCE_NUM, left outer join past_due on h.{fieldname} = past_due.{fieldname] WHERE &itemtype AND &desctype; INTO TABLE m.locdir+'\rept_data';The NVL should take care of any null values returned from the joins.