UWVA#31062 markorderassent moet al jaren een 4e parameter hebben
svn path=/Customer/; revision=23449
This commit is contained in:
921
onces/UWVA/UWVA#31062.sql
Normal file
921
onces/UWVA/UWVA#31062.sql
Normal file
@@ -0,0 +1,921 @@
|
||||
-- Customer specific once-script.
|
||||
--
|
||||
-- (c) 2014 Facilitor bv
|
||||
SET ECHO ON
|
||||
SPOOL xuwva#31062.lst
|
||||
SET DEFINE OFF
|
||||
|
||||
--UWVA#31062: MARKORDERASSENT moet vier parameters hebben
|
||||
-- Als losse patch opgeleverd omdat uwva_misc ondertussen al te veel andere wijzigingen heeft
|
||||
|
||||
CREATE OR REPLACE PACKAGE uwva
|
||||
AS
|
||||
FUNCTION bepaal_iss_doorlooptijd (van_date IN DATE, tot_date IN DATE)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION bepaal_uwv_doorlooptijd (van_date IN DATE, tot_date IN DATE)
|
||||
RETURN NUMBER;
|
||||
|
||||
PROCEDURE markorderassent (pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2);
|
||||
|
||||
PROCEDURE format_telefoonnummers (p_import_key IN NUMBER);
|
||||
|
||||
PROCEDURE abo_verhuisd (p_import_key NUMBER,
|
||||
p_perslid_key NUMBER,
|
||||
p_locatie_key NUMBER);
|
||||
END uwva;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY uwva
|
||||
AS
|
||||
FUNCTION bepaal_iss_doorlooptijd (van_date IN DATE, tot_date IN DATE)
|
||||
RETURN NUMBER
|
||||
IS
|
||||
c_kt_van NUMBER := 8;
|
||||
c_kt_tot NUMBER := 17;
|
||||
v_dl NUMBER;
|
||||
lbackwards BOOLEAN;
|
||||
v_van_date DATE;
|
||||
v_van_uur NUMBER;
|
||||
v_tot_date DATE;
|
||||
v_tot_uur NUMBER;
|
||||
v_loop_date DATE;
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
v_dl := 0;
|
||||
|
||||
IF (van_date > tot_date)
|
||||
THEN
|
||||
v_van_date := TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
v_tot_date := TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
lbackwards := TRUE;
|
||||
ELSE
|
||||
v_van_date := TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
v_tot_date := TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
lbackwards := FALSE;
|
||||
END IF;
|
||||
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_van) < 0)
|
||||
THEN
|
||||
v_van_uur := c_kt_van;
|
||||
ELSE
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_tot) < 0)
|
||||
THEN
|
||||
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
|
||||
ELSE
|
||||
v_van_uur := c_kt_tot;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_van) < 0)
|
||||
THEN
|
||||
v_tot_uur := c_kt_van;
|
||||
ELSE
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_tot) < 0)
|
||||
THEN
|
||||
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
|
||||
ELSE
|
||||
v_tot_uur := c_kt_tot;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
v_loop_date := TRUNC (v_van_date);
|
||||
|
||||
WHILE (v_loop_date <= v_tot_date)
|
||||
LOOP
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum = v_loop_date;
|
||||
|
||||
IF (v_count = 0 AND TO_CHAR (v_loop_date, 'd') NOT IN ('1', '7'))
|
||||
THEN
|
||||
CASE
|
||||
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_van_date)
|
||||
THEN
|
||||
v_dl := v_dl + (c_kt_tot - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - c_kt_van);
|
||||
ELSE
|
||||
v_dl := v_dl + (c_kt_tot - c_kt_van);
|
||||
END CASE;
|
||||
END IF;
|
||||
|
||||
v_loop_date := v_loop_date + 1;
|
||||
END LOOP;
|
||||
|
||||
IF lbackwards
|
||||
THEN
|
||||
RETURN 0 - v_dl;
|
||||
ELSE
|
||||
RETURN v_dl;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- UWVA#25539: Nu nog klantspecifiek, maar zou in 5.3.1 standaard mogen
|
||||
-- worden.
|
||||
-- Toch niet (mmm), want UWV heeft een verschillende berekening voor en
|
||||
-- na 01-03-2013!
|
||||
-- En per UWVA#27868 nog een volgende grens, nl. voor en na 01-11-2013!
|
||||
FUNCTION bepaal_uwv_doorlooptijd (van_date IN DATE, tot_date IN DATE)
|
||||
RETURN NUMBER
|
||||
IS
|
||||
c_kt_van_v1311 NUMBER := 7; -- De van-tijd voor 01-11-2013!
|
||||
c_kt_tot_v1311 NUMBER := 19; -- De tot-tijd voor 01-11-2013!
|
||||
c_kt_van_v1303 NUMBER := 8; -- De van-tijd voor 01-03-2013!
|
||||
c_kt_tot_v1303 NUMBER := 17; -- De tot-tijd voor 01-03-2013!
|
||||
v_kt_van NUMBER;
|
||||
v_kt_tot NUMBER;
|
||||
v_dl NUMBER;
|
||||
lbackwards BOOLEAN;
|
||||
v_van_date DATE;
|
||||
v_van_uur NUMBER;
|
||||
v_tot_date DATE;
|
||||
v_tot_uur NUMBER;
|
||||
v_loop_date DATE;
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
v_dl := 0;
|
||||
|
||||
-- Bepaal 'Start time of working day' (21=fac_t_startofworkday)!
|
||||
v_kt_van := fac.safe_to_number (fac.getsetting ('fac_t_startofworkday'));
|
||||
|
||||
-- Bepaal 'End time of working day' (22=fac_t_endofworkday)!
|
||||
v_kt_van := fac.safe_to_number (fac.getsetting ('fac_t_endofworkday'));
|
||||
|
||||
IF (van_date > tot_date)
|
||||
THEN
|
||||
v_van_date :=
|
||||
TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
v_tot_date :=
|
||||
TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
lbackwards := TRUE;
|
||||
ELSE
|
||||
v_van_date :=
|
||||
TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
v_tot_date :=
|
||||
TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
|
||||
lbackwards := FALSE;
|
||||
END IF;
|
||||
|
||||
v_loop_date := TRUNC (v_van_date);
|
||||
|
||||
WHILE (v_loop_date <= v_tot_date)
|
||||
LOOP
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum = v_loop_date;
|
||||
|
||||
IF (v_count = 0 AND TO_CHAR (v_loop_date, 'd') NOT IN ('1', '7'))
|
||||
THEN
|
||||
IF (v_loop_date >= TO_DATE ('01-11-2013', 'dd-mm-yyyy'))
|
||||
THEN -- Settings-kantoortijden!
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - v_kt_van) <
|
||||
0)
|
||||
THEN
|
||||
v_van_uur := v_kt_van;
|
||||
ELSE
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - v_kt_tot) <
|
||||
0)
|
||||
THEN
|
||||
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
|
||||
ELSE
|
||||
v_van_uur := v_kt_tot;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - v_kt_van) <
|
||||
0)
|
||||
THEN
|
||||
v_tot_uur := v_kt_van;
|
||||
ELSE
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - v_kt_tot) <
|
||||
0)
|
||||
THEN
|
||||
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
|
||||
ELSE
|
||||
v_tot_uur := v_kt_tot;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
CASE
|
||||
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_van_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_kt_tot - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - v_kt_van);
|
||||
ELSE
|
||||
v_dl := v_dl + (v_kt_tot - v_kt_van);
|
||||
END CASE;
|
||||
ELSIF (v_loop_date >= TO_DATE ('01-03-2013', 'dd-mm-yyyy'))
|
||||
THEN -- Oude setings: 7-tot-19-kantoortijden!
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24)
|
||||
- c_kt_van_v1311) < 0)
|
||||
THEN
|
||||
v_van_uur := c_kt_van_v1311;
|
||||
ELSE
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24)
|
||||
- c_kt_tot_v1311) < 0)
|
||||
THEN
|
||||
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
|
||||
ELSE
|
||||
v_van_uur := c_kt_tot_v1311;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24)
|
||||
- c_kt_van_v1311) < 0)
|
||||
THEN
|
||||
v_tot_uur := c_kt_van_v1311;
|
||||
ELSE
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24)
|
||||
- c_kt_tot_v1311) < 0)
|
||||
THEN
|
||||
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
|
||||
ELSE
|
||||
v_tot_uur := c_kt_tot_v1311;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
CASE
|
||||
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_van_date)
|
||||
THEN
|
||||
v_dl := v_dl + (c_kt_tot_v1311 - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - c_kt_van_v1311);
|
||||
ELSE
|
||||
v_dl := v_dl + (c_kt_tot_v1311 - c_kt_van_v1311);
|
||||
END CASE;
|
||||
ELSE -- Nog oudere setings: 8-tot-17-kantoortijden!
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24)
|
||||
- c_kt_van_v1303) < 0)
|
||||
THEN
|
||||
v_van_uur := c_kt_van_v1303;
|
||||
ELSE
|
||||
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24)
|
||||
- c_kt_tot_v1303) < 0)
|
||||
THEN
|
||||
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
|
||||
ELSE
|
||||
v_van_uur := c_kt_tot_v1303;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24)
|
||||
- c_kt_van_v1303) < 0)
|
||||
THEN
|
||||
v_tot_uur := c_kt_van_v1303;
|
||||
ELSE
|
||||
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24)
|
||||
- c_kt_tot_v1303) < 0)
|
||||
THEN
|
||||
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
|
||||
ELSE
|
||||
v_tot_uur := c_kt_tot_v1303;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
CASE
|
||||
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_van_date)
|
||||
THEN
|
||||
v_dl := v_dl + (c_kt_tot_v1303 - v_van_uur);
|
||||
WHEN v_loop_date = TRUNC (v_tot_date)
|
||||
THEN
|
||||
v_dl := v_dl + (v_tot_uur - c_kt_van_v1303);
|
||||
ELSE
|
||||
v_dl := v_dl + (c_kt_tot_v1303 - c_kt_van_v1303);
|
||||
END CASE;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
v_loop_date := v_loop_date + 1;
|
||||
END LOOP;
|
||||
|
||||
IF lbackwards
|
||||
THEN
|
||||
RETURN 0 - v_dl;
|
||||
ELSE
|
||||
RETURN v_dl;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- MarkOrderAsSent
|
||||
-- Markeert dat een opdracht is verzonden, zoals door PutOrders.exe.
|
||||
-- Hoe dat moet hangt af van het soort opdracht: contract, opdracht e.d.
|
||||
-- pxmlnode is (lowercase!) de xml-naam van de entiteit (contract, opdracht,
|
||||
-- bestelopdr of iets klantspecifieks zoals ooit 'folder').
|
||||
-- pkey is de key daarvan.
|
||||
-- presult geeft het succes van verzending aan: 0(/2)=succesvol, 1=geweigerd
|
||||
-- wat gebruikt *kan* worden bij het bepalen van een te zetten status.
|
||||
-- Voor customer-orderqueues dient overeenkomstige CUST.markorderassent() te
|
||||
-- worden gedefinieerd.
|
||||
PROCEDURE markorderassent (pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2)
|
||||
AS
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
CASE pxmlnode
|
||||
WHEN 'contract'
|
||||
THEN
|
||||
IF presult = 0 or presult = 2
|
||||
THEN
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM cnt_kenmerkcontract
|
||||
WHERE cnt_contract_key = pkey
|
||||
AND cnt_kenmerk_key = 700 -- 'Laatste cXML-update'
|
||||
AND cnt_kenmerkcontract_verwijder IS NULL;
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
INSERT INTO cnt_kenmerkcontract (
|
||||
cnt_contract_key,
|
||||
cnt_kenmerk_key,
|
||||
cnt_kenmerkcontract_waarde
|
||||
)
|
||||
VALUES (pkey,
|
||||
700, -- 'Laatste cXML-update'
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy'));
|
||||
ELSE
|
||||
UPDATE cnt_kenmerkcontract
|
||||
SET cnt_kenmerkcontract_waarde =
|
||||
TO_CHAR (SYSDATE, 'dd-mm-yyyy'),
|
||||
cnt_kenmerkcontract_wijzig = SYSDATE
|
||||
WHERE cnt_contract_key = pkey
|
||||
AND cnt_kenmerk_key = 700 -- 'Laatste cXML-update'
|
||||
AND cnt_kenmerkcontract_verwijder IS NULL;
|
||||
END IF;
|
||||
END IF;
|
||||
END CASE;
|
||||
END;
|
||||
|
||||
-- UWVA#20205 en UWVA#20219: Procedure om telefoonnummers netjes op te maken.
|
||||
-- Wordt aangeroepen aan het einde van uwva_update_abs().
|
||||
--
|
||||
-- Voor een specificatie van de opmaak, zie UWVA#20205.
|
||||
-- FSN#23352: (sub)query's opschonen
|
||||
PROCEDURE format_telefoonnummers (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_fac_usrtab_key NUMBER;
|
||||
c_faxnr_key NUMBER (10) := 7;
|
||||
|
||||
BEGIN
|
||||
-- Eigen Tabel met alle netnummers, om netnummers in telefoonnummers-zonder-opmaak
|
||||
-- te kunnen achterhalen.
|
||||
SELECT fac_usrtab_key
|
||||
INTO v_fac_usrtab_key
|
||||
FROM fac_usrtab
|
||||
WHERE fac_usrtab_naam = 'netnummers';
|
||||
|
||||
-- UWVA#21779: Door een foutieve trigger (FSN#21781) bestaan er prs_kenmerklinks waarvan de
|
||||
-- prs_perslid verwijderd is. Deze prs_kenmerklinks mogen (moeten) verwijderd.
|
||||
DELETE FROM prs_kenmerklink
|
||||
WHERE prs_kenmerklink_niveau = 'P'
|
||||
AND NOT EXISTS (SELECT 1
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_key = prs_link_key);
|
||||
|
||||
--
|
||||
-- TELEFOONNUMMER --------------------------------------------------------------
|
||||
--
|
||||
-- Verwijder landinformatie (alleen van Nederlandse nummers; buitenlandse
|
||||
-- worden helaas verminkt!)
|
||||
UPDATE prs_perslid SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 2) WHERE prs_perslid_telefoonnr LIKE '+%';
|
||||
UPDATE prs_perslid SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 3) WHERE prs_perslid_telefoonnr LIKE '31%';
|
||||
UPDATE prs_perslid SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 5) WHERE prs_perslid_telefoonnr LIKE '0031%';
|
||||
|
||||
-- Verwijder non-digit tekens (leestekens en spaties)
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(prs_perslid_telefoonnr,
|
||||
'.', ''),
|
||||
'(', ''),
|
||||
')', ''),
|
||||
'-', ''),
|
||||
' ', '');
|
||||
UPDATE prs_perslid SET prs_perslid_telefoonnr = '20' || prs_perslid_telefoonnr WHERE prs_perslid_telefoonnr LIKE '687____';
|
||||
UPDATE prs_perslid SET prs_perslid_telefoonnr = SUBSTR (prs_perslid_telefoonnr, 2) WHERE prs_perslid_telefoonnr LIKE '0%';
|
||||
|
||||
-- 06-nummers bijwerken
|
||||
-- (NB: format "06 - xx xx xx xx" is 16 digits, dus gebruik ik
|
||||
-- "06-xx xx xx xx", om het binnen de 15 karakters te houden.)
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR( TRIM( '0' || SUBSTR (prs_perslid_telefoonnr, 1, 1) || '-'
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 2, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 8, 2) ), 1, 15)
|
||||
WHERE prs_perslid_telefoonnr LIKE '6%'
|
||||
AND prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5;
|
||||
|
||||
-- 0800- en 0900-nummers met een even aantal digits
|
||||
-- (NB: MOD(prs_perslid_telefoonnr, 2) = 1, omdat prs_perslid_telefoonnr begint met 900 ipv 0900!)
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR( TRIM( '0' || SUBSTR (prs_perslid_telefoonnr, 1, 3) || ' - '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 8, 2) ), 1, 15)
|
||||
WHERE prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5
|
||||
AND MOD( LENGTH(prs_perslid_telefoonnr), 2) = 1
|
||||
AND ( prs_perslid_telefoonnr LIKE '800%'
|
||||
OR prs_perslid_telefoonnr LIKE '900%');
|
||||
|
||||
-- 0800- en 0900-nummers met een oneven aantal digits
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR( TRIM('0' || SUBSTR (prs_perslid_telefoonnr, 1, 3) || '-'
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 4, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 7, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 9, 2)) , 1, 15)
|
||||
WHERE prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5
|
||||
AND MOD( LENGTH(prs_perslid_telefoonnr), 2) = 0
|
||||
AND ( prs_perslid_telefoonnr LIKE '800%'
|
||||
OR prs_perslid_telefoonnr LIKE '900%');
|
||||
|
||||
-- 088-nummers met een even aantal digits
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR( TRIM( '0' || SUBSTR (prs_perslid_telefoonnr, 1, 2) || ' - '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 3, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 8, 2) ), 1, 15)
|
||||
WHERE prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5
|
||||
AND MOD( LENGTH(prs_perslid_telefoonnr), 2) = 1
|
||||
AND prs_perslid_telefoonnr LIKE '88%';
|
||||
|
||||
-- 088-nummers met een oneven aantal digits
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR( TRIM('0' || SUBSTR (prs_perslid_telefoonnr, 1, 2) || '-'
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 3, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 5, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 7, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 9, 2)) , 1, 15)
|
||||
WHERE prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5
|
||||
AND MOD( LENGTH(prs_perslid_telefoonnr), 2) = 0
|
||||
AND prs_perslid_telefoonnr LIKE '88%';
|
||||
|
||||
-- netnummers met 2 digits na-de-nul (bijv "020")
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR('(0' || SUBSTR (prs_perslid_telefoonnr, 1, 2) || ') '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 3, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 8, 2), 1, 15)
|
||||
WHERE prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5
|
||||
AND EXISTS (SELECT 1
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND prs_perslid_telefoonnr LIKE fac_usrdata_code || '%'
|
||||
AND LENGTH (fac_usrdata_code) = 2);
|
||||
|
||||
-- netnummers met 3 digits na-de-nul (bijv "0118")
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_telefoonnr = SUBSTR('(0' || SUBSTR (prs_perslid_telefoonnr, 1, 3) || ') '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_telefoonnr, 8, 2), 1, 15)
|
||||
WHERE prs_perslid_telefoonnr IS NOT NULL
|
||||
AND LENGTH(prs_perslid_telefoonnr) > 5
|
||||
AND EXISTS (SELECT 1
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND prs_perslid_telefoonnr LIKE fac_usrdata_code || '%'
|
||||
AND LENGTH (fac_usrdata_code) = 3);
|
||||
|
||||
--
|
||||
-- MOBIELE NUMMER --------------------------------------------------------------
|
||||
--
|
||||
-- Verwijder landinformatie (alleen van Nederlandse nummers; buitenlandse
|
||||
-- worden helaas verminkt!)
|
||||
UPDATE prs_perslid SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 2) WHERE prs_perslid_mobiel LIKE '+%';
|
||||
UPDATE prs_perslid SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 3) WHERE prs_perslid_mobiel LIKE '31%';
|
||||
UPDATE prs_perslid SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 5) WHERE prs_perslid_mobiel LIKE '0031%';
|
||||
|
||||
-- Verwijder non-digit tekens (leestekens en spaties)
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(prs_perslid_mobiel,
|
||||
'.', ''),
|
||||
'(', ''),
|
||||
')', ''),
|
||||
'-', ''),
|
||||
' ', '');
|
||||
UPDATE prs_perslid SET prs_perslid_mobiel = '20' || prs_perslid_mobiel WHERE prs_perslid_mobiel LIKE '687____';
|
||||
UPDATE prs_perslid SET prs_perslid_mobiel = SUBSTR (prs_perslid_mobiel, 2) WHERE prs_perslid_mobiel LIKE '0%';
|
||||
|
||||
-- 06-nummers bijwerken
|
||||
-- (NB: format "06 - xx xx xx xx" is 16 digits, dus gebruik ik
|
||||
-- "06-xx xx xx xx", om het binnen de 15 karakters te houden.)
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR( TRIM( '0' || SUBSTR (prs_perslid_mobiel, 1, 1) || '-'
|
||||
|| SUBSTR (prs_perslid_mobiel, 2, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 8, 2) ), 1, 15)
|
||||
WHERE prs_perslid_mobiel LIKE '6%'
|
||||
AND prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5;
|
||||
|
||||
-- 0800- en 0900-nummers met een even aantal digits
|
||||
-- (NB: MOD(prs_perslid_mobiel, 2) = 1, omdat prs_perslid_mobiel begint met 900 ipv 0900!)
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR( TRIM( '0' || SUBSTR (prs_perslid_mobiel, 1, 3) || ' - '
|
||||
|| SUBSTR (prs_perslid_mobiel, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 8, 2) ), 1, 15)
|
||||
WHERE prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5
|
||||
AND MOD( LENGTH(prs_perslid_mobiel), 2) = 1
|
||||
AND ( prs_perslid_mobiel LIKE '800%'
|
||||
OR prs_perslid_mobiel LIKE '900%');
|
||||
|
||||
-- 0800- en 0900-nummers met een oneven aantal digits
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR( TRIM('0' || SUBSTR (prs_perslid_mobiel, 1, 3) || '-'
|
||||
|| SUBSTR (prs_perslid_mobiel, 4, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 7, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 9, 2)) , 1, 15)
|
||||
WHERE prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5
|
||||
AND MOD( LENGTH(prs_perslid_mobiel), 2) = 0
|
||||
AND ( prs_perslid_mobiel LIKE '800%'
|
||||
OR prs_perslid_mobiel LIKE '900%');
|
||||
|
||||
-- 088-nummers met een even aantal digits
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR( TRIM( '0' || SUBSTR (prs_perslid_mobiel, 1, 2) || ' - '
|
||||
|| SUBSTR (prs_perslid_mobiel, 3, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 8, 2) ), 1, 15)
|
||||
WHERE prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5
|
||||
AND MOD( LENGTH(prs_perslid_mobiel), 2) = 1
|
||||
AND prs_perslid_mobiel LIKE '88%';
|
||||
|
||||
-- 088-nummers met een oneven aantal digits
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR( TRIM('0' || SUBSTR (prs_perslid_mobiel, 1, 2) || '-'
|
||||
|| SUBSTR (prs_perslid_mobiel, 3, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 5, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 7, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 9, 2)) , 1, 15)
|
||||
WHERE prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5
|
||||
AND MOD( LENGTH(prs_perslid_mobiel), 2) = 0
|
||||
AND prs_perslid_mobiel LIKE '88%';
|
||||
|
||||
-- netnummers met 2 digits na-de-nul (bijv "020")
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR('(0' || SUBSTR (prs_perslid_mobiel, 1, 2) || ') '
|
||||
|| SUBSTR (prs_perslid_mobiel, 3, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 8, 2), 1, 15)
|
||||
WHERE prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5
|
||||
AND EXISTS (SELECT 1
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND prs_perslid_mobiel LIKE fac_usrdata_code || '%'
|
||||
AND LENGTH (fac_usrdata_code) = 2);
|
||||
|
||||
-- netnummers met 3 digits na-de-nul (bijv "0118")
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_mobiel = SUBSTR('(0' || SUBSTR (prs_perslid_mobiel, 1, 3) || ') '
|
||||
|| SUBSTR (prs_perslid_mobiel, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_perslid_mobiel, 8, 2), 1, 15)
|
||||
WHERE prs_perslid_mobiel IS NOT NULL
|
||||
AND LENGTH(prs_perslid_mobiel) > 5
|
||||
AND EXISTS (SELECT 1
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND prs_perslid_mobiel LIKE fac_usrdata_code || '%'
|
||||
AND LENGTH (fac_usrdata_code) = 3);
|
||||
|
||||
--
|
||||
-- FAXNUMMER -------------------------------------------------------------------
|
||||
--
|
||||
-- Verwijder landinformatie (alleen van Nederlandse nummers; buitenlandse
|
||||
-- worden helaas verminkt!)
|
||||
UPDATE prs_kenmerklink SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 2)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde LIKE '+%';
|
||||
UPDATE prs_kenmerklink SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 3)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde LIKE '31%';
|
||||
UPDATE prs_kenmerklink SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 5)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde LIKE '0031%';
|
||||
|
||||
-- Verwijder non-digit tekens (leestekens en spaties)
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(prs_kenmerklink_waarde,
|
||||
'.', ''),
|
||||
'(', ''),
|
||||
')', ''),
|
||||
'-', ''),
|
||||
' ', '')
|
||||
WHERE prs_kenmerk_key = c_faxnr_key;
|
||||
UPDATE prs_kenmerklink SET prs_kenmerklink_waarde = '20' || prs_kenmerklink_waarde
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde LIKE '687____';
|
||||
UPDATE prs_kenmerklink SET prs_kenmerklink_waarde = SUBSTR (prs_kenmerklink_waarde, 2)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde LIKE '0%';
|
||||
|
||||
-- 06-nummers bijwerken
|
||||
-- (NB: format "06 - xx xx xx xx" is 16 digits, dus gebruik ik
|
||||
-- "06-xx xx xx xx", om het binnen de 15 karakters te houden.)
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR( TRIM( '0' || SUBSTR (prs_kenmerklink_waarde, 1, 1) || '-'
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 2, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 8, 2) ), 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde LIKE '6%'
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5;
|
||||
|
||||
-- 0800- en 0900-nummers met een even aantal digits
|
||||
-- (NB: MOD(prs_kenmerklink_waarde, 2) = 1, omdat prs_kenmerklink_waarde begint met 900 ipv 0900!)
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR( TRIM( '0' || SUBSTR (prs_kenmerklink_waarde, 1, 3) || ' - '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 8, 2) ), 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5
|
||||
AND MOD( LENGTH(prs_kenmerklink_waarde), 2) = 1
|
||||
AND ( prs_kenmerklink_waarde LIKE '800%'
|
||||
OR prs_kenmerklink_waarde LIKE '900%');
|
||||
|
||||
-- 0800- en 0900-nummers met een oneven aantal digits
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR( TRIM('0' || SUBSTR (prs_kenmerklink_waarde, 1, 3) || '-'
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 4, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 7, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 9, 2)) , 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5
|
||||
AND MOD( LENGTH(prs_kenmerklink_waarde), 2) = 0
|
||||
AND ( prs_kenmerklink_waarde LIKE '800%'
|
||||
OR prs_kenmerklink_waarde LIKE '900%');
|
||||
|
||||
-- 088-nummers met een even aantal digits
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR( TRIM( '0' || SUBSTR (prs_kenmerklink_waarde, 1, 2) || ' - '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 3, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 8, 2) ), 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5
|
||||
AND MOD( LENGTH(prs_kenmerklink_waarde), 2) = 1
|
||||
AND prs_kenmerklink_waarde LIKE '88%';
|
||||
|
||||
-- 088-nummers met een oneven aantal digits
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR( TRIM('0' || SUBSTR (prs_kenmerklink_waarde, 1, 2) || '-'
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 3, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 5, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 7, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 9, 2)) , 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5
|
||||
AND MOD( LENGTH(prs_kenmerklink_waarde), 2) = 0
|
||||
AND prs_kenmerklink_waarde LIKE '88%';
|
||||
|
||||
-- netnummers met 2 digits na-de-nul (bijv "020")
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR('(0' || SUBSTR (prs_kenmerklink_waarde, 1, 2) || ') '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 3, 3)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 8, 2), 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5
|
||||
AND EXISTS (SELECT 1
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND prs_kenmerklink_waarde LIKE fac_usrdata_code || '%'
|
||||
AND LENGTH (fac_usrdata_code) = 2);
|
||||
|
||||
-- netnummers met 3 digits na-de-nul (bijv "0118")
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = SUBSTR('(0' || SUBSTR (prs_kenmerklink_waarde, 1, 3) || ') '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 4, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 6, 2)
|
||||
|| ' '
|
||||
|| SUBSTR (prs_kenmerklink_waarde, 8, 2), 1, 15)
|
||||
WHERE prs_kenmerk_key = c_faxnr_key
|
||||
AND prs_kenmerklink_waarde IS NOT NULL
|
||||
AND LENGTH(prs_kenmerklink_waarde) > 5
|
||||
AND EXISTS (SELECT prs_kenmerklink_key
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND prs_kenmerklink_waarde LIKE fac_usrdata_code || '%'
|
||||
AND LENGTH (fac_usrdata_code) = 3);
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
'Fout bij formatteren telefoonnummers',
|
||||
SQLCODE||': '||SUBSTR(SQLERRM, 1, 200) );
|
||||
END format_telefoonnummers;
|
||||
|
||||
PROCEDURE abo_verhuisd (p_import_key NUMBER,
|
||||
p_perslid_key NUMBER,
|
||||
p_locatie_key NUMBER)
|
||||
AS
|
||||
oracle_err_num VARCHAR (20);
|
||||
oracle_err_mes VARCHAR (100);
|
||||
v_errorhint VARCHAR (200);
|
||||
v_errormsg VARCHAR (200);
|
||||
v_aanduiding VARCHAR (200);
|
||||
v_count NUMBER;
|
||||
|
||||
-- Contract is een abonnement en deze persoon is contracteigenaar!
|
||||
CURSOR c_cnt
|
||||
IS
|
||||
SELECT c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
pf.prs_perslid_naam_full,
|
||||
l.alg_locatie_omschrijving,
|
||||
l.alg_locatie_post_adres,
|
||||
l.alg_locatie_post_postcode,
|
||||
l.alg_locatie_post_plaats,
|
||||
sn.fac_srtnotificatie_oms
|
||||
FROM cnt_v_aanwezigcontract c,
|
||||
prs_v_perslid_fullnames pf,
|
||||
alg_locatie l,
|
||||
fac_srtnotificatie sn
|
||||
WHERE c.ins_discipline_key = 360 -- Abonnementen
|
||||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||||
(SELECT 1
|
||||
FROM cnt_v_aanwezigcontract
|
||||
WHERE cnt_contract_nummer_intern =
|
||||
c.cnt_contract_nummer_intern
|
||||
AND cnt_contract_versie >
|
||||
c.cnt_contract_versie)
|
||||
AND c.cnt_contract_looptijd_tot > SYSDATE
|
||||
AND c.prs_perslid_key_eig = p_perslid_key
|
||||
AND pf.prs_perslid_key = p_perslid_key
|
||||
AND l.alg_locatie_key = p_locatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'CUST19';
|
||||
BEGIN
|
||||
FOR rec IN c_cnt
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding :=
|
||||
rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.cnt_contract_nummer_intern;
|
||||
|
||||
-- Op basis van CUST19-tracking wordt via PutOrders ook aansluitend
|
||||
-- een cXML - uit customer orderqueue! - naar leverancier gestuurd!
|
||||
fac.trackaction ('CUST19',
|
||||
rec.cnt_contract_key,
|
||||
NULL,
|
||||
NULL,
|
||||
rec.fac_srtnotificatie_oms);
|
||||
|
||||
-- Ook nog maar even in ABS-logging noemen of niet?
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
rec.cnt_contract_nummer_intern
|
||||
|| ': abonnee '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| ' verhuisd.',
|
||||
rec.alg_locatie_omschrijving
|
||||
|| ', '
|
||||
|| rec.alg_locatie_post_adres
|
||||
|| ', '
|
||||
|| rec.alg_locatie_post_postcode
|
||||
|| ' '
|
||||
|| rec.alg_locatie_post_plaats
|
||||
);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errorhint := 'abo_verhuisd {' || v_errormsg || '}';
|
||||
v_errormsg :=
|
||||
v_aanduiding
|
||||
|| '(ORACLE error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errorhint := 'abo_verhuisd {' || v_errormsg || '}';
|
||||
v_errormsg :=
|
||||
v_aanduiding
|
||||
|| '(ORACLE error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
END uwva;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
|
||||
BEGIN adm.systrackscriptId('$Id$'); END;
|
||||
/
|
||||
|
||||
SPOOL OFF;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user