DECLARE
  V_CODFID VARCHAR2(20) := :CODFID;
  V_NUMSPESE BINARY_INTEGER := 0;
  V_CONTATORE1 BINARY_INTEGER := 0;
  V_CONTATORE2 BINARY_INTEGER := 0;
  V_BONUS NUMBER := 0;
  V_MAXCICLE2 NUMBER;
BEGIN
  
  SELECT
    COUNT(*)
  INTO
    V_NUMSPESE
  FROM
    CORSOPLSQL.SCONTRINI
  WHERE
    CODFID = V_CODFID;
  
  <<SPESE>>
  FOR V_CONTATORE1 IN 1..V_NUMSPESE - 15 LOOP
    DBMS_OUTPUT.PUT_LINE('Spesa ' || V_CONTATORE1);
  
    V_MAXCICLE2 := V_NUMSPESE - 15;
    V_BONUS := 0;
    
    <<BONUS>>
    FOR V_CONTATORE2 IN 1..V_MAXCICLE2 LOOP
      V_BONUS := V_BONUS + 100;
      DBMS_OUTPUT.PUT_LINE('Creato Bonus extra (+100) ' || V_CONTATORE2 || ' della Spesa ' || V_CONTATORE1);
    END LOOP;
  
    DBMS_OUTPUT.PUT_LINE('Bonus Totale Spesa ' || V_CONTATORE1 || ': ' || V_BONUS);
  END LOOP;

  DBMS_OUTPUT.PUT_LINE('Fatto!');
END;
