FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Database/trunk/; revision=33432
This commit is contained in:
178
FAC/FAC_PACX.SRC
178
FAC/FAC_PACX.SRC
@@ -1026,6 +1026,131 @@ AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
PROCEDURE create_bgt_ancestor_node(p_child IN VARCHAR2, p_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_soort(p_child_key NUMBER)
|
||||
IS
|
||||
SELECT s.prs_kostensoort_key
|
||||
, s.prs_kostensoort_oms
|
||||
, s.prs_kostensoort_opmerking
|
||||
FROM prs_kostensoort s
|
||||
WHERE s.prs_kostensoort_key = p_child_key;
|
||||
CURSOR c_groep(p_child_key NUMBER)
|
||||
IS
|
||||
SELECT g.prs_kostensoortgrp_key
|
||||
, g.prs_kostensoortgrp_altcode
|
||||
, g.prs_kostensoortgrp_oms
|
||||
FROM prs_kostensoortgrp g
|
||||
, prs_kostensoort s
|
||||
WHERE g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key
|
||||
AND s.prs_kostensoort_key = p_child_key;
|
||||
CURSOR c_rubriek(p_child_key NUMBER)
|
||||
IS
|
||||
SELECT r.bgt_kostenrubriek_key
|
||||
, r.bgt_kostenrubriek_code
|
||||
, r.bgt_kostenrubriek_oms
|
||||
FROM bgt_kostenrubriek r
|
||||
, prs_kostensoortgrp g
|
||||
WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key
|
||||
AND g.prs_kostensoortgrp_key = p_child_key;
|
||||
CURSOR c_project(p_child_key NUMBER)
|
||||
IS
|
||||
SELECT p.bgt_project_key
|
||||
, p.bgt_project_code
|
||||
, p.bgt_project_omschrijving
|
||||
FROM bgt_project p
|
||||
, bgt_kostenrubriek r
|
||||
WHERE p.bgt_project_key = r.bgt_project_key
|
||||
AND r.bgt_kostenrubriek_key = p_child_key;
|
||||
CURSOR c_discipline(p_child_key NUMBER)
|
||||
IS
|
||||
SELECT d.ins_discipline_key
|
||||
, d.ins_discipline_omschrijving
|
||||
, p.bgt_disc_params_code
|
||||
, p.bgt_disc_params_opdrachtgever
|
||||
FROM ins_tab_discipline d
|
||||
, bgt_disc_params p
|
||||
, bgt_project s
|
||||
WHERE d.ins_discipline_key = p.bgt_ins_discipline_key
|
||||
AND d.ins_discipline_key = s.ins_discipline_key
|
||||
AND s.bgt_project_key = p_child_key;
|
||||
|
||||
v_key NUMBER(10);
|
||||
v_child VARCHAR2(30);
|
||||
BEGIN
|
||||
createopentag ('ancestor');
|
||||
v_key := p_key;
|
||||
v_child := p_child;
|
||||
IF v_child = 'soort_key' -- als je alleen de kostensoort_key hebt, maar geen kostensoort gegevens.
|
||||
THEN
|
||||
FOR c5 IN c_soort(v_key)
|
||||
LOOP
|
||||
createopentag('soort');
|
||||
createxmltagvalue('key', c5.prs_kostensoort_key);
|
||||
createxmltagvalue('code', c5.prs_kostensoort_oms);
|
||||
createxmltagvalue('name', c5.prs_kostensoort_opmerking);
|
||||
createclosetag('soort');
|
||||
v_child := 'soort';
|
||||
v_key := c5.prs_kostensoort_key;
|
||||
END LOOP;
|
||||
END IF;
|
||||
IF v_child = 'soort'
|
||||
THEN
|
||||
FOR c4 IN c_groep(v_key)
|
||||
LOOP
|
||||
createopentag('groep');
|
||||
createxmltagvalue('key', c4.prs_kostensoortgrp_key);
|
||||
createxmltagvalue('code', c4.prs_kostensoortgrp_oms);
|
||||
createxmltagvalue('name', c4.prs_kostensoortgrp_altcode);
|
||||
createclosetag('groep');
|
||||
v_child := 'groep';
|
||||
v_key := c4.prs_kostensoortgrp_key;
|
||||
END LOOP;
|
||||
END IF;
|
||||
IF v_child = 'groep'
|
||||
THEN
|
||||
FOR c3 IN c_rubriek(v_key)
|
||||
LOOP
|
||||
createopentag('rubriek');
|
||||
createxmltagvalue('key', c3.bgt_kostenrubriek_key);
|
||||
createxmltagvalue('code', c3.bgt_kostenrubriek_code);
|
||||
createxmltagvalue('name', c3.bgt_kostenrubriek_oms);
|
||||
createclosetag('rubriek');
|
||||
v_child := 'rubriek';
|
||||
v_key := c3.bgt_kostenrubriek_key;
|
||||
END LOOP;
|
||||
END IF;
|
||||
IF v_child = 'rubriek'
|
||||
THEN
|
||||
FOR c2 IN c_project(v_key)
|
||||
LOOP
|
||||
createopentag('project');
|
||||
createxmltagvalue('key', c2.bgt_project_key);
|
||||
createxmltagvalue('code', c2.bgt_project_code);
|
||||
createxmltagvalue('name', c2.bgt_project_omschrijving);
|
||||
createclosetag('project');
|
||||
v_child := 'project';
|
||||
v_key := c2.bgt_project_key;
|
||||
END LOOP;
|
||||
END IF;
|
||||
if v_child = 'project'
|
||||
THEN
|
||||
FOR c1 IN c_discipline(v_key)
|
||||
LOOP
|
||||
createopentag('discipline');
|
||||
createxmltagvalue('key', c1.ins_discipline_key);
|
||||
createxmltagvalue('code', c1.bgt_disc_params_code);
|
||||
createxmltagvalue('name', c1.ins_discipline_omschrijving);
|
||||
createxmltagvalue('principal', c1.bgt_disc_params_opdrachtgever);
|
||||
createclosetag('discipline');
|
||||
v_child := 'discipline';
|
||||
v_key := c1.ins_discipline_key;
|
||||
END LOOP;
|
||||
END IF;
|
||||
-- IF v_child = 'discipline' :: Dan heb je alle gegevens al.
|
||||
createclosetag ('ancestor');
|
||||
END;
|
||||
|
||||
PROCEDURE create_bgt_budgetmutatie_node (p_key IN NUMBER)
|
||||
AS
|
||||
v_datum bgt_budgetmutatie.bgt_budgetmutatie_datum%TYPE;
|
||||
@@ -1150,6 +1275,11 @@ AS
|
||||
BEGIN
|
||||
IF p_key IS NOT NULL
|
||||
THEN
|
||||
IF p_concise -- dan ook parent_info
|
||||
THEN
|
||||
create_bgt_ancestor_node('soort', p_key);
|
||||
END IF;
|
||||
--
|
||||
createopentag ('kostensoort');
|
||||
|
||||
SELECT k.prs_kostensoort_oms,
|
||||
@@ -1182,7 +1312,6 @@ AS
|
||||
createxmltagvalue ('doorbelasten', v_doorbelasten);
|
||||
createxmltagvalue ('btw', v_btw);
|
||||
--
|
||||
--*--
|
||||
IF p_concise THEN
|
||||
FOR rec1 IN c_factuur
|
||||
LOOP
|
||||
@@ -8528,7 +8657,7 @@ AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
PROCEDURE create_prs_kostensoortgrp_node (p_key IN NUMBER)
|
||||
PROCEDURE create_prs_kostensoortgrp_node (p_key IN NUMBER, p_parent_info BOOLEAN DEFAULT FALSE)
|
||||
AS
|
||||
CURSOR c_soort
|
||||
IS
|
||||
@@ -8540,13 +8669,18 @@ AS
|
||||
BEGIN
|
||||
IF p_key IS NOT NULL
|
||||
THEN
|
||||
IF p_parent_info
|
||||
THEN
|
||||
create_bgt_ancestor_node('groep', p_key);
|
||||
END IF;
|
||||
--
|
||||
SELECT prs_kostensoortgrp_altcode
|
||||
, prs_kostensoortgrp_oms
|
||||
INTO v_altcode
|
||||
, v_oms
|
||||
FROM prs_kostensoortgrp
|
||||
WHERE prs_kostensoortgrp_key = p_key;
|
||||
createopentag ('group');
|
||||
createopentag ('kostengroep');
|
||||
createxmltagvalue ('key', mynumbertochar (p_key));
|
||||
createxmltagvalue ('code', v_altcode);
|
||||
createxmltagvalue ('name', v_oms);
|
||||
@@ -8554,10 +8688,10 @@ AS
|
||||
LOOP
|
||||
create_prs_kostensoort_node (rec1.prs_kostensoort_key, TRUE);
|
||||
END LOOP;
|
||||
createclosetag ('group');
|
||||
createclosetag ('kostengroep');
|
||||
END IF;
|
||||
END;
|
||||
PROCEDURE create_bgt_kostenrubriek_node (p_key IN NUMBER)
|
||||
PROCEDURE create_bgt_kostenrubriek_node (p_key IN NUMBER, p_parent_info BOOLEAN DEFAULT FALSE)
|
||||
AS
|
||||
CURSOR c_groep
|
||||
IS
|
||||
@@ -8576,13 +8710,18 @@ AS
|
||||
BEGIN
|
||||
IF p_key IS NOT NULL
|
||||
THEN
|
||||
IF p_parent_info
|
||||
THEN
|
||||
create_bgt_ancestor_node('rubriek', p_key);
|
||||
END IF;
|
||||
--
|
||||
SELECT bgt_kostenrubriek_code
|
||||
, bgt_kostenrubriek_oms
|
||||
INTO v_code
|
||||
, v_oms
|
||||
FROM bgt_kostenrubriek
|
||||
WHERE bgt_kostenrubriek_key = p_key;
|
||||
createopentag ('category');
|
||||
createopentag ('kostenrubriek');
|
||||
createxmltagvalue ('key', mynumbertochar (p_key));
|
||||
createxmltagvalue ('code', v_code);
|
||||
createxmltagvalue ('name', v_oms);
|
||||
@@ -8594,10 +8733,10 @@ AS
|
||||
LOOP
|
||||
create_bgt_budget_node (rec2.bgt_budget_key);
|
||||
END LOOP;
|
||||
createclosetag ('category');
|
||||
createclosetag ('kostenrubriek');
|
||||
END IF;
|
||||
END;
|
||||
PROCEDURE create_bgt_project_node (p_key IN NUMBER)
|
||||
PROCEDURE create_bgt_project_node (p_key IN NUMBER, p_parent_info BOOLEAN DEFAULT FALSE)
|
||||
AS
|
||||
CURSOR c_rubriek
|
||||
IS
|
||||
@@ -8613,6 +8752,11 @@ AS
|
||||
BEGIN
|
||||
IF p_key IS NOT NULL
|
||||
THEN
|
||||
IF p_parent_info
|
||||
THEN
|
||||
create_bgt_ancestor_node('project', p_key);
|
||||
END IF;
|
||||
--
|
||||
SELECT bgt_project_code
|
||||
, bgt_project_omschrijving
|
||||
, bgt_project_volgnr
|
||||
@@ -8685,6 +8829,21 @@ AS
|
||||
createclosetag ('discipline');
|
||||
END IF;
|
||||
END;
|
||||
PROCEDURE create_bgt_node (p_key IN NUMBER, p_where IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
createopentag('start_in');
|
||||
createxmltagvalue ('node', p_where);
|
||||
createclosetag('start_in');
|
||||
CASE p_where
|
||||
WHEN 'discipline' THEN create_bgt_discipline_node(p_key);
|
||||
WHEN 'project' THEN create_bgt_project_node(p_key, TRUE);
|
||||
WHEN 'kostenrubriek' THEN create_bgt_kostenrubriek_node(p_key, TRUE);
|
||||
WHEN 'kostengroep' THEN create_prs_kostensoortgrp_node(p_key, TRUE);
|
||||
WHEN 'kostensoort' THEN create_prs_kostensoort_node(p_key, TRUE);
|
||||
ELSE create_bgt_discipline_node(-1);
|
||||
END CASE;
|
||||
END;
|
||||
|
||||
PROCEDURE xml_node (p_xmlnode IN VARCHAR2,
|
||||
p_key IN NUMBER,
|
||||
@@ -8799,7 +8958,8 @@ AS
|
||||
p_concise);
|
||||
WHEN 'budget'
|
||||
THEN
|
||||
create_bgt_discipline_node (p_key);
|
||||
-- create_bgt_discipline_node (p_key);
|
||||
create_bgt_node (p_key, p_where);
|
||||
ELSE
|
||||
v_sql_stmt :=
|
||||
'BEGIN '
|
||||
|
||||
Reference in New Issue
Block a user