TWYN#52147 taakstellend budget
svn path=/Database/trunk/; revision=36870
This commit is contained in:
@@ -5,6 +5,10 @@
|
||||
*/
|
||||
CREATE OR REPLACE PACKAGE bgt
|
||||
AS
|
||||
FUNCTION getMutatieOpBudget( p_budget_key IN NUMBER
|
||||
, p_mutatie_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
@@ -46,6 +50,42 @@ END bgt;
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY bgt
|
||||
AS
|
||||
FUNCTION getMutatieOpBudget( p_budget_key IN NUMBER
|
||||
, p_mutatie_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag_mut NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
BEGIN
|
||||
SELECT SUM(bedrag_mutatie)
|
||||
INTO v_bedrag_mut
|
||||
FROM (SELECT bgt_budgetmutatie_key
|
||||
, bgt_budget_key_van budget_key
|
||||
, CASE WHEN p_btw=0 THEN COALESCE(bgt_budget_bedrag_van, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(bgt_budget_btwbedrag_van, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(bgt_budget_bedrag_van, 0) + COALESCE(bgt_budget_btwbedrag_van, 0)
|
||||
END bedrag_mutatie
|
||||
FROM bgt_budgetmutatie
|
||||
UNION
|
||||
SELECT bgt_budgetmutatie_key
|
||||
, bgt_budget_key_naar budget_key
|
||||
, CASE WHEN p_btw=0 THEN COALESCE(bgt_budget_bedrag_naar, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(bgt_budget_btwbedrag_naar, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(bgt_budget_bedrag_naar, 0) + COALESCE(bgt_budget_btwbedrag_naar, 0)
|
||||
END bedrag_mutatie
|
||||
FROM bgt_budgetmutatie
|
||||
) mut
|
||||
WHERE mut.budget_key = p_budget_key
|
||||
AND mut.bgt_budgetmutatie_key = DECODE(p_mutatie_key , NULL, mut.bgt_budgetmutatie_key, p_mutatie_key);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag_mut := NULL;
|
||||
END;
|
||||
RETURN v_bedrag_mut;
|
||||
END getMutatieOpBudget;
|
||||
|
||||
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
|
||||
Reference in New Issue
Block a user