38 lines
1018 B
SQL
38 lines
1018 B
SQL
-- 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; |