FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Customer/; revision=34623
This commit is contained in:
591
TWYN/twyn.sql
591
TWYN/twyn.sql
@@ -898,7 +898,7 @@ BEGIN
|
||||
ELSIF rec.regellengte > 1 -- Lege regels overslaan!
|
||||
THEN
|
||||
-- Lees alle veldwaarden
|
||||
v_searchline := v_newline;
|
||||
v_searchline := v_newline; -- bewaar de oorspronkelijke regel om in te kunnen zoeken.
|
||||
--
|
||||
v_aanduiding := 'START';
|
||||
imp_skip(v_newline, 2);
|
||||
@@ -2240,6 +2240,595 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE twyn_import_projectcsv (p_import_key IN NUMBER)
|
||||
AS
|
||||
c_delim VARCHAR2 (1) := ';';
|
||||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||||
v_searchline fac_imp_file.fac_imp_file_line%TYPE; -- Input line voor zoeken op kolomnummer
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
header_is_valid NUMBER (1) := 0;
|
||||
v_ongeldig NUMBER (1) := 0;
|
||||
v_imp_count NUMBER (5) := 0;
|
||||
|
||||
-- Importvelden staan in de procedures.
|
||||
-- Overige velden:
|
||||
-- Keys
|
||||
k_project_code VARCHAR2(20) := NULL;
|
||||
k_subproject_code VARCHAR2(20) := NULL;
|
||||
k_rubriek_code VARCHAR2(20) := NULL;
|
||||
k_groep_code VARCHAR2(60) := NULL;
|
||||
k_soort_code VARCHAR2(5) := NULL;
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT fac_imp_file_line
|
||||
, LENGTH (TRIM (REPLACE (fac_imp_file_line, c_delim, ''))) regellengte
|
||||
FROM FAC_IMP_FILE
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
FUNCTION isNumeric(p_number IN VARCHAR2) RETURN NUMBER IS
|
||||
v_number NUMBER := 0;
|
||||
BEGIN
|
||||
IF (LENGTH(TRIM(TRANSLATE(p_number, ' +-.0123456789', ' '))) IS NULL) THEN
|
||||
v_number := 1;
|
||||
END IF;
|
||||
RETURN v_number;
|
||||
END; --isNumeric
|
||||
|
||||
PROCEDURE imp_header( p_line IN OUT VARCHAR2
|
||||
, p_valid OUT NUMBER)
|
||||
IS
|
||||
v_rubriek_code VARCHAR2 (256); --001 RUBRIEK_CODE
|
||||
v_rubriek_omschr VARCHAR2 (256); --002 RUBRIEK_OMSCHRIJVING
|
||||
v_groep_code VARCHAR2 (256); --003 GROEP_CODE
|
||||
v_groep_omschr VARCHAR2 (256); --004 GROEP_OMSCHRIJVING
|
||||
v_soort_code VARCHAR2 (256); --005 SOORT_CODE
|
||||
v_soort_omschr VARCHAR2 (256); --006 SOORT_OMSCHRIJVING
|
||||
v_soort_heeft_btw VARCHAR2 (256); --007 HEEFT_BTW
|
||||
v_soort_btw_perc VARCHAR2 (256); --008 BTW_PERCENTAGE
|
||||
s_valid_header NUMBER(1);
|
||||
BEGIN
|
||||
s_valid_header := 0;
|
||||
fac.imp_getfield (p_line, c_delim, v_rubriek_code);
|
||||
fac.imp_getfield (p_line, c_delim, v_rubriek_omschr);
|
||||
fac.imp_getfield (p_line, c_delim, v_groep_code);
|
||||
fac.imp_getfield (p_line, c_delim, v_groep_omschr);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_code);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_omschr);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_heeft_btw);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_btw_perc);
|
||||
--
|
||||
v_rubriek_code := TRIM(UPPER(v_rubriek_code));
|
||||
v_rubriek_omschr := TRIM(UPPER(v_rubriek_omschr));
|
||||
v_groep_code := TRIM(UPPER(v_groep_code));
|
||||
v_groep_omschr := TRIM(UPPER(v_groep_omschr));
|
||||
v_soort_code := TRIM(UPPER(v_soort_code));
|
||||
v_soort_omschr := TRIM(UPPER(v_soort_omschr));
|
||||
v_soort_heeft_btw := TRIM(UPPER(v_soort_heeft_btw));
|
||||
v_soort_btw_perc := TRIM(UPPER(v_soort_btw_perc));
|
||||
--
|
||||
IF ( v_rubriek_code = 'RUBRIEK_CODE'
|
||||
AND v_rubriek_omschr = 'RUBRIEK_OMSCHRIJVING'
|
||||
AND v_groep_code = 'GROEP_CODE'
|
||||
AND v_groep_omschr = 'GROEP_OMSCHRIJVING'
|
||||
AND v_soort_code = 'SOORT_CODE'
|
||||
AND v_soort_omschr = 'SOORT_OMSCHRIJVING'
|
||||
AND v_soort_heeft_btw = 'HEEFT_BTW'
|
||||
AND v_soort_btw_perc = 'BTW_PERCENTAGE'
|
||||
)
|
||||
THEN
|
||||
s_valid_header := 1;
|
||||
END IF;
|
||||
p_valid := s_valid_header;
|
||||
END; --imp_header
|
||||
|
||||
PROCEDURE imp_rubriek( p_line IN OUT VARCHAR2
|
||||
, p_rubriek_code OUT VARCHAR2)
|
||||
IS
|
||||
v_rubriek_code VARCHAR2 (256); --001 RUBRIEK_CODE
|
||||
v_rubriek_omschr VARCHAR2 (256); --002 RUBRIEK_OMSCHRIJVING
|
||||
s_project_nummer VARCHAR2 (256); --:projectnummer (discipline)
|
||||
s_subproject_code VARCHAR2 (256); --:deelprojectnummer (project)
|
||||
v_count_rubriek NUMBER (3);
|
||||
BEGIN
|
||||
fac.imp_getfield (p_line, c_delim, v_rubriek_code);
|
||||
fac.imp_getfield (p_line, c_delim, v_rubriek_omschr);
|
||||
--
|
||||
p_rubriek_code := NULL;
|
||||
v_rubriek_code := TRIM(v_rubriek_code);
|
||||
IF (v_rubriek_code IS NOT NULL) THEN
|
||||
s_project_nummer := '0';
|
||||
s_subproject_code := '0';
|
||||
--
|
||||
SELECT COUNT(*)
|
||||
INTO v_count_rubriek
|
||||
FROM twyn_imp_kostenrubriek
|
||||
WHERE bgt_project_code = s_subproject_code
|
||||
AND bgt_kostenrubriek_code = v_rubriek_code;
|
||||
--
|
||||
IF (v_count_rubriek = 0) THEN
|
||||
INSERT INTO twyn_imp_kostenrubriek
|
||||
( bgt_project_discipline
|
||||
, bgt_project_code
|
||||
, bgt_kostenrubriek_code
|
||||
, bgt_kostenrubriek_oms
|
||||
)
|
||||
VALUES
|
||||
( s_project_nummer
|
||||
, s_subproject_code
|
||||
, v_rubriek_code
|
||||
, TRIM(v_rubriek_omschr)
|
||||
);
|
||||
p_rubriek_code := v_rubriek_code;
|
||||
END IF;
|
||||
END IF;
|
||||
END; --imp_rubriek
|
||||
|
||||
PROCEDURE imp_groep( p_line IN OUT VARCHAR2
|
||||
, p_groep_code OUT VARCHAR2)
|
||||
IS
|
||||
v_groep_code VARCHAR2 (256); --003 GROEP_CODE
|
||||
v_groep_omschr VARCHAR2 (256); --004 GROEP_OMSCHRIJVING
|
||||
s_project_nummer VARCHAR2 (256); --:projectnummer (discipline)
|
||||
s_subproject_code VARCHAR2 (256); --:deelprojectnummer (project)
|
||||
s_rubriek_code VARCHAR2 (256); --001 RUBRIEK_CODE
|
||||
v_count_groep NUMBER (3);
|
||||
BEGIN
|
||||
fac.imp_getfield (p_line, c_delim, v_groep_code);
|
||||
fac.imp_getfield (p_line, c_delim, v_groep_omschr);
|
||||
--
|
||||
p_groep_code := NULL;
|
||||
v_groep_code := TRIM(v_groep_code);
|
||||
IF (v_groep_code IS NOT NULL) THEN
|
||||
s_project_nummer := '0';
|
||||
s_subproject_code := '0';
|
||||
fac.imp_getfield_nr(v_searchline, c_delim, 1, s_rubriek_code);
|
||||
--
|
||||
SELECT COUNT(*)
|
||||
INTO v_count_groep
|
||||
FROM twyn_imp_kostensoortgrp
|
||||
WHERE bgt_project_code = s_subproject_code
|
||||
AND bgt_kostenrubriek_code = TRIM(s_rubriek_code)
|
||||
AND prs_kostensoortgrp_altcode = v_groep_code;
|
||||
--
|
||||
IF (v_count_groep = 0) THEN
|
||||
INSERT INTO twyn_imp_kostensoortgrp
|
||||
( bgt_project_discipline
|
||||
, bgt_project_code
|
||||
, bgt_kostenrubriek_code
|
||||
, prs_kostensoortgrp_altcode
|
||||
, prs_kostensoortgrp_oms
|
||||
)
|
||||
VALUES
|
||||
( s_project_nummer
|
||||
, s_subproject_code
|
||||
, TRIM(s_rubriek_code)
|
||||
, v_groep_code
|
||||
, TRIM(v_groep_omschr)
|
||||
);
|
||||
p_groep_code := v_groep_code;
|
||||
END IF;
|
||||
END IF;
|
||||
END; -- imp_groep
|
||||
|
||||
PROCEDURE imp_soort( p_line IN OUT VARCHAR2
|
||||
, p_soort_code OUT VARCHAR2)
|
||||
IS
|
||||
v_soort_code VARCHAR2 (256); --005 SOORT_CODE
|
||||
v_soort_omschr VARCHAR2 (256); --006 SOORT_OMSCHRIJVING
|
||||
v_soort_heeftbtw VARCHAR2 (256); --007 HEEFT_BTW
|
||||
v_soort_perc VARCHAR2 (256); --008 BTW_PERCENTAGE
|
||||
s_project_nummer VARCHAR2 (256); --:projectnummer (discipline)
|
||||
s_subproject_code VARCHAR2 (256); --:code subproject (project)
|
||||
s_rubriek_code VARCHAR2 (256); --001 RUBRIEK_CODE
|
||||
s_groep_code VARCHAR2 (256); --003 GROEP_CODE
|
||||
v_count_soort NUMBER (3);
|
||||
BEGIN
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_code);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_omschr);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_heeftbtw);
|
||||
fac.imp_getfield (p_line, c_delim, v_soort_perc);
|
||||
--
|
||||
p_soort_code := NULL;
|
||||
v_soort_code := TRIM(v_soort_code);
|
||||
IF (v_soort_code IS NOT NULL) THEN
|
||||
s_project_nummer := '0';
|
||||
s_subproject_code := '0';
|
||||
fac.imp_getfield_nr(v_searchline, c_delim, 1, s_rubriek_code);
|
||||
fac.imp_getfield_nr(v_searchline, c_delim, 3, s_groep_code);
|
||||
--
|
||||
SELECT COUNT(*)
|
||||
INTO v_count_soort
|
||||
FROM twyn_imp_kostensoort
|
||||
WHERE bgt_project_code = s_subproject_code
|
||||
AND bgt_kostenrubriek_code = TRIM(s_rubriek_code)
|
||||
AND prs_kostensoortgrp_altcode = TRIM(s_groep_code)
|
||||
AND prs_kostensoort_oms = v_soort_code;
|
||||
--
|
||||
IF (v_count_soort = 0) THEN
|
||||
INSERT INTO twyn_imp_kostensoort
|
||||
( bgt_project_discipline
|
||||
, bgt_project_code
|
||||
, bgt_kostenrubriek_code
|
||||
, prs_kostensoortgrp_altcode
|
||||
, prs_kostensoort_oms
|
||||
, prs_kostensoort_opmerking
|
||||
, bgt_btw_code
|
||||
, bgt_btw_waarde
|
||||
)
|
||||
VALUES
|
||||
( s_project_nummer
|
||||
, s_subproject_code
|
||||
, TRIM(s_rubriek_code)
|
||||
, TRIM(s_groep_code)
|
||||
, v_soort_code
|
||||
, TRIM(v_soort_omschr)
|
||||
, TRIM(v_soort_heeftbtw)
|
||||
, fac.safe_To_Integer(v_soort_perc)
|
||||
);
|
||||
END IF;
|
||||
p_soort_code := v_soort_code;
|
||||
END IF;
|
||||
END; --imp_soort
|
||||
|
||||
BEGIN
|
||||
-- Eerst opruiming
|
||||
DELETE FROM twyn_imp_kostenrubriek;
|
||||
DELETE FROM twyn_imp_kostensoortgrp;
|
||||
DELETE FROM twyn_imp_kostensoort;
|
||||
--
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding := NULL;
|
||||
v_errorhint := 'Fout inlezen importregel';
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
v_ongeldig := 0;
|
||||
v_imp_count := v_imp_count + 1;
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
-- Controleren of het een geldige header is.
|
||||
-- Ge hiermee door totdat er een geldige header gevonden is, of het einde van het bestand bereikt is.
|
||||
v_searchline := v_newline;
|
||||
imp_header(v_newline, header_is_valid);
|
||||
ELSIF rec.regellengte > 1 -- Lege regels overslaan!
|
||||
THEN
|
||||
-- Lees alle veldwaarden
|
||||
v_searchline := v_newline; -- bewaar de oorspronkelijke regel om in te kunnen zoeken.
|
||||
--
|
||||
v_aanduiding := 'RUBRIEK';
|
||||
imp_rubriek(v_newline, k_rubriek_code);
|
||||
--
|
||||
v_aanduiding := 'GROEP';
|
||||
imp_groep(v_newline, k_groep_code);
|
||||
--
|
||||
v_aanduiding := 'SOORT';
|
||||
imp_soort(v_newline, k_soort_code);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ' r.'|| v_imp_count || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
END LOOP;
|
||||
--
|
||||
IF (header_is_valid = 0) THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Importbestand {0} bevat geen geldige header',
|
||||
'Inlezen default projectinrichting niet gelukt!');
|
||||
END IF;
|
||||
--
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ' r.'|| v_imp_count || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Inlezen default projectinrichting afgebroken!');
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE twyn_update_projectcsv ( p_import_key IN NUMBER
|
||||
, p_project_key IN NUMBER)
|
||||
IS
|
||||
g_errormsg VARCHAR2 (1000);
|
||||
g_errorhint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
g_aanduiding VARCHAR2 (200);
|
||||
|
||||
FUNCTION get_btw_key( p_code IN VARCHAR2
|
||||
, p_perc IN NUMBER
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
a_btw_key fin_btwtabelwaarde.fin_btwtabelwaarde_key%TYPE;
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT fin_btwtabelwaarde_key
|
||||
INTO a_btw_key
|
||||
FROM fin_btwtabelwaarde
|
||||
WHERE fin_btwtabelwaarde_perc = p_perc;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO fin_btwtabelwaarde
|
||||
( fin_btwtabelwaarde_code
|
||||
, fin_btwtabelwaarde_oms
|
||||
, fin_btwtabelwaarde_perc
|
||||
, fin_btwtabel_key
|
||||
)
|
||||
VALUES
|
||||
( SUBSTR(p_code,1,1) || TO_CHAR(p_perc)
|
||||
, p_code
|
||||
, p_perc
|
||||
, (SELECT MAX(fin_btwtabel_key) FROM fin_btwtabel)
|
||||
)
|
||||
RETURNING fin_btwtabelwaarde_key INTO a_btw_key;
|
||||
END;
|
||||
RETURN a_btw_key;
|
||||
END; -- get_btw_key
|
||||
|
||||
PROCEDURE update_rubriek( p_import_key IN NUMBER
|
||||
, p_project_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_rubriek
|
||||
IS
|
||||
SELECT bgt_project_discipline
|
||||
, bgt_project_code
|
||||
, bgt_kostenrubriek_code
|
||||
, bgt_kostenrubriek_oms
|
||||
FROM twyn_imp_kostenrubriek
|
||||
ORDER BY bgt_kostenrubriek_code;
|
||||
|
||||
l_count_i NUMBER(3) := 0;
|
||||
l_rubriek_key NUMBER(10);
|
||||
BEGIN
|
||||
g_errormsg := NULL;
|
||||
FOR l_rec IN c_rubriek
|
||||
LOOP
|
||||
g_errormsg := 'Fout bij toevoegen rubriek ' || l_rec.bgt_kostenrubriek_code;
|
||||
BEGIN
|
||||
SELECT r.bgt_kostenrubriek_key
|
||||
INTO l_rubriek_key
|
||||
FROM bgt_kostenrubriek r
|
||||
WHERE r.bgt_kostenrubriek_code = l_rec.bgt_kostenrubriek_code
|
||||
AND r.bgt_project_key = p_project_key;
|
||||
--
|
||||
fac.imp_writelog ( p_import_key
|
||||
, 'W'
|
||||
, 'Rubriek [' || l_rec.bgt_kostenrubriek_code || '] bestaat al'
|
||||
, NULL
|
||||
);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
g_errorhint := 'Toevoegen rubriek';
|
||||
INSERT INTO bgt_kostenrubriek
|
||||
( bgt_project_key
|
||||
, bgt_kostenrubriek_code
|
||||
, bgt_kostenrubriek_oms
|
||||
)
|
||||
VALUES
|
||||
( p_project_key
|
||||
, l_rec.bgt_kostenrubriek_code
|
||||
, l_rec.bgt_kostenrubriek_oms
|
||||
)
|
||||
RETURNING bgt_kostenrubriek_key INTO l_rubriek_key;
|
||||
--
|
||||
fac.imp_writelog ( p_import_key
|
||||
, 'I'
|
||||
, 'Rubriek [' || l_rec.bgt_kostenrubriek_code || '] toegevoegd'
|
||||
, NULL
|
||||
);
|
||||
l_count_i:= l_count_i + 1;
|
||||
END;
|
||||
END LOOP;
|
||||
fac.imp_writelog ( p_import_key, 'S', 'Rubriek: aantal regels toegevoegd: ' || TO_CHAR(l_count_i), NULL);
|
||||
COMMIT;
|
||||
END; -- update_rubriek
|
||||
|
||||
PROCEDURE update_groep( p_import_key IN NUMBER
|
||||
, p_project_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_groep
|
||||
IS
|
||||
SELECT bgt_project_discipline
|
||||
, bgt_project_code
|
||||
, bgt_kostenrubriek_code
|
||||
, prs_kostensoortgrp_altcode
|
||||
, prs_kostensoortgrp_oms
|
||||
FROM twyn_imp_kostensoortgrp
|
||||
ORDER BY prs_kostensoortgrp_altcode;
|
||||
l_rubriek_key bgt_kostenrubriek.bgt_kostenrubriek_key%TYPE;
|
||||
l_groep_key prs_kostensoortgrp.prs_kostensoortgrp_key%TYPE;
|
||||
l_rubriek_code bgt_kostenrubriek.bgt_kostenrubriek_code%TYPE;
|
||||
l_groep_code prs_kostensoortgrp.prs_kostensoortgrp_altcode%TYPE;
|
||||
l_count NUMBER(3) := 0;
|
||||
BEGIN
|
||||
g_errormsg := NULL;
|
||||
FOR l_rec IN c_groep
|
||||
LOOP
|
||||
BEGIN
|
||||
l_rubriek_code := l_rec.bgt_kostenrubriek_code;
|
||||
g_errormsg := 'Fout bij opvragen rubriek ' || l_rubriek_code;
|
||||
SELECT bgt_kostenrubriek_key
|
||||
INTO l_rubriek_key
|
||||
FROM bgt_kostenrubriek r
|
||||
WHERE r.bgt_kostenrubriek_code = l_rubriek_code
|
||||
AND r.bgt_project_key = p_project_key;
|
||||
--
|
||||
l_groep_code := l_rec.prs_kostensoortgrp_altcode;
|
||||
g_errormsg := 'Fout bij toevoegen groep ' || l_groep_code;
|
||||
BEGIN
|
||||
SELECT prs_kostensoortgrp_key
|
||||
INTO l_groep_key
|
||||
FROM prs_kostensoortgrp
|
||||
WHERE bgt_kostenrubriek_key = l_rubriek_key
|
||||
AND prs_kostensoortgrp_altcode = l_groep_code;
|
||||
--
|
||||
fac.imp_writelog ( p_import_key
|
||||
, 'W'
|
||||
, 'Groep [' || l_groep_code || '] bestaat al'
|
||||
, NULL
|
||||
);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
g_errorhint := 'Toevoegen groep';
|
||||
INSERT INTO prs_kostensoortgrp
|
||||
( prs_kostensoortgrp_oms
|
||||
, prs_kostensoortgrp_altcode
|
||||
, bgt_kostenrubriek_key
|
||||
)
|
||||
VALUES
|
||||
( l_rec.prs_kostensoortgrp_oms
|
||||
, l_groep_code
|
||||
, l_rubriek_key
|
||||
)
|
||||
RETURNING prs_kostensoortgrp_key INTO l_groep_key;
|
||||
--
|
||||
fac.imp_writelog ( p_import_key
|
||||
, 'I'
|
||||
, 'Groep [' || l_groep_code || ': ' || l_rec.prs_kostensoortgrp_oms || '] toegevoegd'
|
||||
, NULL
|
||||
);
|
||||
l_count := l_count + 1;
|
||||
END;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
fac.imp_writelog ( p_import_key, 'W', 'Onbekende rubriek [' || l_rec.bgt_kostenrubriek_code || ']', NULL);
|
||||
END;
|
||||
END LOOP;
|
||||
fac.imp_writelog ( p_import_key, 'S', 'Groep: aantal regels toegevoegd: ' || TO_CHAR(l_count), NULL);
|
||||
COMMIT;
|
||||
END; --update_groep
|
||||
|
||||
PROCEDURE update_soort( p_import_key IN NUMBER
|
||||
, p_project_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_soort
|
||||
IS
|
||||
SELECT bgt_project_discipline
|
||||
, bgt_project_code
|
||||
, bgt_kostenrubriek_code
|
||||
, prs_kostensoortgrp_altcode
|
||||
, prs_kostensoort_oms
|
||||
, prs_kostensoort_opmerking
|
||||
, bgt_btw_code
|
||||
, bgt_btw_waarde
|
||||
FROM twyn_imp_kostensoort
|
||||
ORDER BY prs_kostensoort_oms;
|
||||
l_groep_key prs_kostensoortgrp.prs_kostensoortgrp_key%TYPE;
|
||||
l_soort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
l_groep_code prs_kostensoortgrp.prs_kostensoortgrp_altcode%TYPE;
|
||||
l_soort_code prs_kostensoort.prs_kostensoort_oms%TYPE;
|
||||
l_btw_key fin_btwtabelwaarde.fin_btwtabelwaarde_key%TYPE;
|
||||
l_count NUMBER(3) := 0;
|
||||
BEGIN
|
||||
g_errormsg := NULL;
|
||||
FOR l_rec IN c_soort
|
||||
LOOP
|
||||
BEGIN
|
||||
l_groep_code := l_rec.prs_kostensoortgrp_altcode;
|
||||
g_errormsg := 'Fout bij opvragen groep ' || l_groep_code;
|
||||
SELECT prs_kostensoortgrp_key
|
||||
INTO l_groep_key
|
||||
FROM bgt_kostenrubriek r
|
||||
, prs_kostensoortgrp g
|
||||
WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key
|
||||
AND r.bgt_kostenrubriek_code = l_rec.bgt_kostenrubriek_code
|
||||
AND g.prs_kostensoortgrp_altcode = l_groep_code
|
||||
AND r.bgt_project_key = p_project_key;
|
||||
--
|
||||
l_soort_code := l_rec.prs_kostensoort_oms;
|
||||
g_errormsg := 'Fout bij toevoegen soort ' || l_soort_code;
|
||||
BEGIN
|
||||
SELECT prs_kostensoort_key
|
||||
INTO l_soort_key
|
||||
FROM prs_kostensoort
|
||||
WHERE prs_kostensoortgrp_key = l_groep_key
|
||||
AND prs_kostensoort_altcode = l_soort_code;
|
||||
--
|
||||
fac.imp_writelog ( p_import_key
|
||||
, 'W'
|
||||
, 'Soort [' || l_soort_code || '] bestaat al'
|
||||
, NULL
|
||||
);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
g_errorhint := 'Toevoegen soort';
|
||||
l_btw_key := get_btw_key(l_rec.bgt_btw_code, l_rec.bgt_btw_waarde);
|
||||
INSERT INTO prs_kostensoort
|
||||
( prs_kostensoort_oms
|
||||
, prs_kostensoort_altcode
|
||||
, prs_kostensoort_opmerking
|
||||
, prs_kostensoortgrp_key
|
||||
, fin_btwtabelwaarde_key
|
||||
)
|
||||
VALUES
|
||||
( l_rec.prs_kostensoort_opmerking
|
||||
, l_soort_code
|
||||
, l_soort_code
|
||||
, l_groep_key
|
||||
, l_btw_key
|
||||
)
|
||||
RETURNING prs_kostensoort_key INTO l_soort_key;
|
||||
--
|
||||
fac.imp_writelog ( p_import_key
|
||||
, 'I'
|
||||
, 'Soort [' || l_soort_code || ': ' || l_rec.prs_kostensoort_opmerking || '] toegevoegd'
|
||||
, NULL
|
||||
);
|
||||
l_count := l_count + 1;
|
||||
END;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
fac.imp_writelog ( p_import_key, 'W', 'Onbekende groep [' || l_groep_code || ']', NULL);
|
||||
END;
|
||||
END LOOP;
|
||||
fac.imp_writelog ( p_import_key, 'S', 'Soort: aantal regels toegevoegd: ' || TO_CHAR(l_count), NULL);
|
||||
COMMIT;
|
||||
END; --update_soort
|
||||
|
||||
BEGIN
|
||||
update_rubriek(p_import_key, p_project_key);
|
||||
update_groep(p_import_key, p_project_key);
|
||||
update_soort(p_import_key, p_project_key);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
g_errormsg :=
|
||||
g_errormsg
|
||||
|| ' ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
g_aanduiding || g_errormsg,
|
||||
'Verwerken default projectinrichting {0} afgebroken!');
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
--=============================================================================
|
||||
-- RAPPORTAGES
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@@ -24,6 +24,18 @@ SELECT 'TWYN', 'reportdbf', 'Conversie BCS naar BGT', fac_functie_key
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_PRSSYS';
|
||||
|
||||
INSERT INTO fac_import_app
|
||||
(fac_import_app_prefix, fac_import_app_code, fac_import_app_oms, fac_functie_key)
|
||||
SELECT 'TWYN', 'projectcsv', 'Default project inrichting', fac_functie_key
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_PRSSYS';
|
||||
|
||||
INSERT INTO fac_usrtab
|
||||
(fac_usrtab_naam, fac_usrtab_object, fac_usrtab_omschrijving, fac_functie_key)
|
||||
SELECT 'project_import', 'USR_PROJECT_IMPORT', 'Default project indeling', fac_functie_key)
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_<input type="image" src="<input type="image" src="">">BGTMGT';
|
||||
|
||||
UPDATE fac_setting
|
||||
SET fac_setting_pvalue = '1'
|
||||
WHERE fac_setting_name = 'bgt_enabled';
|
||||
@@ -32,9 +44,9 @@ INSERT INTO ins_srtdiscipline (ins_srtdiscipline_module, ins_srtdisciplineomschr
|
||||
VALUES ('MLD', 'Budgetcontrole', 0, NULL, NULL);
|
||||
|
||||
-- Tijdelijk: de url aanpassen. Komt uiteindelijk wel met fac_ini.src mee.
|
||||
UPDATE fac_menuitems
|
||||
SET fac_menuitems_url = REPLACE(fac_menuitems_url, 'bgt_discipline.asp', 'bgt_search.asp')
|
||||
WHERE fac_menuitems_label = 'lcl_menu_bgt_discipline_1';
|
||||
--UPDATE fac_menuitems
|
||||
-- SET fac_menuitems_url = REPLACE(fac_menuitems_url, 'bgt_discipline.asp', 'bgt_search.asp')
|
||||
-- WHERE fac_menuitems_label = 'lcl_menu_bgt_discipline_1';
|
||||
|
||||
CREATE TABLE twyn_imp_discipline
|
||||
(
|
||||
@@ -48,10 +60,10 @@ CREATE TABLE twyn_imp_discipline
|
||||
|
||||
CREATE TABLE twyn_imp_project
|
||||
(
|
||||
bgt_project_discipline VARCHAR2(20),
|
||||
bgt_project_code VARCHAR2(20),
|
||||
bgt_project_omschrijving VARCHAR2(60),
|
||||
bgt_project_volgnr NUMBER(3),
|
||||
bgt_project_discipline VARCHAR2(20),
|
||||
bgt_project_prijspeildatum DATE,
|
||||
bgt_project_notes VARCHAR2(4000),
|
||||
bgt_project_fase_nr NUMBER(3),
|
||||
@@ -62,14 +74,15 @@ CREATE TABLE twyn_imp_project
|
||||
|
||||
CREATE TABLE twyn_imp_kostenrubriek
|
||||
(
|
||||
bgt_project_code VARCHAR2(20),
|
||||
bgt_project_discipline VARCHAR2(20),
|
||||
bgt_project_code VARCHAR2(20),
|
||||
bgt_kostenrubriek_code VARCHAR2(20),
|
||||
bgt_kostenrubriek_oms VARCHAR2(60)
|
||||
);
|
||||
|
||||
CREATE TABLE twyn_imp_kostensoortgrp
|
||||
(
|
||||
bgt_project_discipline VARCHAR2(20),
|
||||
bgt_project_code VARCHAR2(20),
|
||||
bgt_kostenrubriek_code VARCHAR2(20),
|
||||
prs_kostensoortgrp_altcode VARCHAR2(60),
|
||||
@@ -78,10 +91,11 @@ CREATE TABLE twyn_imp_kostensoortgrp
|
||||
|
||||
CREATE TABLE twyn_imp_kostensoort
|
||||
(
|
||||
bgt_project_discipline VARCHAR2(20),
|
||||
bgt_project_code VARCHAR2(20),
|
||||
bgt_kostenrubriek_code VARCHAR2(20),
|
||||
prs_kostensoortgrp_altcode VARCHAR2(60),
|
||||
prs_kostensoort_oms VARCHAR2(5),
|
||||
prs_kostensoort_oms VARCHAR2(10),
|
||||
prs_kostensoort_opmerking VARCHAR2(60),
|
||||
bgt_btw_code VARCHAR2(20),
|
||||
bgt_btw_waarde NUMBER(2)
|
||||
@@ -163,6 +177,24 @@ CREATE TABLE twyn_imp_factuur
|
||||
prs_kostensoort_code VARCHAR2(5)
|
||||
);
|
||||
|
||||
INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altgroep, fac_menuitems_key)
|
||||
SELECT 6910, 0, fac_menuitems_key FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_bgt_account';
|
||||
|
||||
INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altgroep, fac_menuitems_key)
|
||||
SELECT 6911, 0, fac_menuitems_key FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_bgt_bedrijf';
|
||||
|
||||
INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altgroep, fac_menuitems_key)
|
||||
SELECT 6912, 0, fac_menuitems_key FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_bgt_budget';
|
||||
|
||||
INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altgroep, fac_menuitems_key)
|
||||
SELECT 6913, 0, fac_menuitems_key FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_bgt_opdracht';
|
||||
|
||||
INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altgroep, fac_menuitems_key)
|
||||
SELECT 6914, 0, fac_menuitems_key FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_bgt_factuur';
|
||||
|
||||
INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altgroep, fac_menuitems_key)
|
||||
SELECT 6915, 0, fac_menuitems_key FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_bgt_rapport';
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user