select po.frt_pc, decode(:def_cur,'d',po.frt_amt,'c',po.frt_amt) frt_amt, po.frt_qty, po.closed po_closed, po.doc_no doc_no1, rtrim(dcode.pref)||po.doc_no doc_no, po.doc_date, decode(:def_cur,'d',po2.rate,'c',po2.rate) price, po2.per_unit, decode(:def_cur,'d',po2.disc_amt,'c',po2.disc_amt) disc_amt , po2.qty, imas.code||' '||imas.rev_no||' '|| imas.name item_no, imas.name, uom.code uom, party.code supp_code, party.name supplier, po2.closed po2_closed, po2. ed_pc , po2. st_pc, sum(po3.qty - po3.supp_qty + po3.rej_qty) bal_qty, 0 cur_sl, mcat.code cat,plan.code pcode, plan.name pname from po,po2,po3,imas,uom,party,dcode mcat,dcode, plan where po.sl_no = po2.po_sl and po3.po2_sl = po2.sl_no and po.co_code = '01' and po2.doc_date between to_date('01-jun-2008') and to_date(sysdate) and po2.item_sl= imas.sl_no and imas.unit_sl = uom.sl_no and po.party_sl = party.sl_no and po2.cat_sl = mcat.sl_no and po3.item_sl = imas.sl_no and po.type_sl = dcode.sl_no and po.approved = 1 and (po.pr_type between '01' and '10') --and po2.party_sl= po.party_sl --and po3.party_sl = po2.party_sl group by po.frt_pc, decode(:def_cur,'d',po.frt_amt,'c',po.frt_amt), po.frt_qty, po.doc_no , rtrim(dcode.pref)||po.doc_no , po.doc_date, po.closed, decode(:def_cur,'d',po2.rate,'c',po2.rate) , po2.per_unit, decode(:def_cur,'d',po2.disc_amt,'c',po2.disc_amt) , po2.qty, po2.closed, imas.code||' '||imas.rev_no||' '|| imas.name ,imas.name,uom.code , party.code, party.name, po2. ed_pc , po2. st_pc, 0, mcat.code,plan.code , plan.name