DECLARE V_COUNT NUMBER := 0; NO_OF_PARTIES NUMBER := 0; V_PRODUCTION_PERIOD DATE := '&&1'; CURSOR cREC IS SELECT DISTINCT company FROM myTransactions WHERE (commodity = 'CN' AND accounting_date = TO_NUMBER(TO_CHAR(ADD_MONTHS(TO_DATE('&&1','DD-MON-YYYY'),-1),'yyyymm')) AND production_date = TO_NUMBER(TO_CHAR(ADD_MONTHS(TO_DATE('&&1','DD-MON-YYYY'),-1),'yyyymm')) ) OR (commodity != 'CN' AND accounting_date = TO_NUMBER(TO_CHAR(TO_DATE('&&1','DD-MON-YYYY'),'yyyymm')) AND production_date = TO_NUMBER(TO_CHAR(ADD_MONTHS(TO_DATE('&&1','DD-MON-YYYY'),-1),'yyyymm')) ) ORDER BY company; BEGIN FOR REC IN cREC LOOP V_COUNT := V_COUNT + 1; SELECT COMPANY INTO V_COMPANY FROM myTransactions WHERE COMPANY = cREC.COMPANY; /*It does not like this line*/ DBMS_OUTPUT.PUT_LINE(' REPORTS CREATED FOR - ' ||V_COMPANY); END LOOP; END;