DECLARE CURSOR C1 IS SELECT ACC_CODE,ACC_LEVEL, IELA, GROUP_LEDGER FROM ACCOUNTS.ACCOUNTS_ACCOUNT_MAST WHERE (COMP_CODE IS NULL OR COMP_CODE = :COMPCODE); BEGIN FOR REC IN C1 LOOP INSERT INTO ACCOUNTS.ALL_ACC_HIERARCHY SELECT REC.ACC_CODE, B.ACC_CODE, B.IELA, B.GROUP_LEDGER, :FINYEAR, :COMPCODE FROM ACCOUNTS.ACCOUNTS_ACCOUNT_MAST B WHERE CHECK_PARENT_ACCOUNT(B.ACC_CODE, REC.ACC_LEVEL)= REC.ACC_CODE AND (B.COMP_CODE IS NULL OR B.COMP_CODE = :COMPCODE); END LOOP; END;