Files
apollinare-catering-software/docs/functions/F_GET_COSTO_ARTICOLO.md
2025-12-17 13:02:12 +01:00

884 B

F_GET_COSTO_ARTICOLO

Codice Sorgente

function f_get_costo_articolo(p_cod_articolo varchar2, p_date date)
return number
as
    v_costo number := null;
begin

    -- Cerco il costo alla data
    begin
        SELECT a.costo_uni
        into v_costo
        FROM COSTI_ARTICOLI a
        where a.data_costo = p_date
        and a.cod_articolo = p_cod_articolo;
    exception when no_data_found then
        v_costo := null;
    end;

    -- Se non lo trovo prendo l'ultimo costo
    begin
        SELECT a.costo_uni
        into v_costo
        FROM COSTI_ARTICOLI a
        WHERE a.DATA_COSTO = (SELECT max(b.DATA_COSTO) FROM COSTI_ARTICOLI b where b.cod_articolo = a.cod_articolo)
        and a.cod_articolo = p_cod_articolo;
    exception when no_data_found then
        v_costo := null;
    end;

    -- se non trovo niente torno 0
    return nvl(v_costo, 0);
end;