FCLT#60030 Bij meerdere entiteiten _extern_id's kunnen gebruiken

svn path=/Database/trunk/; revision=50872
This commit is contained in:
Erik Groener
2021-04-15 15:03:51 +00:00
parent 8b3cb5aec1
commit 90b6ddb0cc
3 changed files with 118 additions and 16 deletions

View File

@@ -1176,6 +1176,8 @@ AS
v_limietperiode prs_kostenplaats.prs_kostenplaats_limietperiode%TYPE;
v_extern prs_kostenplaats.prs_kostenplaats_extern%TYPE;
v_kostenplaatsgrp_key prs_kostenplaats.prs_kostenplaatsgrp_key%TYPE;
v_externnr prs_kostenplaats.prs_kostenplaats_externnr%TYPE;
v_externsyncdate prs_kostenplaats.prs_kostenplaats_externsyncdate%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
@@ -1189,7 +1191,9 @@ AS
k.prs_kostenplaats_limiet,
k.prs_kostenplaats_limietperiode,
k.prs_kostenplaats_extern,
k.prs_kostenplaatsgrp_key
k.prs_kostenplaatsgrp_key,
k.prs_kostenplaats_externnr,
k.prs_kostenplaats_externsyncdate
INTO v_nr,
v_omschrijving,
v_prs_perslid_key,
@@ -1199,7 +1203,9 @@ AS
v_limiet,
v_limietperiode,
v_extern,
v_kostenplaatsgrp_key
v_kostenplaatsgrp_key,
v_externnr,
v_externsyncdate
FROM prs_kostenplaats k
WHERE prs_kostenplaats_key = p_key;
createxmltagvalue ('key', mynumbertochar (p_key));
@@ -1211,6 +1217,8 @@ AS
createxmltagvalue ('limiet', v_limiet);
createxmltagvalue ('limietperiode', v_limietperiode);
createxmltagvalue ('extern', v_extern);
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
create_prs_kostenpltsgrp_node (v_kostenplaatsgrp_key);
IF NOT p_concise
THEN
@@ -1642,6 +1650,8 @@ AS
v_cp_tussenv prs_contactpersoon.prs_contactpersoon_tussenv%TYPE;
v_cp_functie prs_contactpersoon.prs_contactpersoon_functie%TYPE;
v_cp_titel prs_contactpersoon.prs_contactpersoon_titel%TYPE;
v_externnr prs_contactpersoon.prs_contactpersoon_externnr%TYPE;
v_externsyncdate prs_contactpersoon.prs_contactpersoon_extsyncdate%TYPE;
v_naam_full VARCHAR2 (255);
CURSOR c1
@@ -1677,7 +1687,9 @@ AS
NULL, '',
prs_contactpersoon_tussenv || ' ')
|| prs_contactpersoon_naam
naam_full
naam_full,
prs_contactpersoon_externnr,
prs_contactpersoon_extsyncdate
INTO v_cp_naam,
v_cp_voorletters,
v_cp_voornaam,
@@ -1690,7 +1702,9 @@ AS
v_cp_tussenv,
v_cp_functie,
v_cp_titel,
v_naam_full
v_naam_full,
v_externnr,
v_externsyncdate
FROM prs_contactpersoon
WHERE prs_contactpersoon_key = p_key;
@@ -1708,6 +1722,8 @@ AS
createxmltagvalue ('tussenv', v_cp_tussenv);
createxmltagvalue ('functie', v_cp_functie);
createxmltagvalue ('titel', v_cp_titel);
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
FOR rec1 IN c1
LOOP
@@ -1966,8 +1982,10 @@ AS
v_prs_bedrijf_bedrijf_key prs_bedrijf_bedrijf.prs_bedrijf_bedrijf_key%TYPE;
v_prs_bedrijf_key1 prs_bedrijf_bedrijf.prs_bedrijf_key1%TYPE;
v_prs_bedrijf_externid1 prs_bedrijf_bedrijf.prs_bedrijf_externid1%TYPE;
v_prs_bedrijf_externsyncdate1 prs_bedrijf_bedrijf.prs_bedrijf_externsyncdate1%TYPE;
v_prs_bedrijf_key2 prs_bedrijf_bedrijf.prs_bedrijf_key2%TYPE;
v_prs_bedrijf_externid2 prs_bedrijf_bedrijf.prs_bedrijf_externid2%TYPE;
v_prs_bedrijf_externsyncdate2 prs_bedrijf_bedrijf.prs_bedrijf_externsyncdate2%TYPE;
v_prs_bedrijf_bedrijf_startdatum prs_bedrijf_bedrijf.prs_bedrijf_bedrijf_startdatum%TYPE;
v_prs_bedrijf_bedrijf_einddatum prs_bedrijf_bedrijf.prs_bedrijf_bedrijf_einddatum%TYPE;
v_prs_bedrijf_bedrijf_status prs_bedrijf_bedrijf.prs_bedrijf_bedrijf_status%TYPE;
@@ -1987,8 +2005,10 @@ AS
SELECT prs_bedrijf_bedrijf_key,
prs_bedrijf_key1,
prs_bedrijf_externid1,
prs_bedrijf_externsyncdate1,
prs_bedrijf_key2,
prs_bedrijf_externid2,
prs_bedrijf_externsyncdate2,
prs_bedrijf_bedrijf_startdatum,
prs_bedrijf_bedrijf_einddatum,
prs_bedrijf_bedrijf_status,
@@ -2002,8 +2022,10 @@ AS
INTO v_prs_bedrijf_bedrijf_key,
v_prs_bedrijf_key1,
v_prs_bedrijf_externid1,
v_prs_bedrijf_externsyncdate1,
v_prs_bedrijf_key2,
v_prs_bedrijf_externid2,
v_prs_bedrijf_externsyncdate2,
v_prs_bedrijf_bedrijf_startdatum,
v_prs_bedrijf_bedrijf_einddatum,
v_prs_bedrijf_bedrijf_status,
@@ -2020,8 +2042,10 @@ AS
createxmltagvalue ('key', v_prs_bedrijf_bedrijf_key);
createxmltagvalue ('bedrijf_key1', v_prs_bedrijf_key1);
createxmltagvalue ('externid1', v_prs_bedrijf_externid1);
mydatetochar ('externsyncdate1', v_prs_bedrijf_externsyncdate1);
createxmltagvalue ('bedrijf_key2', v_prs_bedrijf_key2);
createxmltagvalue ('externid2', v_prs_bedrijf_externid2);
mydatetochar ('externsyncdate2', v_prs_bedrijf_externsyncdate2);
mydatetochar ('startdatum', v_prs_bedrijf_bedrijf_startdatum);
mydatetochar ('einddatum', v_prs_bedrijf_bedrijf_einddatum);
createxmltagvalue ('status', v_prs_bedrijf_bedrijf_status);
@@ -2056,6 +2080,8 @@ AS
v_naam5 prs_v_afdeling_fullnames.prs_afdeling_naam5%TYPE;
v_naam6 prs_v_afdeling_fullnames.prs_afdeling_naam6%TYPE;
v_bedrijf_key prs_afdeling.prs_bedrijf_key%TYPE;
v_externid prs_afdeling.prs_afdeling_externid%TYPE;
v_externsyncdate prs_afdeling.prs_afdeling_externsyncdate%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
@@ -2072,7 +2098,9 @@ AS
af.prs_afdeling_naam4,
af.prs_afdeling_naam5,
af.prs_afdeling_naam6,
d.prs_bedrijf_key
d.prs_bedrijf_key,
d.prs_afdeling_externid,
d.prs_afdeling_externsyncdate
INTO v_naam,
v_omschrijving,
v_adres_key,
@@ -2084,7 +2112,9 @@ AS
v_naam4,
v_naam5,
v_naam6,
v_bedrijf_key
v_bedrijf_key,
v_externid,
v_externsyncdate
FROM prs_afdeling d, prs_v_afdeling_fullnames af
WHERE d.prs_afdeling_key = af.prs_afdeling_key
AND d.prs_afdeling_key = p_key;
@@ -2097,6 +2127,8 @@ AS
createxmltagvalue ('naam4', v_naam4);
createxmltagvalue ('naam5', v_naam5);
createxmltagvalue ('naam6', v_naam6);
createxmltagvalue ('externid', v_externid);
mydatetochar ('externsyncdate', v_externsyncdate);
createxmltagvalue ('omschrijving', v_omschrijving);
create_prs_kostenplaats_node (v_kostenplaats_key, FALSE);
create_mld_adres_node (v_adres_key, 'afleveradres', TRUE);
@@ -2182,6 +2214,8 @@ AS
v_srtperslid_key prs_perslid.prs_srtperslid_key%TYPE;
v_srtnoti_mode prs_perslid.prs_perslid_srtnoti_mode%TYPE;
v_geslacht prs_perslid.prs_perslid_geslacht%TYPE;
v_externid prs_perslid.prs_perslid_externid%TYPE;
v_externsyncdate prs_perslid.prs_perslid_externsyncdate%TYPE;
CURSOR c1
IS
@@ -2221,7 +2255,9 @@ AS
prs_perslid_mobiel,
prs_srtperslid_key,
prs_perslid_srtnoti_mode,
prs_perslid_geslacht
prs_perslid_geslacht,
prs_perslid_externid,
prs_perslid_externsyncdate
INTO v_titel,
v_voorletters,
v_naam,
@@ -2242,7 +2278,9 @@ AS
v_mobiel,
v_srtperslid_key,
v_srtnoti_mode,
v_geslacht
v_geslacht,
v_externid,
v_externsyncdate
FROM prs_perslid p
WHERE prs_perslid_key = p_key;
@@ -2265,6 +2303,8 @@ AS
createxmltagvalue ('initialen', v_initialen);
createxmltagvalue ('nr', v_nr);
createxmltagvalue ('geslacht', v_geslacht);
createxmltagvalue ('externid', v_externid);
mydatetochar ('externsyncdate', v_externsyncdate);
IF NOT p_concise
THEN
@@ -2314,7 +2354,11 @@ AS
v_opp prs_werkplek.prs_werkplek_opp%TYPE;
v_virtueel prs_werkplek.prs_werkplek_virtueel%TYPE;
v_alg_ruimte_key prs_werkplek.prs_alg_ruimte_key%TYPE;
v_externnr prs_werkplek.prs_werkplek_externnr%TYPE;
v_externsyncdate prs_werkplek.prs_werkplek_externsyncdate%TYPE;
v_pwpvolgnr prs_perslidwerkplek.prs_perslidwerkplek_volgnr%TYPE;
v_pwpexternnr prs_perslidwerkplek.prs_perslidwerkplek_externnr%TYPE;
v_pwpexternsyncdate prs_perslidwerkplek.prs_perslidwerkplek_extsyncdate%TYPE;
BEGIN
IF p_werkplek_key IS NOT NULL
THEN
@@ -2328,7 +2372,11 @@ AS
wp.prs_werkplek_opp,
wp.prs_werkplek_virtueel,
wp.prs_alg_ruimte_key,
NULL
wp.prs_werkplek_externnr,
wp.prs_werkplek_externsyncdate,
NULL,
pwp.prs_perslidwerkplek_externnr,
pwp.prs_perslidwerkplek_extsyncdate
INTO v_prs_werkplek_key,
v_bezetting,
v_volgnr,
@@ -2337,7 +2385,11 @@ AS
v_opp,
v_virtueel,
v_alg_ruimte_key,
v_externnr,
v_externsyncdate,
v_pwpvolgnr
v_pwpexternnr,
v_pwpexternsyncdate
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key(+) = wp.prs_werkplek_key
AND wp.prs_werkplek_key = p_werkplek_key
@@ -2347,7 +2399,11 @@ AS
wp.prs_werkplek_vastopp,
wp.prs_werkplek_opp,
wp.prs_werkplek_virtueel,
wp.prs_alg_ruimte_key;
wp.prs_alg_ruimte_key,
wp.prs_werkplek_externnr,
wp.prs_werkplek_externsyncdate,
pwp.prs_perslidwerkplek_externnr,
pwp.prs_perslidwerkplek_extsyncdate;
ELSE
SELECT wp.prs_werkplek_key,
pwp.prs_perslidwerkplek_bezetting,
@@ -2357,7 +2413,11 @@ AS
wp.prs_werkplek_opp,
wp.prs_werkplek_virtueel,
wp.prs_alg_ruimte_key,
pwp.prs_perslidwerkplek_volgnr
wp.prs_werkplek_externnr,
wp.prs_werkplek_externsyncdate,
pwp.prs_perslidwerkplek_volgnr,
pwp.prs_perslidwerkplek_externnr,
pwp.prs_perslidwerkplek_extsyncdate
INTO v_prs_werkplek_key,
v_bezetting,
v_volgnr,
@@ -2366,7 +2426,11 @@ AS
v_opp,
v_virtueel,
v_alg_ruimte_key,
v_pwpvolgnr
v_externnr,
v_externsyncdate,
v_pwpvolgnr,
v_pwpexternnr,
v_pwpexternsyncdate
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_key = p_werkplek_key
@@ -2387,7 +2451,11 @@ AS
createxmltagvalue ('vastopp', v_vastopp);
createxmltagvalue ('opp', v_opp);
createxmltagvalue ('virtueel', v_virtueel);
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
createxmltagvalue ('myvolgnr', v_pwpvolgnr);
createxmltagvalue ('pwpexternnr', v_pwpexternnr);
mydatetochar ('pwpexternsyncdate', v_pwpexternsyncdate);
create_alg_onroerendgoed_node (v_alg_ruimte_key,
'plaats',

View File

@@ -164,12 +164,16 @@ CREATE_TABLE(prs_bedrijf_bedrijf,0)
NUMBER (10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf1 REFERENCES prs_bedrijf (prs_bedrijf_key) NOT NULL,
prs_bedrijf_externid1
VARCHAR2(60), -- optional remote key of 1
VARCHAR2(256), -- optional remote key of 1
prs_bedrijf_externsyncdate1
DATE,
prs_bedrijf_key2
NUMBER (10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf2 REFERENCES prs_bedrijf (prs_bedrijf_key) NOT NULL,
prs_bedrijf_externid2
VARCHAR2(60), -- optional remote key of 2
VARCHAR2(256), -- optional remote key of 2
prs_bedrijf_externsyncdate2
DATE,
prs_bedrijf_bedrijf_startdatum
DATE
DEFAULT SYSDATE,
@@ -339,6 +343,10 @@ CREATE_TABLE(prs_kostenplaats,0) (
prs_kostenplaats_extern -- 0=intern, 1=extern (gebruikt bij prijsberekeningen)
NUMBER(1)
DEFAULT 0,
prs_kostenplaats_externnr
VARCHAR2(256),
prs_kostenplaats_externsyncdate
DATE,
prs_kostenplaats_fiat -- 0=geen, 1=wel fiattering
NUMBER(1)
DEFAULT 1
@@ -421,7 +429,9 @@ CREATE_TABLE(prs_afdeling,0)
-- NUMBER(10)
-- CONSTRAINT alg_r_mld_adres_key2 REFERENCES mld_adres(mld_adres_key),
prs_afdeling_externid /* voor koppelingen met externe systemen, bijvoorbeeld een externe GUID */
VARCHAR2(128),
VARCHAR2(256),
prs_afdeling_externsyncdate
DATE,
prs_afdeling_aanmaak
DATE
DEFAULT SYSDATE
@@ -504,6 +514,10 @@ CREATE_TABLE(prs_werkplek,0)
NUMBER(10)
NOT_NULL(prs_alg_ruimte_key, prs_r_prs_alg_ruimte_key1)
CONSTRAINT prs_r_prs_alg_ruimte_key2 REFERENCES alg_ruimte(alg_ruimte_key),
prs_werkplek_externnr
VARCHAR2(256),
prs_werkplek_externsyncdate
DATE,
prs_werkplek_dwgx
NUMBER(10,3),
prs_werkplek_dwgy
@@ -654,7 +668,9 @@ CREATE_TABLE(prs_perslid,0)
DATE
DEFAULT SYSDATE NOT NULL,
prs_perslid_externid /* voor koppelingen met externe systemen, bijvoorbeeld een externe GUID */
VARCHAR2(128),
VARCHAR2(256),
prs_perslid_externsyncdate
DATE,
prs_perslid_externoslogin -- SCIM only, not uppercased
VARCHAR2(30),
prs_perslid_terms_datum
@@ -984,6 +1000,10 @@ CREATE_TABLE(prs_perslidwerkplek,0)
(prs_perslidwerkplek_bezetting is not null and prs_perslidwerkplek_bezetting BETWEEN 0 AND 100),
prs_perslidwerkplek_volgnr -- UWVA#18996
NUMBER(2),
prs_perslidwerkplek_externnr
VARCHAR2(256),
prs_perslidwerkplek_extsyncdate
DATE,
prs_perslidwerkplek_aanmaak
DATE
DEFAULT SYSDATE

View File

@@ -166,6 +166,20 @@ ALTER TABLE res_rsv_deel ADD ( res_rsv_deel_externnr VARCHAR2(256),
ALTER TABLE res_rsv_ruimte ADD ( res_rsv_ruimte_externsyncdate DATE);
ALTER TABLE res_reservering ADD ( res_reservering_externnr VARCHAR2(256), res_reservering_externsyncdate DATE);
ALTER TABLE prs_bedrijf_bedrijf ADD ( prs_bedrijf_externsyncdate1 DATE);
ALTER TABLE prs_bedrijf_bedrijf ADD ( prs_bedrijf_externsyncdate2 DATE);
ALTER TABLE prs_afdeling ADD ( prs_afdeling_externsyncdate DATE);
ALTER TABLE prs_perslid ADD ( prs_perslid_externsyncdate DATE);
ALTER TABLE prs_kostenplaats ADD ( prs_kostenplaats_externnr VARCHAR2(256), prs_kostenplaats_externsyncdate DATE);
ALTER TABLE prs_werkplek ADD ( prs_werkplek_externnr VARCHAR2(256), prs_werkplek_externsyncdate DATE);
ALTER TABLE prs_perslidwerkplek ADD ( prs_perslidwerkplek_externnr VARCHAR2(256), prs_perslidwerkplek_extsyncdate DATE);
ALTER TABLE prs_contactpersoon ADD ( prs_contactpersoon_externnr VARCHAR2(256), prs_contactpersoon_extsyncdate DATE);
ALTER TABLE prs_bedrijf_bedrijf MODIFY prs_bedrijf_externid1 VARCHAR2(256);
ALTER TABLE prs_bedrijf_bedrijf MODIFY prs_bedrijf_externid2 VARCHAR2(256);
ALTER TABLE prs_afdeling MODIFY prs_afdeling_externid VARCHAR2(256);
ALTER TABLE prs_perslid MODIFY prs_perslid_externid VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#64883
ALTER TABLE fac_version DROP COLUMN fac_version_major;
ALTER TABLE fac_version DROP COLUMN fac_version_minor;