-- Funzione Uf_GetFattArt V.1
CREATE OR REPLACE FUNCTION Uf_GetFattArt
(CodArt_I ARTICOLI.CODART%TYPE,
Tipo_Vend NUMBER) -- 1 = Totale; 2 = Normale; 3 = Promo 
RETURN NUMBER
AS
    v_RetVal NUMBER;
BEGIN

   IF Tipo_Vend = 3 THEN
        SELECT NVL(SUM(QTA * Prezzo),0) INTO v_RetVal
        FROM DETTSCONTRINI
        WHERE CODART = CodArt_I
        AND INPROMO = 'Si';
    ELSIF Tipo_Vend = 2 THEN
        SELECT NVL(SUM(QTA * Prezzo),0) INTO v_RetVal
        FROM DETTSCONTRINI
        WHERE CODART = CodArt_I
        AND INPROMO = 'No';
    ELSE
        SELECT NVL(SUM(QTA * Prezzo),0) INTO v_RetVal
        FROM DETTSCONTRINI
        WHERE CODART = CodArt_I;
    END IF;
    
    RETURN v_RetVal;
    
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
        RETURN(0);
        DBMS_OUTPUT.PUT_LINE ('Articolo non trovato o non venduto');
    WHEN OTHERS
    THEN
         RETURN(-1);
         DBMS_OUTPUT.PUT_LINE ('Errore Esecuzione Uf_GetPrzArt');
         
END Uf_GetFattArt;