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)
|
||||
AND alg_kenmerk_verwijder IS NULL
|
||||
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)!
|
||||
SELECT alg_kenmerk_key
|
||||
INTO v_kenmerk_key
|
||||
@@ -3252,7 +3252,7 @@ AS
|
||||
WHERE alg_kenmerk_key = fac.safe_to_number (kw)
|
||||
AND alg_kenmerk_verwijder IS NULL
|
||||
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;
|
||||
|
||||
RETURN v_kenmerk_key;
|
||||
@@ -7422,13 +7422,13 @@ IS
|
||||
INTO v_srtkenmerk_key
|
||||
FROM ins_v_aanwezigsrtkenmerk
|
||||
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)!
|
||||
SELECT ins_srtkenmerk_key
|
||||
INTO v_srtkenmerk_key
|
||||
FROM ins_v_aanwezigsrtkenmerk
|
||||
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;
|
||||
|
||||
RETURN TO_CHAR(v_srtkenmerk_key) || '|' || TO_CHAR(v_kenmerk_groep);
|
||||
@@ -18445,14 +18445,14 @@ AS
|
||||
FROM cnt_srtkenmerk
|
||||
WHERE cnt_srtkenmerk_verwijder IS NULL
|
||||
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)!
|
||||
SELECT cnt_srtkenmerk_key
|
||||
INTO v_srtkenmerk_key
|
||||
FROM cnt_srtkenmerk
|
||||
WHERE cnt_srtkenmerk_verwijder IS NULL
|
||||
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;
|
||||
|
||||
RETURN v_srtkenmerk_key;
|
||||
@@ -20492,6 +20492,7 @@ AS
|
||||
v_res_ruimte_key res_ruimte.res_ruimte_key%TYPE;
|
||||
v_syncstate VARCHAR2(4000);
|
||||
v_len NUMBER;
|
||||
v_sync NUMBER;
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
@@ -20512,11 +20513,28 @@ BEGIN
|
||||
FROM fac_import
|
||||
WHERE fac_import_key = p_import_key;
|
||||
|
||||
SELECT r.res_ruimte_key - COALESCE(s.res_ruimte_key, 0)
|
||||
INTO v_sync
|
||||
FROM res_ruimte r
|
||||
, res_ruimte_sync s
|
||||
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
|
||||
UPDATE res_ruimte_sync
|
||||
SET res_ruimte_syncstate = NULL
|
||||
WHERE res_ruimte_key = v_res_ruimte_key
|
||||
AND res_ruimte_extern_id IS NOT 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
|
||||
BEGIN
|
||||
@@ -20536,11 +20554,10 @@ BEGIN
|
||||
|
||||
-- Stylesheet knipt syncstates langer dan 4000 karakters op in meerdere delen
|
||||
-- Hier weer aan elkaar plakken.
|
||||
UPDATE res_ruimte
|
||||
UPDATE res_ruimte_sync
|
||||
SET res_ruimte_syncstate = res_ruimte_syncstate || TRIM(v_syncstate),
|
||||
res_ruimte_syncdate = SYSDATE
|
||||
WHERE res_ruimte_key = v_res_ruimte_key
|
||||
AND res_ruimte_extern_id IS NOT NULL;
|
||||
WHERE res_ruimte_key = v_res_ruimte_key;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -20549,9 +20566,8 @@ BEGIN
|
||||
v_errormsg := 'Fout bij bepalen lengte syncstate';
|
||||
SELECT LENGTH(res_ruimte_syncstate)
|
||||
INTO v_len
|
||||
FROM res_ruimte
|
||||
WHERE res_ruimte_key = v_res_ruimte_key
|
||||
AND res_ruimte_extern_id IS NOT NULL;
|
||||
FROM res_ruimte_sync
|
||||
WHERE res_ruimte_key = v_res_ruimte_key;
|
||||
|
||||
IF (v_len > 4000)
|
||||
THEN
|
||||
@@ -20560,8 +20576,10 @@ BEGIN
|
||||
'Lange syncstate, ' || v_len || ' karakters',
|
||||
'res_ruimte_key: ' || v_res_ruimte_key);
|
||||
END IF;
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
NULL;
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
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)),
|
||||
res_ruimte_extern_id
|
||||
VARCHAR2(256),
|
||||
res_ruimte_syncstate
|
||||
CLOB,
|
||||
res_ruimte_syncdate
|
||||
DATE,
|
||||
res_ruimte_cv
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
@@ -126,6 +122,15 @@ CREATE_TABLE(res_ruimte,0)
|
||||
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)
|
||||
(
|
||||
|
||||
@@ -481,6 +481,25 @@ BEGIN
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user