RWSN#71374 IDM_ORG-import/Foutmelding

svn path=/Customer/trunk/; revision=55215
This commit is contained in:
Maarten van der Heide
2022-03-04 13:40:40 +00:00
parent 20d80f7c0d
commit 9e5516f1a1

View File

@@ -301,24 +301,13 @@ AS
START WITH parentcode = '00000000'
ORDER BY LEVEL;
CURSOR cverplichtingen (pcafdeling IN NUMBER)
IS
SELECT pv.prs_afdeling_key,
t.fac_message_text,
item,
item_key,
d.prs_afdeling_naam
FROM prs_v_afd_verplichting pv, fac_message t, prs_afdeling d
WHERE pv.prs_afdeling_key = pcafdeling
AND d.prs_afdeling_key = pv.prs_afdeling_key
AND pv.fac_message_code = t.fac_message_code;
c_rws_bedrijf_key NUMBER := 2; -- Key van RWS-bedrijf
c_knmi_bedrijf_key NUMBER := 3; -- Key van KNMI-bedrijf
c_km_vervaldatum VARCHAR2 (30) := 'VERVALDATUM'; -- VERVALDATUM-kenmerk
v_errormsg VARCHAR2 (200);
v_errormsg VARCHAR2 (1000) := '';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (1000) := '';
currentversion fac_module.fac_module_version%TYPE;
l_vervalkm_key NUMBER (10); -- Key van VERVALDATUM-kenmerk
lkostenplaatskey prs_kostenplaats.prs_kostenplaats_key%TYPE;
@@ -391,7 +380,10 @@ BEGIN
FOR rc IN cafdelingsboom
LOOP
v_aanduiding := '[' || TO_CHAR (rc.fac_lev) || '|' || rc.afdelingscode || '] ';
-- Bestaat de kostenplaats al?
v_errormsg := 'Fout bepalen kostenplaats';
BEGIN
SELECT prs_kostenplaats_key
INTO lkostenplaatskey
@@ -405,6 +397,7 @@ BEGIN
END;
-- Bestaat de afdeling al?
v_errormsg := 'Fout bepalen afdeling';
BEGIN
SELECT a.prs_afdeling_key, ab.niveau, a.prs_afdeling_parentkey
INTO lafdelingkey, l_cur_lev, l_cur_parentkey
@@ -424,6 +417,7 @@ BEGIN
DBMS_OUTPUT.put_line (rc.afdelingscode);
v_errormsg := 'Fout toevoegen kostenplaats';
IF lkostenplaatskey = -1
THEN
BEGIN
@@ -457,6 +451,8 @@ BEGIN
IF lafdelingkey = -1 -- Nieuwe afdeling -> toevoegen!
THEN
BEGIN
v_errormsg := 'Fout toevoegen afdeling';
IF rc.fac_lev = 1 -- Ingelezen afdeling betreft het rootniveau!
THEN
--IF rc.afdelingscode = '63562065'
@@ -558,6 +554,8 @@ BEGIN
END;
ELSE -- Bestaande afdeling -> bijwerken (misschien)!
BEGIN
v_errormsg := 'Fout bijwerken afdeling';
-- Zonodig bijwerken omschrijving (deze kon eerder vervallen
-- zijn) en/of omhangen naar de juiste plek in de boom.
IF rc.fac_lev = 1 -- Ingelezen afdeling betreft het rootniveau!
@@ -652,6 +650,8 @@ BEGIN
IF rc.einddatum IS NOT NULL
THEN
BEGIN
v_errormsg := 'Fout bepalen einddatum';
-- Heeft afdeling reeds een VERVALDATUM-waarde?
SELECT kl.prs_kenmerklink_key, TO_DATE (kl.prs_kenmerklink_waarde, 'dd-mm-yyyy')
INTO l_vervalkl_key, l_vervalkl_waarde
@@ -662,13 +662,17 @@ BEGIN
-- Indien gewijzigd, dan deze waarde bijwerken!
IF rc.einddatum != l_vervalkl_waarde
THEN
v_errormsg := 'Fout bijwerken einddatum';
UPDATE prs_kenmerklink
SET prs_kenmerklink_waarde = l_vervalkl_waarde
SET prs_kenmerklink_waarde = TO_CHAR (rc.einddatum, 'dd-mm-yyyy')
WHERE prs_kenmerklink_key = l_vervalkl_key;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errormsg := 'Fout toevoegen einddatum';
INSERT INTO prs_kenmerklink (prs_link_key,
prs_kenmerklink_niveau,
prs_kenmerk_key,
@@ -842,8 +846,8 @@ EXCEPTION
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E', v_errormsg || 'Import afgebroken.', '');
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Import afgebroken');
END;
/