declare cursor c1 is select * from factory_data.grn_detl where nvl(gd_status,'O') = 'O' order by gd_gm_id, gd_serno; rec c1%rowtype; v_check varchar2(1) := null; vid factory_data.grn_detl.gd_gm_id%type; vsno factory_data.grn_detl.gd_serno%type; vcode factory_data.grn_detl.gd_cim_icode%type; begin for rec in c1 loop begin message('1 '||rec.gd_gm_id||' - '||rec.gd_serno||' - '||rec.gd_cim_icode); select 'x', a.gd_gm_id, a.gd_serno, a.gd_cim_icode into v_check, vid, vsno, vcode from store.grn_detl a where a.gd_gm_id = rec.gd_gm_id and a.gd_serno = rec.gd_serno and a.gd_cim_icode = rec.gd_cim_icode; message('2 '||' - '||vid||' = '||rec.gd_gm_id||' and '||vsno||' = '||rec.gd_serno||' and '||vcode||' = '||rec.gd_cim_icode); if v_check = 'x' then --sql%found then message('DF '||v_check||' - '||rec.gd_gm_id||' - '||rec.gd_pom_no||' - '||rec.gd_cim_icode||' - '||rec.gd_qty||' - '||rec.gd_serno);--message(rec.gd_pom_no||' - '||rec.gd_cim_icode||' - '||rec.gd_qty); update store.grn_detl set GD_POM_ID = rec.gd_pom_id, GD_PO_DATE = rec.gd_po_date, GD_CHALLAN_NO = rec.gd_challan_no, GD_CHALLAN_DT = rec.gd_challan_dt, GD_CIM_ICODE = rec.gd_cim_icode, GD_CUOM_UCODE = rec.gd_cuom_ucode, GD_QTY = rec.gd_qty, GD_POM_NO = rec.gd_pom_no, GD_STATUS = rec.gd_status, GD_SERNO = rec.gd_serno, GD_REQ_SERNO = rec.gd_req_serno where gd_gm_id = rec.gd_gm_id; else null; end if; exception when no_data_found then message('NDF '||v_check||' - '||rec.gd_gm_id||' - '||rec.gd_pom_no||' - '||rec.gd_cim_icode||' - '||rec.gd_qty||' - '||rec.gd_serno);--message(rec.gd_pom_no||' - '||rec.gd_cim_icode||' - '||rec.gd_qty); insert into store.grn_detl(gd_gm_id, gd_pom_id, gd_po_date, gd_challan_no, gd_challan_dt, gd_cim_icode, gd_cuom_ucode, gd_qty, gd_pom_no, gd_status, gd_serno, gd_req_serno) values(rec.gd_gm_id, rec.gd_pom_id, rec.gd_po_date, rec.gd_challan_no, rec.gd_challan_dt, rec.gd_cim_icode, rec.gd_cuom_ucode, rec.gd_qty, rec.gd_pom_no, rec.gd_status, rec.gd_serno, rec.gd_req_serno); when too_many_rows then message('TMR '||v_check||' - '||rec.gd_gm_id||' - '||rec.gd_pom_no||' - '||rec.gd_cim_icode||' - '||rec.gd_qty||' - '||rec.gd_serno);--message(rec.gd_pom_no||' - '||rec.gd_cim_icode||' - '||rec.gd_qty); insert into store.grn_detl(gd_gm_id, gd_pom_id, gd_po_date, gd_challan_no, gd_challan_dt, gd_cim_icode, gd_cuom_ucode, gd_qty, gd_pom_no, gd_status, gd_serno, gd_req_serno) values(rec.gd_gm_id, rec.gd_pom_id, rec.gd_po_date, rec.gd_challan_no, rec.gd_challan_dt, rec.gd_cim_icode, rec.gd_cuom_ucode, rec.gd_qty, rec.gd_pom_no, rec.gd_status, rec.gd_serno, rec.gd_req_serno); end; exit when c1%notfound; end loop; end;