--L'indicatore deve riportare il numero totale di richieste poste in Waiting List ed OverFlow 
--inviate giornalmente a BIT a scopo di Retention. I dati non devono essere aggregati per alcun attributo. 
--Il record deve essere prodotto anche nel caso il valore rilevato sia "zero".

SET serveroutput on

declare
    valore varchar2(255);
    data_val date;
    file1		UTL_FILE.file_type;
    freq 	varchar2(255):='&1';

cursor cur_valore is
select count(id_prog),sysdate
from MNP_CRM_RETENTION_OUT
where TRUNC (data_invio) = TRUNC (SYSDATE);

begin
dbms_output.put_line('apro il file ' || 'MNP' || '.' || to_char(sysdate,'yyyyMMdd'));
file1 := UTL_FILE.fopen('&2','MNP' || '.' || to_char(sysdate,'yyyyMMdd'),'a');
open cur_valore;
fetch cur_valore into valore, data_val;

UTL_FILE.put_line(file1,'SDNRPIC22'||';;'||valore||';'||freq||';'||'&3'|| ';'
||to_char(data_val,'yyyymmdd')||';'||to_char(data_val,'hh24:mi:ss') ||';'
||to_char(sysdate,'yyyymmdd')||';'||to_char(sysdate,'hh24:mi:ss') ||';'||'0'||';;;');

close cur_valore;
    UTL_FILE.fflush(file1);
    UTL_FILE.fclose(file1);
	dbms_output.put_line('chiudo il file ' || 'MNP' || '.' || to_char(sysdate,'yyyyMMdd'));
    exception
   		when others then
         	DBMS_OUTPUT.PUT_LINE(sqlerrm);
end;
/
exit

