FSN#41410 beter omgaan met afdelingen met verwijderde parents bij import personen
svn path=/Database/trunk/; revision=34874
This commit is contained in:
@@ -1802,10 +1802,10 @@ AS
|
||||
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key
|
||||
FROM prs_afdeling
|
||||
WHERE UPPER (prs_afdeling_naam) =
|
||||
UPPER (recPersLid.prs_afdeling_naam)
|
||||
AND prs_afdeling_verwijder IS NULL;
|
||||
FROM prs_v_aanwezigafdeling_boom b, prs_afdeling a
|
||||
WHERE UPPER (a.prs_afdeling_naam) = UPPER (recPersLid.prs_afdeling_naam)
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND a.prs_afdeling_key = b.prs_afdeling_key;
|
||||
|
||||
v_space := '';
|
||||
-- kijk hoe we met partnernamen moeten omgaan:
|
||||
|
||||
101
PRS/PRS_VIE.SRC
101
PRS/PRS_VIE.SRC
@@ -235,6 +235,107 @@ SELECT '5' Niveau,
|
||||
AND a5.prs_afdeling_parentkey=a4.prs_afdeling_key
|
||||
AND a1.prs_afdeling_parentkey IS NULL;
|
||||
|
||||
-- De 'aanwezig'-variant van bovenstaande boom, en dat is handiger dan je denkt
|
||||
-- Een aanwezige afdeling met ergens daarboven een parent die niet aanwezig is,
|
||||
-- is effectief namelijk eigenlijk niet aanwezig.
|
||||
-- Kan dus ook gebruikt worden om te checken of een afdeling echt nog aanwezig is
|
||||
CREATE_VIEW (prs_v_aanwezigafdeling_boom, 0)
|
||||
(
|
||||
niveau,
|
||||
prs_bedrijf_key,
|
||||
prs_afdeling_key,
|
||||
prs_afdeling_key1,
|
||||
prs_afdeling_key2,
|
||||
prs_afdeling_key3,
|
||||
prs_afdeling_key4,
|
||||
prs_afdeling_key5
|
||||
)
|
||||
AS
|
||||
SELECT '1' niveau,
|
||||
a1.prs_bedrijf_key,
|
||||
a1.prs_afdeling_key,
|
||||
a1.prs_afdeling_key,
|
||||
TO_NUMBER (NULL),
|
||||
TO_NUMBER (NULL),
|
||||
TO_NUMBER (NULL),
|
||||
TO_NUMBER (NULL)
|
||||
FROM prs_afdeling a1
|
||||
WHERE a1.prs_afdeling_parentkey IS NULL AND a1.prs_afdeling_verwijder IS NULL
|
||||
UNION
|
||||
SELECT '2' niveau,
|
||||
a1.prs_bedrijf_key,
|
||||
a2.prs_afdeling_key,
|
||||
a1.prs_afdeling_key,
|
||||
a2.prs_afdeling_key,
|
||||
TO_NUMBER (NULL),
|
||||
TO_NUMBER (NULL),
|
||||
TO_NUMBER (NULL)
|
||||
FROM prs_afdeling a1, prs_afdeling a2
|
||||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||||
AND a1.prs_afdeling_parentkey IS NULL
|
||||
AND a1.prs_afdeling_verwijder IS NULL
|
||||
AND a2.prs_afdeling_verwijder IS NULL
|
||||
UNION
|
||||
SELECT '3' niveau,
|
||||
a1.prs_bedrijf_key,
|
||||
a3.prs_afdeling_key,
|
||||
a1.prs_afdeling_key,
|
||||
a2.prs_afdeling_key,
|
||||
a3.prs_afdeling_key,
|
||||
TO_NUMBER (NULL),
|
||||
TO_NUMBER (NULL)
|
||||
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3
|
||||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||||
AND a1.prs_afdeling_parentkey IS NULL
|
||||
AND a1.prs_afdeling_verwijder IS NULL
|
||||
AND a2.prs_afdeling_verwijder IS NULL
|
||||
AND a3.prs_afdeling_verwijder IS NULL
|
||||
UNION
|
||||
SELECT '4' niveau,
|
||||
a1.prs_bedrijf_key,
|
||||
a4.prs_afdeling_key,
|
||||
a1.prs_afdeling_key,
|
||||
a2.prs_afdeling_key,
|
||||
a3.prs_afdeling_key,
|
||||
a4.prs_afdeling_key,
|
||||
TO_NUMBER (NULL)
|
||||
FROM prs_afdeling a1,
|
||||
prs_afdeling a2,
|
||||
prs_afdeling a3,
|
||||
prs_afdeling a4
|
||||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||||
AND a1.prs_afdeling_parentkey IS NULL
|
||||
AND a1.prs_afdeling_verwijder IS NULL
|
||||
AND a2.prs_afdeling_verwijder IS NULL
|
||||
AND a3.prs_afdeling_verwijder IS NULL
|
||||
AND a4.prs_afdeling_verwijder IS NULL
|
||||
UNION
|
||||
SELECT '5' niveau,
|
||||
a1.prs_bedrijf_key,
|
||||
a5.prs_afdeling_key,
|
||||
a1.prs_afdeling_key,
|
||||
a2.prs_afdeling_key,
|
||||
a3.prs_afdeling_key,
|
||||
a4.prs_afdeling_key,
|
||||
a5.prs_afdeling_key
|
||||
FROM prs_afdeling a1,
|
||||
prs_afdeling a2,
|
||||
prs_afdeling a3,
|
||||
prs_afdeling a4,
|
||||
prs_afdeling a5
|
||||
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
||||
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
|
||||
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
|
||||
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
|
||||
AND a1.prs_afdeling_parentkey IS NULL
|
||||
AND a1.prs_afdeling_verwijder IS NULL
|
||||
AND a2.prs_afdeling_verwijder IS NULL
|
||||
AND a3.prs_afdeling_verwijder IS NULL
|
||||
AND a4.prs_afdeling_verwijder IS NULL
|
||||
AND a5.prs_afdeling_verwijder IS NULL;
|
||||
|
||||
CREATE_VIEW(prs_v_afdeling_fullnames, 0)
|
||||
( NIVEAU,
|
||||
|
||||
Reference in New Issue
Block a user