FSN#39054 Budgetcontrole uitbreiding: BGT module - savepoint

svn path=/Database/trunk/; revision=33339
This commit is contained in:
Peter Feij
2017-03-30 12:57:08 +00:00
parent 1e03af3cbe
commit 064811b4a1

View File

@@ -112,6 +112,7 @@ AS
PROCEDURE create_res_rsv_ruimte_node (p_key IN NUMBER, p_concise IN BOOLEAN);
PROCEDURE create_cnt_contract_node (p_key IN NUMBER, p_concise IN BOOLEAN);
PROCEDURE create_fin_factuur_node (p_key IN NUMBER, p_concise IN BOOLEAN);
PROCEDURE create_bgt_discipline_node (p_key IN NUMBER);
PROCEDURE xml_node (p_xmlnode IN VARCHAR2,
p_key IN NUMBER,
@@ -1024,7 +1025,21 @@ AS
createclosetag ('kostenplaats');
END IF;
END;
/*
PROCEDURE create_prs_kostensoortgrp_node (p_key IN NUMBER)
AS
BEGIN
IF p_key IS NOT NULL
THEN
createopentag ('kostensoortgroep');
SELECT
INTO v_
FROM
createclosetag ('kostensoortgroep');
END IF;
END;
*/
PROCEDURE create_prs_kostensoort_node (p_key IN NUMBER)
AS
v_omschrijving prs_kostensoort.prs_kostensoort_oms%TYPE;
@@ -1069,6 +1084,11 @@ AS
createxmltagvalue ('refcode', v_refcode);
createxmltagvalue ('doorbelasten', v_doorbelasten);
createxmltagvalue ('btw', v_btw);
--
-- van hier naar mld_opdr als p_concise = true
--
-- dit ook koppelen aan budget
--
createclosetag ('kostensoort');
END IF;
END;
@@ -8403,6 +8423,252 @@ AS
END IF;
END;
PROCEDURE create_prs_kostensoortgrp_node (p_key IN NUMBER)
AS
CURSOR c_soort
IS
SELECT prs_kostensoort_key
FROM prs_kostensoort
WHERE prs_kostensoortgrp_key = p_key;
v_oms prs_kostensoortgrp.prs_kostensoortgrp_oms%TYPE;
v_altcode prs_kostensoortgrp.prs_kostensoortgrp_altcode%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
SELECT prs_kostensoortgrp_altcode
, prs_kostensoortgrp_oms
INTO v_altcode
, v_oms
FROM prs_kostensoortgrp
WHERE prs_kostensoortgrp_key = p_key;
createopentag ('group');
createxmltagvalue ('key', mynumbertochar (p_key));
createxmltagvalue ('code', v_altcode);
createxmltagvalue ('name', v_oms);
FOR rec1 IN c_soort
LOOP
create_prs_kostensoort_node (rec1.prs_kostensoort_key);
END LOOP;
createclosetag ('group');
END IF;
END;
PROCEDURE create_bgt_kostenrubriek_node (p_key IN NUMBER)
AS
CURSOR c_groep
IS
SELECT prs_kostensoortgrp_key
FROM prs_kostensoortgrp
WHERE bgt_kostenrubriek_key = p_key;
v_code bgt_kostenrubriek.bgt_kostenrubriek_code%TYPE;
v_oms bgt_kostenrubriek.bgt_kostenrubriek_oms%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
SELECT bgt_kostenrubriek_code
, bgt_kostenrubriek_oms
INTO v_code
, v_oms
FROM bgt_kostenrubriek
WHERE bgt_kostenrubriek_key = p_key;
createopentag ('category');
createxmltagvalue ('key', mynumbertochar (p_key));
createxmltagvalue ('code', v_code);
createxmltagvalue ('name', v_oms);
FOR rec1 IN c_groep
LOOP
create_prs_kostensoortgrp_node (rec1.prs_kostensoortgrp_key);
END LOOP;
createclosetag ('category');
END IF;
END;
PROCEDURE create_bgt_project_node (p_key IN NUMBER)
AS
CURSOR c_rubriek
IS
SELECT bgt_kostenrubriek_key
FROM bgt_kostenrubriek
WHERE bgt_project_key = p_key;
v_code bgt_project.bgt_project_code%TYPE;
v_omschrijving bgt_project.bgt_project_omschrijving%TYPE;
v_volgnr bgt_project.bgt_project_volgnr%TYPE;
v_prijspeildatum bgt_project.bgt_project_prijspeildatum%TYPE;
v_info bgt_project.bgt_project_info%TYPE;
v_notes bgt_project.bgt_project_notes%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
SELECT bgt_project_code
, bgt_project_omschrijving
, bgt_project_volgnr
, bgt_project_prijspeildatum
, bgt_project_info
, bgt_project_notes
INTO v_code
, v_omschrijving
, v_volgnr
, v_prijspeildatum
, v_info
, v_notes
FROM bgt_project
WHERE bgt_project_key = p_key;
createopentag ('project');
createxmltagvalue ('key', mynumbertochar (p_key));
createxmltagvalue ('code', v_code);
createxmltagvalue ('name', v_omschrijving);
createxmltagvalue ('sequence', mynumbertochar (v_volgnr));
mydatetochar ('priceleveldate', v_prijspeildatum);
createxmltagvalue ('info', v_info);
createxmltagvalue ('notes', v_notes);
FOR rec1 IN c_rubriek
LOOP
create_bgt_kostenrubriek_node (rec1.bgt_kostenrubriek_key);
END LOOP;
createclosetag ('project');
END IF;
END;
PROCEDURE create_bgt_discipline_node (p_key IN NUMBER)
AS
CURSOR c_project
IS
SELECT bgt_project_key
FROM bgt_project
WHERE ins_discipline_key = p_key;
v_omschrijving ins_tab_discipline.ins_discipline_omschrijving%TYPE;
v_opmerking ins_tab_discipline.ins_discipline_opmerking%TYPE;
v_code bgt_disc_params.bgt_disc_params_code%TYPE;
v_opdrachtgever bgt_disc_params.bgt_disc_params_opdrachtgever%TYPE;
v_startdatum bgt_disc_params.bgt_disc_params_startdatum%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
SELECT d.ins_discipline_omschrijving
, d.ins_discipline_opmerking
, p.bgt_disc_params_code
, p.bgt_disc_params_opdrachtgever
, p.bgt_disc_params_startdatum
INTO v_omschrijving
, v_opmerking
, v_code
, v_opdrachtgever
, v_startdatum
FROM ins_tab_discipline d
, bgt_disc_params p
WHERE d.ins_discipline_key = p.bgt_ins_discipline_key
AND d.ins_discipline_key = p_key;
createopentag ('discipline');
createxmltagvalue ('key', mynumbertochar (p_key));
createxmltagvalue ('code', v_code);
createxmltagvalue ('name', v_omschrijving);
createxmltagvalue ('remark', v_opmerking);
createxmltagvalue ('principal', v_opdrachtgever);
mydatetochar ('startdate', v_startdatum);
FOR rec1 IN c_project
LOOP
create_bgt_project_node (rec1.bgt_project_key);
END LOOP;
createclosetag ('discipline');
END IF;
END;
PROCEDURE create_bgt_budgetmutatie_node (p_key IN NUMBER)
AS
v_datum bgt_budgetmutatie.bgt_budgetmutatie_datum%TYPE;
v_omschrijving bgt_budgetmutatie.bgt_budgetmutatie_omschrijving%TYPE;
v_key_van bgt_budgetmutatie.bgt_budget_key_van%TYPE;
v_key_naar bgt_budgetmutatie.bgt_budget_key_naar%TYPE;
v_bedrag_van bgt_budgetmutatie.bgt_budget_bedrag_van%TYPE;
v_bedrag_naar bgt_budgetmutatie.bgt_budget_bedrag_naar%TYPE;
v_persoon prs_perslid.prs_perslid_key%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
SELECT bgt_budgetmutatie_datum
, bgt_budgetmutatie_omschrijving
, prs_perslid_key
, bgt_budget_key_van
, bgt_budget_key_naar
, bgt_budget_bedrag_van
, bgt_budget_bedrag_naar
INTO v_datum
, v_omschrijving
, v_persoon
, v_key_van
, v_key_naar
, v_bedrag_van
, v_bedrag_naar
FROM bgt_budgetmutatie
WHERE bgt_budgetmutatie_key = p_key;
createopentag ('mutation');
createxmltagvalue ('key', mynumbertochar (p_key));
mydatetochar ('date', v_datum);
createxmltagvalue ('amoutfrom', mynumbertochar (v_bedrag_van));
createxmltagvalue ('amoutto', mynumbertochar (v_bedrag_naar));
createclosetag ('mutation');
END IF;
END;
PROCEDURE create_bgt_budget_node (p_key IN NUMBER)
AS
CURSOR c_mutatie
IS
SELECT bgt_budgetmutatie_key
FROM bgt_budgetmutatie
WHERE bgt_budget_key_van = p_key
OR bgt_budget_key_naar = p_key;
v_disc_key bgt_budget.ins_discipline_key%TYPE;
v_project_key bgt_budget.bgt_project_key%TYPE;
v_rubriek_key bgt_budget.bgt_kostenrubriek_key%TYPE;
v_groep_key bgt_budget.prs_kostensoortgrp_key%TYPE;
v_soort_key bgt_budget.prs_kostensoort_key%TYPE;
v_begin bgt_budget.bgt_budget_begin%TYPE;
v_eind bgt_budget.bgt_budget_eind%TYPE;
v_aanmaak bgt_budget.bgt_budget_aanmaak%TYPE;
v_verval bgt_budget.bgt_budget_vervaldatum%TYPE;
v_bedrag bgt_budget.bgt_budget_bedrag%TYPE;
v_btwbedrag bgt_budget.bgt_budget_btwbedrag%TYPE;
v_isreserve bgt_budget.bgt_budget_isreserve%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
SELECT ins_discipline_key
, bgt_project_key
, bgt_kostenrubriek_key
, prs_kostensoortgrp_key
, prs_kostensoort_key
, bgt_budget_begin
, bgt_budget_eind
, bgt_budget_aanmaak
, bgt_budget_vervaldatum
, bgt_budget_bedrag
, bgt_budget_btwbedrag
, bgt_budget_isreserve
INTO v_disc_key
, v_project_key
, v_rubriek_key
, v_groep_key
, v_soort_key
, v_begin
, v_eind
, v_aanmaak
, v_verval
, v_bedrag
, v_btwbedrag
, v_isreserve
FROM bgt_budget
WHERE bgt_budget_key = p_key;
createopentag ('budget');
mydatetochar ('startdate', v_begin);
mydatetochar ('enddate', v_eind);
mydatetochar ('created', v_aanmaak);
mydatetochar ('expires', v_verval);
createxmltagvalue ('amount', mynumbertochar (v_bedrag));
createxmltagvalue ('withvat', mynumbertochar (v_btwbedrag));
FOR rec1 IN c_mutatie
LOOP
create_bgt_budgetmutatie_node (rec1.bgt_budgetmutatie_key);
END LOOP;
createclosetag ('budget');
END IF;
END;
PROCEDURE xml_node (p_xmlnode IN VARCHAR2,
p_key IN NUMBER,
p_custid IN VARCHAR2,
@@ -8514,6 +8780,9 @@ AS
p_key,
FALSE,
p_concise);
WHEN 'project'
THEN
create_bgt_discipline_node (p_key);
ELSE
v_sql_stmt :=
'BEGIN '