DECLARE CURSOR C IS SELECT A.ACC_CODE, SUM(B.NET_AMOUNT) OP_BAL FROM MREL.MREL_SALES_BUYER_MAST A, SALES.SALES_FINAL_BILL_MASTER B WHERE A.BUYER_CODE = B.BUYER_CODE AND B.COMP_CODE = :COMP_CODE AND B.SALE_TYPE_CODE = :SALE_TYPE_CODE AND B.FBILL_DATE <= :FBILL_DATE GROUP BY A.ACC_CODE; v_COUNT NUMBER(9); BEGIN FOR R IN C LOOP SELECT COUNT(1) INTO v_COUNT FROM ACCOUNTS.ACCOUNTS_PARTY_OPENING_BALANCE WHERE PARTY_CODE = R.ACC_CODE AND COMP_CODE = :COMP_CODE AND FIN_YEAR = '09-10'; IF v_COUNT > 0 THEN UPDATE ACCOUNTS.ACCOUNTS_PARTY_OPENING_BALANCE SET OPENING_BALANCE = R.OP_BAL, DR_CR = 'D' WHERE PARTY_CODE = R.ACC_CODE AND COMP_CODE = :COMP_CODE AND FIN_YEAR = '09-10'; ELSE INSERT INTO ACCOUNTS.ACCOUNTS_PARTY_OPENING_BALANCE VALUES(R.ACC_CODE, R.OP_BAL, 'D', '09-10', :COMP_CODE, 'AMOL', SYSDATE, 'AMOL', SYSDATE, '0000000000173'); END IF; END LOOP; END;