SVRZ#83023 Ondersteuning/Wijzigingsbeheer

svn path=/Customer/trunk/; revision=67480
This commit is contained in:
Maarten van der Heide
2024-12-30 15:06:10 +00:00
parent 3b3d2c1dde
commit 800986920a

View File

@@ -1874,7 +1874,7 @@ EXCEPTION
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'E', 'Proces NACHTWERK afgebroken!', v_errormsg);
fac.writelog (p_applname, 'E', 'Proces afgebroken!', v_errormsg);
END svrz_select_nachtwerk;
/
*/
@@ -3510,7 +3510,7 @@ EXCEPTION
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PROCESSEMAIL', 'E', 'SVRZ_processemail afgebroken!', '[' || pfrom || '] ' || v_errormsg);
fac.writelog ('PROCESSEMAIL', 'E', 'Proces afgebroken!', '[' || pfrom || '] ' || v_errormsg);
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'errormsg', 'Database fout - Neem contact op met uw systeembeheerder ');
COMMIT;
@@ -3975,21 +3975,21 @@ AS
mld_discipline md,
(SELECT *
FROM mld_v_aanwezigkenmerkmelding
WHERE mld_kenmerk_key = 1910) km, -- Specificatie door
WHERE mld_kenmerk_key = 2320) km, -- Specificatie door
fac_v_aanwezigusrdata rfc_gr,
fac_v_aanwezigusrdata rfc_to,
fac_usrtab rfc_to_ut
WHERE m.mld_stdmelding_key = 3241 -- Wijziging-Wijzigingenbeheer-RFC
WHERE m.mld_stdmelding_key = 3261 -- Wijziging-Wijzigingenbeheer-RFC
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND m.mld_melding_key = km.mld_melding_key
--AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE) -- Vandaag
AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE, 'mm') -- Deze maand
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = rfc_gr.fac_usrdata_key
--AND rfc_gr.fac_usrtab_key = 481 -- RFC-Groep
--AND rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrtab_key = rfc_to_ut.fac_usrtab_key
AND (rfc_to_ut.fac_usrtab_key BETWEEN 501 AND 530
AND (rfc_to_ut.fac_usrtab_key BETWEEN 521 AND 540
OR INSTR (UPPER (rfc_to_ut.fac_usrtab_naam), 'RFC-TO') > 1)
UNION ALL -- IMPACT#<n>
SELECT 'CUST06' fac_srtnotificatie_code,
@@ -4005,21 +4005,21 @@ AS
mld_discipline md,
(SELECT *
FROM mld_v_aanwezigkenmerkmelding
WHERE mld_kenmerk_key BETWEEN 1854 AND 1861) km, -- Impact#<n>
WHERE mld_kenmerk_key BETWEEN 2321 AND 2328) km, -- Impact#<n>
fac_v_aanwezigusrdata rfc_gr,
fac_v_aanwezigusrdata rfc_to,
fac_usrtab rfc_to_ut
WHERE m.mld_stdmelding_key = 3241 -- Wijziging-Wijzigingenbeheer-RFC
WHERE m.mld_stdmelding_key = 3261 -- Wijziging-Wijzigingenbeheer-RFC
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND m.mld_melding_key = km.mld_melding_key
--AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE) -- Vandaag
AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE, 'mm') -- Deze maand
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = rfc_gr.fac_usrdata_key
--AND rfc_gr.fac_usrtab_key = 481 -- RFC-Groep
--AND rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrtab_key = rfc_to_ut.fac_usrtab_key
AND (rfc_to_ut.fac_usrtab_key BETWEEN 501 AND 530
AND (rfc_to_ut.fac_usrtab_key BETWEEN 521 AND 540
OR INSTR (UPPER (rfc_to_ut.fac_usrtab_naam), 'RFC-TO') > 1)
UNION ALL -- ACCORDERING DOOR
SELECT 'CUST07' fac_srtnotificatie_code,
@@ -4036,21 +4036,21 @@ AS
--fac_tracking t,
(SELECT *
FROM mld_v_aanwezigkenmerkmelding
WHERE mld_kenmerk_key = 1913) km, -- Accordering door
WHERE mld_kenmerk_key = 2303) km, -- Accordering door
fac_v_aanwezigusrdata rfc_gr,
fac_v_aanwezigusrdata rfc_to,
fac_usrtab rfc_to_ut
WHERE m.mld_stdmelding_key = 3241 -- Wijziging-Wijzigingenbeheer-RFC
WHERE m.mld_stdmelding_key = 3261 -- Wijziging-Wijzigingenbeheer-RFC
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND m.mld_melding_key = km.mld_melding_key
--AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE) -- Vandaag
AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE, 'mm') -- Deze maand
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = rfc_gr.fac_usrdata_key
--AND rfc_gr.fac_usrtab_key = 481 -- RFC-Groep
--AND rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrtab_key = rfc_to_ut.fac_usrtab_key
AND (rfc_to_ut.fac_usrtab_key BETWEEN 501 AND 530
AND (rfc_to_ut.fac_usrtab_key BETWEEN 521 AND 540
OR INSTR (UPPER (rfc_to_ut.fac_usrtab_naam), 'RFC-TO') > 1)
UNION ALL -- UITVOERING#<n>
SELECT 'CUST08' fac_srtnotificatie_code,
@@ -4066,21 +4066,21 @@ AS
mld_discipline md,
(SELECT *
FROM mld_v_aanwezigkenmerkmelding
WHERE mld_kenmerk_key BETWEEN 1872 AND 1879) km, -- Uitvoering#<n>
WHERE mld_kenmerk_key BETWEEN 2311 AND 2318) km, -- Uitvoering#<n>
fac_v_aanwezigusrdata rfc_gr,
fac_v_aanwezigusrdata rfc_to,
fac_usrtab rfc_to_ut
WHERE m.mld_stdmelding_key = 3241 -- Wijziging-Wijzigingenbeheer-RFC
WHERE m.mld_stdmelding_key = 3261 -- Wijziging-Wijzigingenbeheer-RFC
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND m.mld_melding_key = km.mld_melding_key
--AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE) -- Vandaag
AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE, 'mm') -- Deze maand
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = rfc_gr.fac_usrdata_key
--AND rfc_gr.fac_usrtab_key = 481 -- RFC-Groep
--AND rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrtab_key = rfc_to_ut.fac_usrtab_key
AND (rfc_to_ut.fac_usrtab_key BETWEEN 501 AND 530
AND (rfc_to_ut.fac_usrtab_key BETWEEN 521 AND 540
OR INSTR (UPPER (rfc_to_ut.fac_usrtab_naam), 'RFC-TO') > 1)
UNION ALL -- NAZORG DOOR
SELECT 'CUST09' fac_srtnotificatie_code,
@@ -4096,21 +4096,21 @@ AS
mld_discipline md,
(SELECT *
FROM mld_v_aanwezigkenmerkmelding
WHERE mld_kenmerk_key = 1930) km, -- Nazorg door
WHERE mld_kenmerk_key = 2319) km, -- Nazorg door
fac_v_aanwezigusrdata rfc_gr,
fac_v_aanwezigusrdata rfc_to,
fac_usrtab rfc_to_ut
WHERE m.mld_stdmelding_key = 3241 -- Wijziging-Wijzigingenbeheer-RFC
WHERE m.mld_stdmelding_key = 3261 -- Wijziging-Wijzigingenbeheer-RFC
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND m.mld_melding_key = km.mld_melding_key
--AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE) -- Vandaag
AND km.mld_kenmerkmelding_aanmaak > TRUNC (SYSDATE, 'mm') -- Deze maand
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = rfc_gr.fac_usrdata_key
--AND rfc_gr.fac_usrtab_key = 481 -- RFC-Groep
--AND rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrtab_key = rfc_to_ut.fac_usrtab_key
AND (rfc_to_ut.fac_usrtab_key BETWEEN 501 AND 530
AND (rfc_to_ut.fac_usrtab_key BETWEEN 521 AND 540
OR INSTR (UPPER (rfc_to_ut.fac_usrtab_naam), 'RFC-TO') > 1)
;
@@ -4283,6 +4283,131 @@ AS
FROM rescatl) loc
ON nl.mnd = loc.mnd AND nl.catalogus = loc.catalogus;
CREATE OR REPLACE PACKAGE SVRZ
AS
PROCEDURE update_rfc_groep;
END;
/
CREATE OR REPLACE PACKAGE BODY SVRZ
AS
-- SVRZ#83023: Toekennen/afnemen autorisatiegroep 1741='Wijzigingenbeheer
-- (alles)' volgens Eigen tabellen gelinkt aan Eigen tabel met
-- key=501 (RFC-Groep).
PROCEDURE update_rfc_groep
AS
c_applname VARCHAR2 (50) := 'UPDATE_RFC_GROEP';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
CURSOR c_toekennen
IS
SELECT DISTINCT
'[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
aanduiding,
p.prs_perslid_key
FROM fac_v_aanwezigusrdata rfc_gr, fac_v_aanwezigusrdata rfc_to, prs_v_aanwezigperslid p, prs_v_perslid_fullnames_all pf
WHERE rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND rfc_gr.fac_usrdata_key = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrdata_upper = UPPER (p.prs_perslid_email)
AND p.prs_perslid_key = pf.prs_perslid_key
AND NOT EXISTS
(SELECT 1
FROM fac_gebruikersgroep
WHERE fac_groep_key = 1741 -- Wijzigingenbeheer
AND prs_perslid_key = p.prs_perslid_key)
ORDER BY p.prs_perslid_key;
CURSOR c_afnemen
IS
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
aanduiding,
p.prs_perslid_key
FROM fac_gebruikersgroep gg, prs_perslid p, prs_v_perslid_fullnames_all pf
WHERE gg.fac_groep_key = 1741 -- Wijzigingenbeheer
AND gg.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = pf.prs_perslid_key
AND NOT EXISTS
(SELECT 1
FROM fac_v_aanwezigusrdata rfc_gr, fac_v_aanwezigusrdata rfc_to
WHERE rfc_gr.fac_usrtab_key = 501 -- RFC-Groep
AND rfc_gr.fac_usrdata_key = fac.safe_to_number (rfc_to.fac_usrdata_omschr)
AND rfc_to.fac_usrdata_upper = UPPER (p.prs_perslid_email))
ORDER BY p.prs_perslid_key;
BEGIN
v_count := 0;
v_errormsg := 'Fout toevoegen autorisatiegroep';
FOR rec IN c_toekennen
LOOP
BEGIN
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
VALUES (1741, rec.prs_perslid_key);
v_count := v_count + 1;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (c_applname, 'E', v_errormsg, rec.aanduiding);
END;
END LOOP;
IF v_count > 0
THEN
fac.writelog (c_applname, 'S', 'Autorisatiegroep/#toegekend: ' || TO_CHAR (v_count), '');
END IF;
v_count := 0;
v_errormsg := 'Fout afnemen autorisatiegroep';
FOR rec IN c_afnemen
LOOP
BEGIN
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
VALUES (1741, rec.prs_perslid_key);
v_count := v_count + 1;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (c_applname, 'E', v_errormsg, rec.aanduiding);
END;
END LOOP;
IF v_count > 0
THEN
fac.writelog (c_applname, 'S', 'Autorisatiegroep/#afgenomen: ' || TO_CHAR (v_count), '');
END IF;
END update_rfc_groep;
END;
/
CREATE OR REPLACE PROCEDURE SVRZ_DAILY
AS
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
BEGIN
-- SVRZ#83023: Toekennen/afnemen autorisatiegroep 1741='Wijzigingenbeheer
-- (alles)' volgens Eigen tabellen gelinkt aan Eigen tabel met
-- key=501 (RFC-Groep).
svrz.update_rfc_groep;
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 || ')';
fac.writelog ('DAILY', 'E', 'Proces afgebroken!', v_errormsg);
END SVRZ_DAILY;
/
------ payload end ------
SET DEFINE OFF