Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROCEDURE SEARCH_GEST_BANDI_MISURE(
- soggettoConcedenteVar VARCHAR2,
- codAiutoRNAVar VARCHAR2,
- idBandoVar NUMBER,
- titoloMisuraVar VARCHAR2,
- titoloBandoVar VARCHAR2,
- aResultCode OUT VARCHAR2,
- aResultMessage OUT VARCHAR2,
- aResultGestoriDetail OUT TABLE_GEST_BAN_MIS_DETAIL )
- AS
- CURSOR c_gestori_misure
- IS
- SELECT nvl(pad.COD_UFF_GESTORE,pad.COD_UFF_AUTORE) AS id_ufficio, mis.COD_AIUTO_RNA, mis.TITOLO_MISURA, pa.DES_AMM
- FROM MIS_MISURA_PADRE pad,
- MIS_VW_MISURA_LAST_CONS_VERS mis,
- BDA_AREA_ORGANIZZATIVA aoo,
- BDA_PUBBLICA_AMMINISTRAZIONE pa,
- BDA_UFFICIO_GESTORE ug
- WHERE pad.CAR_PADRE = mis.CAR_PADRE
- AND nvl(pad.COD_UFF_GESTORE,pad.COD_UFF_AUTORE) = ug.ID_UG
- AND ug.COD_AMM = aoo.COD_AMM
- AND ug.COD_AOO = aoo.COD_AOO
- AND aoo.COD_AMM = pa.COD_AMM
- AND nvl(codAiutoRNAVar,mis.COD_AIUTO_RNA) = mis.COD_AIUTO_RNA
- AND (' ' || LOWER(mis.TITOLO_MISURA) || ' ') LIKE ('%' || LOWER(nvl(titoloMisuraVar,mis.TITOLO_MISURA)) || '%')
- --and nvl(soggettoConcedenteVar,pa.DES_AMM) = pa.DES_AMM
- AND (' ' || LOWER(aoo.DES_AOO) || ' ') LIKE ('%' || LOWER(nvl(soggettoConcedenteVar,aoo.DES_AOO)) || '%')
- ;
- CURSOR c_gestori_bandi
- IS
- SELECT ban.AUTORITA_GESTIONE AS id_ufficio, ban.ID_BANDO, ban.TITOLO, pa.DES_AMM
- FROM BDA_BANDO ban,
- BDA_AREA_ORGANIZZATIVA aoo,
- BDA_PUBBLICA_AMMINISTRAZIONE pa,
- BDA_UFFICIO_GESTORE ug,
- MIS_MISURA_PADRE pad,
- MIS_VW_MISURA_LAST_CONS_VERS mis
- WHERE ban.AUTORITA_GESTIONE = ug.ID_UG
- AND FLAG_CANCELLATO != 'SI'
- AND mis.CAR_PADRE = pad.CAR_PADRE
- AND ban.COD_AIUTO_RNA = pad.CAR_PADRE
- AND ug.COD_AMM = aoo.COD_AMM
- AND ug.COD_AOO = aoo.COD_AOO
- AND aoo.COD_AMM = pa.COD_AMM
- AND nvl(idBandoVar,ban.ID_BANDO) = ban.ID_BANDO
- AND (' ' || LOWER(ban.TITOLO) || ' ') LIKE ('%' || LOWER(nvl(titoloBandoVar, ban.TITOLO)) || '%')
- --and nvl(soggettoConcedenteVar,pa.DES_AMM) = pa.DES_AMM
- AND (' ' || LOWER(aoo.DES_AOO) || ' ') LIKE ('%' || LOWER(nvl(soggettoConcedenteVar,aoo.DES_AOO)) || '%')
- AND nvl(codAiutoRNAVar,mis.COD_AIUTO_RNA) = mis.COD_AIUTO_RNA
- AND (' ' || LOWER(mis.TITOLO_MISURA) || ' ') LIKE ('%' || LOWER(nvl(titoloMisuraVar,mis.TITOLO_MISURA)) || '%')
- ;
- CURSOR c_output_detail (idUffGestList TABLE_NUMBER)
- IS
- SELECT DISTINCT DENOMINAZIONE_ENTE, LINK_URL_TRASPARENZA FROM BDA_VW_TRASPARENZA_GESTORI WHERE ID_UG IN (SELECT column_value FROM TABLE(idUffGestList))
- ORDER BY LOWER(DENOMINAZIONE_ENTE)
- ;
- aCounter NUMBER;
- aResultIdUffGestList TABLE_NUMBER;
- aGestoreDetail GEST_BAN_MIS_DETAIL;
- BEGIN
- BEGIN
- aCounter := 0;
- aResultIdUffGestList := TABLE_NUMBER();
- aResultCode :='0';
- aResultMessage :='OK';
- aResultGestoriDetail := TABLE_GEST_BAN_MIS_DETAIL();
- FOR g_misura IN c_gestori_misure
- LOOP
- aResultIdUffGestList.EXTEND;
- aCounter := aCounter+1;
- aResultIdUffGestList(aCounter) := g_misura.id_ufficio;
- DBMS_OUTPUT.PUT_LINE('Gestore Misura id_ufficio ' || aResultIdUffGestList(aCounter));
- END LOOP;
- DBMS_OUTPUT.PUT_LINE('aResultIdUffGestList size ' || aResultIdUffGestList.COUNT);
- FOR g_bando IN c_gestori_bandi
- LOOP
- aResultIdUffGestList.EXTEND;
- aCounter := aCounter+1;
- aResultIdUffGestList(aCounter) := g_bando.id_ufficio;
- DBMS_OUTPUT.PUT_LINE('Gestore Bando id_ufficio ' || aResultIdUffGestList(aCounter));
- END LOOP;
- DBMS_OUTPUT.PUT_LINE('aResultIdUffGestList size ' || aResultIdUffGestList.COUNT);
- aResultIdUffGestList:=SET(aResultIdUffGestList);
- aCounter:=0;
- FOR od IN c_output_detail (aResultIdUffGestList)
- LOOP
- aResultGestoriDetail.EXTEND;
- aCounter := aCounter+1;
- aGestoreDetail := GEST_BAN_MIS_DETAIL(od.DENOMINAZIONE_ENTE,od.LINK_URL_TRASPARENZA);
- aResultGestoriDetail(aCounter) := aGestoreDetail;
- DBMS_OUTPUT.PUT_LINE('Output: DENOMINAZIONE_ENTE' || od.DENOMINAZIONE_ENTE || ' ID_COMPONENTE_AIUTO ' || od.LINK_URL_TRASPARENZA);
- END LOOP;
- EXCEPTION
- WHEN OTHERS THEN
- ROLLBACK;
- aResultCode := '100';
- aResultMessage := '[BDA_SEARCH_ENGINE.SEARCH_GEST_BANDI_MISURE]' || SQLERRM || ' - ' ||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE;
- END;
- IF aResultMessage IS NULL THEN
- aResultCode := '0';
- aResultMessage := 'OK';
- END IF;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement