-- D:\misH_CVS\mish_skripte\rm_gas5496.pkb -- -- Generated for Oracle 8 on Tue Mar 04 13:35:03 2025 by Server Generator 6.5.96.5.6 PROMPT Creating Package Body 'RM_GAS5496' CREATE OR REPLACE PACKAGE BODY RM_GAS5496 IS FUNCTION KOL_IZLAZ (MT_ID_P I_INV_UI.MT_ID%TYPE ,NAM_ID_P I_INV_UI.NAM_ID%TYPE ,DATUM_P I_INV_UI.DATUM%TYPE ) RETURN NUMBER IS datum_inv_l i_inv_ui.datum%TYPE; kol_izlaz_l i_inv_ui.kol_izlaz%TYPE; BEGIN SELECT MAX(datum) INTO datum_inv_L FROM i_inv_ui WHERE mt_id = mt_id_P AND nam_id = nam_id_P AND datum < datum_P AND ozn_inventure = 'C'; IF datum_inv_l IS NULL THEN /* Ako namirnica nije popisana na prethodnim inventuri tada se uzima ukupan izlaz od pojave te namirnice u prometu */ SELECT SUM(dui.kol_izlaz - dui.kol_storno_izlaz_sup + dui.kol_izlaz_sup) INTO kol_izlaz_l FROM i_dnev_ui dui WHERE mt_id = mt_id_P AND nam_id = nam_id_P AND datum <= datum_P; ELSE /* Uzima se promet od zadnje inventure na kojoj je napravljen popis */ SELECT SUM(dui.kol_izlaz - dui.kol_storno_izlaz_sup + dui.kol_izlaz_sup) INTO kol_izlaz_l FROM i_dnev_ui dui WHERE mt_id = mt_id_P AND nam_id = nam_id_P AND datum BETWEEN datum_inv_L AND datum_P; END IF; RETURN kol_izlaz_l; END; FUNCTION IZN_IZLAZ (MT_ID_P I_INV_UI.MT_ID%TYPE ,NAM_ID_P I_INV_UI.NAM_ID%TYPE ,DATUM_P I_INV_UI.DATUM%TYPE ) RETURN NUMBER IS datum_inv_l i_inv_ui.datum%TYPE; izn_izlaz_l i_inv_ui.izn_izlaz%TYPE; BEGIN SELECT MAX(datum) INTO datum_inv_L FROM i_inv_ui WHERE mt_id = mt_id_P AND nam_id = nam_id_P AND datum < datum_P AND ozn_inventure = 'C'; IF datum_inv_l IS NULL THEN /* Ako namirnica nije popisana na prethodnim inventuri tada se uzima ukupan izlaz od pojave te namirnice u prometu */ SELECT SUM((dui.kol_izlaz - dui.kol_storno_izlaz_sup + dui.kol_izlaz_sup) * dui.pros_nab_cijena) INTO izn_izlaz_l FROM i_dnev_ui dui WHERE mt_id = mt_id_P AND nam_id = nam_id_P AND datum <= datum_P; ELSE /* Uzima se promet od zadnje inventure na kojoj je napravljen popis */ SELECT SUM((dui.kol_izlaz - dui.kol_storno_izlaz_sup + dui.kol_izlaz_sup) * dui.pros_nab_cijena) INTO izn_izlaz_l FROM i_dnev_ui dui WHERE mt_id = mt_id_P AND nam_id = nam_id_P AND datum BETWEEN datum_inv_L AND datum_P; END IF; RETURN izn_izlaz_l; END; END RM_GAS5496; / SHOW ERROR