FCLT#58249 res_ruimte_syncstate afsplitsen naar eigen tabel tegen datapump problemen
svn path=/Database/trunk/; revision=43326
This commit is contained in:
@@ -3244,7 +3244,7 @@ AS
|
|||||||
WHERE alg_kenmerk_upper = UPPER (kw)
|
WHERE alg_kenmerk_upper = UPPER (kw)
|
||||||
AND alg_kenmerk_verwijder IS NULL
|
AND alg_kenmerk_verwijder IS NULL
|
||||||
AND alg_kenmerk_niveau = 'R'
|
AND alg_kenmerk_niveau = 'R'
|
||||||
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B' 'V');
|
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||||||
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
||||||
SELECT alg_kenmerk_key
|
SELECT alg_kenmerk_key
|
||||||
INTO v_kenmerk_key
|
INTO v_kenmerk_key
|
||||||
@@ -3252,7 +3252,7 @@ AS
|
|||||||
WHERE alg_kenmerk_key = fac.safe_to_number (kw)
|
WHERE alg_kenmerk_key = fac.safe_to_number (kw)
|
||||||
AND alg_kenmerk_verwijder IS NULL
|
AND alg_kenmerk_verwijder IS NULL
|
||||||
AND alg_kenmerk_niveau = 'R'
|
AND alg_kenmerk_niveau = 'R'
|
||||||
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B' 'V');
|
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
RETURN v_kenmerk_key;
|
RETURN v_kenmerk_key;
|
||||||
@@ -7422,13 +7422,13 @@ IS
|
|||||||
INTO v_srtkenmerk_key
|
INTO v_srtkenmerk_key
|
||||||
FROM ins_v_aanwezigsrtkenmerk
|
FROM ins_v_aanwezigsrtkenmerk
|
||||||
WHERE ins_srtkenmerk_upper = UPPER (v_kw)
|
WHERE ins_srtkenmerk_upper = UPPER (v_kw)
|
||||||
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B' 'V');
|
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||||||
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
||||||
SELECT ins_srtkenmerk_key
|
SELECT ins_srtkenmerk_key
|
||||||
INTO v_srtkenmerk_key
|
INTO v_srtkenmerk_key
|
||||||
FROM ins_v_aanwezigsrtkenmerk
|
FROM ins_v_aanwezigsrtkenmerk
|
||||||
WHERE ins_srtkenmerk_key = fac.safe_to_number (v_kw)
|
WHERE ins_srtkenmerk_key = fac.safe_to_number (v_kw)
|
||||||
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B' 'V');
|
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
RETURN TO_CHAR(v_srtkenmerk_key) || '|' || TO_CHAR(v_kenmerk_groep);
|
RETURN TO_CHAR(v_srtkenmerk_key) || '|' || TO_CHAR(v_kenmerk_groep);
|
||||||
@@ -18445,14 +18445,14 @@ AS
|
|||||||
FROM cnt_srtkenmerk
|
FROM cnt_srtkenmerk
|
||||||
WHERE cnt_srtkenmerk_verwijder IS NULL
|
WHERE cnt_srtkenmerk_verwijder IS NULL
|
||||||
AND cnt_srtkenmerk_upper = UPPER (kw)
|
AND cnt_srtkenmerk_upper = UPPER (kw)
|
||||||
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B' 'V');
|
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||||||
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
ELSE -- kenmerkwaarde is numeriek (dus key)!
|
||||||
SELECT cnt_srtkenmerk_key
|
SELECT cnt_srtkenmerk_key
|
||||||
INTO v_srtkenmerk_key
|
INTO v_srtkenmerk_key
|
||||||
FROM cnt_srtkenmerk
|
FROM cnt_srtkenmerk
|
||||||
WHERE cnt_srtkenmerk_verwijder IS NULL
|
WHERE cnt_srtkenmerk_verwijder IS NULL
|
||||||
AND cnt_srtkenmerk_key = fac.safe_to_number (kw)
|
AND cnt_srtkenmerk_key = fac.safe_to_number (kw)
|
||||||
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B' 'V');
|
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
RETURN v_srtkenmerk_key;
|
RETURN v_srtkenmerk_key;
|
||||||
@@ -20492,6 +20492,7 @@ AS
|
|||||||
v_res_ruimte_key res_ruimte.res_ruimte_key%TYPE;
|
v_res_ruimte_key res_ruimte.res_ruimte_key%TYPE;
|
||||||
v_syncstate VARCHAR2(4000);
|
v_syncstate VARCHAR2(4000);
|
||||||
v_len NUMBER;
|
v_len NUMBER;
|
||||||
|
v_sync NUMBER;
|
||||||
|
|
||||||
CURSOR c1
|
CURSOR c1
|
||||||
IS
|
IS
|
||||||
@@ -20512,11 +20513,28 @@ BEGIN
|
|||||||
FROM fac_import
|
FROM fac_import
|
||||||
WHERE fac_import_key = p_import_key;
|
WHERE fac_import_key = p_import_key;
|
||||||
|
|
||||||
-- Syncstate leegmaken, zodat we 'n append kunnen doen.
|
SELECT r.res_ruimte_key - COALESCE(s.res_ruimte_key, 0)
|
||||||
UPDATE res_ruimte
|
INTO v_sync
|
||||||
SET res_ruimte_syncstate = NULL
|
FROM res_ruimte r
|
||||||
WHERE res_ruimte_key = v_res_ruimte_key
|
, res_ruimte_sync s
|
||||||
AND res_ruimte_extern_id IS NOT NULL;
|
WHERE r.res_ruimte_key = s.res_ruimte_key(+)
|
||||||
|
AND r.res_ruimte_extern_id IS NOT NULL
|
||||||
|
AND r.res_ruimte_key = v_res_ruimte_key;
|
||||||
|
--
|
||||||
|
-- v_sync: no_data_found --> niet gevonden, niets doen.
|
||||||
|
-- 0 --> bestaat in res_ruimte en res_ruimte_sync.
|
||||||
|
-- >0 --> bestaat alleen in res_ruimte.
|
||||||
|
IF (v_sync = 0)
|
||||||
|
THEN
|
||||||
|
-- Syncstate leegmaken, zodat we 'n append kunnen doen.
|
||||||
|
UPDATE res_ruimte_sync
|
||||||
|
SET res_ruimte_syncstate = NULL
|
||||||
|
WHERE res_ruimte_key = v_res_ruimte_key;
|
||||||
|
ELSE
|
||||||
|
-- Voeg een res_ruimte_sync record toe.
|
||||||
|
INSERT INTO res_ruimte_sync (res_ruimte_key)
|
||||||
|
VALUES (v_res_ruimte_key);
|
||||||
|
END IF;
|
||||||
|
|
||||||
FOR rec1 IN c1 LOOP
|
FOR rec1 IN c1 LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -20536,11 +20554,10 @@ BEGIN
|
|||||||
|
|
||||||
-- Stylesheet knipt syncstates langer dan 4000 karakters op in meerdere delen
|
-- Stylesheet knipt syncstates langer dan 4000 karakters op in meerdere delen
|
||||||
-- Hier weer aan elkaar plakken.
|
-- Hier weer aan elkaar plakken.
|
||||||
UPDATE res_ruimte
|
UPDATE res_ruimte_sync
|
||||||
SET res_ruimte_syncstate = res_ruimte_syncstate || TRIM(v_syncstate),
|
SET res_ruimte_syncstate = res_ruimte_syncstate || TRIM(v_syncstate),
|
||||||
res_ruimte_syncdate = SYSDATE
|
res_ruimte_syncdate = SYSDATE
|
||||||
WHERE res_ruimte_key = v_res_ruimte_key
|
WHERE res_ruimte_key = v_res_ruimte_key;
|
||||||
AND res_ruimte_extern_id IS NOT NULL;
|
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
@@ -20549,9 +20566,8 @@ BEGIN
|
|||||||
v_errormsg := 'Fout bij bepalen lengte syncstate';
|
v_errormsg := 'Fout bij bepalen lengte syncstate';
|
||||||
SELECT LENGTH(res_ruimte_syncstate)
|
SELECT LENGTH(res_ruimte_syncstate)
|
||||||
INTO v_len
|
INTO v_len
|
||||||
FROM res_ruimte
|
FROM res_ruimte_sync
|
||||||
WHERE res_ruimte_key = v_res_ruimte_key
|
WHERE res_ruimte_key = v_res_ruimte_key;
|
||||||
AND res_ruimte_extern_id IS NOT NULL;
|
|
||||||
|
|
||||||
IF (v_len > 4000)
|
IF (v_len > 4000)
|
||||||
THEN
|
THEN
|
||||||
@@ -20560,8 +20576,10 @@ BEGIN
|
|||||||
'Lange syncstate, ' || v_len || ' karakters',
|
'Lange syncstate, ' || v_len || ' karakters',
|
||||||
'res_ruimte_key: ' || v_res_ruimte_key);
|
'res_ruimte_key: ' || v_res_ruimte_key);
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
|
WHEN NO_DATA_FOUND
|
||||||
|
THEN
|
||||||
|
NULL;
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
THEN
|
THEN
|
||||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 1000);
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 1000);
|
||||||
|
|||||||
@@ -114,10 +114,6 @@ CREATE_TABLE(res_ruimte,0)
|
|||||||
CONSTRAINT res_c_res_status_fo2 CHECK(res_status_fo_key IN (1,2,3,4)),
|
CONSTRAINT res_c_res_status_fo2 CHECK(res_status_fo_key IN (1,2,3,4)),
|
||||||
res_ruimte_extern_id
|
res_ruimte_extern_id
|
||||||
VARCHAR2(256),
|
VARCHAR2(256),
|
||||||
res_ruimte_syncstate
|
|
||||||
CLOB,
|
|
||||||
res_ruimte_syncdate
|
|
||||||
DATE,
|
|
||||||
res_ruimte_cv
|
res_ruimte_cv
|
||||||
NUMBER(1)
|
NUMBER(1)
|
||||||
DEFAULT 0
|
DEFAULT 0
|
||||||
@@ -126,6 +122,15 @@ CREATE_TABLE(res_ruimte,0)
|
|||||||
CONSTRAINT res_u_res_ruimte_upper UNIQUE(res_ruimte_upper, res_ruimte_verwijder)
|
CONSTRAINT res_u_res_ruimte_upper UNIQUE(res_ruimte_upper, res_ruimte_verwijder)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE_TABLE(res_ruimte_sync,0)
|
||||||
|
(
|
||||||
|
res_ruimte_key
|
||||||
|
NUMBER(10),
|
||||||
|
res_ruimte_syncstate
|
||||||
|
CLOB,
|
||||||
|
res_ruimte_syncdate
|
||||||
|
DATE
|
||||||
|
);
|
||||||
|
|
||||||
CREATE_TABLE(res_alg_ruimte,0)
|
CREATE_TABLE(res_alg_ruimte,0)
|
||||||
(
|
(
|
||||||
|
|||||||
@@ -481,6 +481,25 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58249
|
||||||
|
CREATE TABLE res_ruimte_sync
|
||||||
|
(
|
||||||
|
res_ruimte_key NUMBER(10),
|
||||||
|
res_ruimte_syncstate CLOB,
|
||||||
|
res_ruimte_syncdate DATE
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO res_ruimte_sync
|
||||||
|
( SELECT res_ruimte_key
|
||||||
|
, res_ruimte_syncstate
|
||||||
|
, res_ruimte_syncdate
|
||||||
|
FROM res_ruimte
|
||||||
|
WHERE res_ruimte_syncstate IS NOT NULL
|
||||||
|
OR res_ruimte_syncdate IS NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE res_ruimte DROP COLUMN res_ruimte_syncstate;
|
||||||
|
ALTER TABLE res_ruimte DROP COLUMN res_ruimte_syncdate;
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////// XXXX#nnnnn
|
/////////////////////////////////////////////////////////////////////////////////////////// XXXX#nnnnn
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user