Other aproach: **myrepo.prg LPARAMETERS myrate LOCAL pcoderate m.pcoderate = ICASE(m.myrate=1,"Pcode1.Crate",m.myrate=2,"pcode1.Brate", m.myrate=3,"pcode1.Mrp",[0]) SELECT ItStk.*, NVL(&pcoderate,000000000000.00) AS PCodeFieldToPrint; && Put as many zeroes as length of the PCode field you want to use in report. FROM ItStk; LEFT JOIN PCode1 ON ItStk.PCode == PCode1.PCode; INTO CURSOR crsReportPut the report to use default data session and base the report on crsReport.