FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Database/trunk/; revision=34566
This commit is contained in:
136
BGT/BGT_PAC.SRC
136
BGT/BGT_PAC.SRC
@@ -3,7 +3,143 @@
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
CREATE OR REPLACE PACKAGE bgt
|
||||
AS
|
||||
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getBudgetOpDatum ( p_budget_key IN NUMBER
|
||||
, p_datum DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getGefactureerd ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getTefactureren ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
END bgt;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY bgt
|
||||
AS
|
||||
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag_mut NUMBER;
|
||||
BEGIN
|
||||
v_bedrag_mut := 0;
|
||||
BEGIN
|
||||
SELECT COALESCE(SUM(mut.bedrag_van), 0)
|
||||
INTO v_bedrag_mut
|
||||
FROM (SELECT SUM(bgt_budget_bedrag_van) bedrag_van
|
||||
FROM bgt_budgetmutatie
|
||||
WHERE bgt_budget_key_van = p_budget_key
|
||||
AND ((p_datum_van IS NOT NULL AND bgt_budgetmutatie_datum >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND bgt_budgetmutatie_datum < p_datum_tot) OR p_datum_tot IS NULL)
|
||||
UNION
|
||||
SELECT SUM(bgt_budget_bedrag_naar) bedrag_van
|
||||
FROM bgt_budgetmutatie
|
||||
WHERE bgt_budget_key_naar = p_budget_key
|
||||
AND ((p_datum_van IS NOT NULL AND bgt_budgetmutatie_datum >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND bgt_budgetmutatie_datum < p_datum_tot) OR p_datum_tot IS NULL)
|
||||
) mut;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag_mut := 0;
|
||||
END;
|
||||
RETURN v_bedrag_mut;
|
||||
END getBudgetMutaties;
|
||||
|
||||
FUNCTION getBudgetOpDatum ( p_budget_key IN NUMBER
|
||||
, p_datum DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
v_mutatie NUMBER;
|
||||
v_eindbedrag NUMBER;
|
||||
BEGIN
|
||||
v_bedrag := 0;
|
||||
BEGIN
|
||||
SELECT COALESCE(bgt_budget_bedrag, 0)
|
||||
, BGT.getBudgetMutaties(bgt_budget_key, p_datum+1, NULL)
|
||||
INTO v_eindbedrag
|
||||
, v_mutatie
|
||||
FROM bgt_budget
|
||||
WHERE bgt_budget_key = p_budget_key;
|
||||
v_bedrag := v_eindbedrag - v_mutatie;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := 0;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getBudgetOpDatum;
|
||||
|
||||
FUNCTION getGefactureerd ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
v_bedrag := 0;
|
||||
BEGIN
|
||||
SELECT CASE WHEN p_btw=0 THEN SUM(fin_factuur_totaal)
|
||||
WHEN p_btw=1 THEN SUM(fin_factuur_totaal_btw)
|
||||
WHEN p_btw=2 THEN SUM(fin_factuur_totaal) + SUM(fin_factuur_totaal_btw)
|
||||
END facturen
|
||||
INTO v_bedrag
|
||||
FROM fin_factuur
|
||||
WHERE ((p_datum_van IS NOT NULL AND fin_factuur_datum >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND fin_factuur_datum < p_datum_tot) OR p_datum_tot IS NULL)
|
||||
AND mld_opdr_key = p_mld_opdr_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := 0;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getGefactureerd;
|
||||
|
||||
FUNCTION getTefactureren ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
v_bedrag := 0;
|
||||
BEGIN
|
||||
SELECT CASE WHEN p_btw=0 THEN COALESCE(MAX(o.mld_opdr_kosten), 0) - SUM(f.fin_factuur_totaal)
|
||||
WHEN p_btw=1 THEN COALESCE(MAX(o.mld_opdr_kosten_btw), 0) - SUM(f.fin_factuur_totaal_btw)
|
||||
WHEN p_btw=2 THEN COALESCE(MAX(o.mld_opdr_kosten), 0) + COALESCE(MAX(o.mld_opdr_kosten_btw), 0) - SUM(f.fin_factuur_totaal) - SUM(f.fin_factuur_totaal_btw)
|
||||
END tefactureren
|
||||
INTO v_bedrag
|
||||
FROM fin_factuur f
|
||||
, mld_opdr o
|
||||
WHERE o.mld_opdr_key = f.mld_opdr_key(+)
|
||||
AND ((p_datum_van IS NOT NULL AND fin_factuur_datum >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND fin_factuur_datum < p_datum_tot) OR p_datum_tot IS NULL)
|
||||
AND o.mld_opdr_key = p_mld_opdr_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := 0;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getTefactureren;
|
||||
|
||||
|
||||
END bgt;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
|
||||
@@ -42,7 +42,10 @@ CREATE_TABLE(bgt_project, 0)
|
||||
bgt_project_aanmaak
|
||||
DATE DEFAULT SYSDATE,
|
||||
bgt_project_verwijder
|
||||
DATE
|
||||
DATE,
|
||||
prs_kostenplaats_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats (prs_kostenplaats_key)
|
||||
);
|
||||
|
||||
ALTER TABLE prs_kostenplaatsgrp ADD bgt_project_key NUMBER(10) CONSTRAINT prs_r_bgt_project_key2 REFERENCES bgt_project (bgt_project_key);
|
||||
|
||||
Reference in New Issue
Block a user