CSUN#70849 emailadressen importeren
svn path=/Database/trunk/; revision=55917
This commit is contained in:
280
PRS/PRS_PAC.SRC
280
PRS/PRS_PAC.SRC
@@ -416,9 +416,9 @@ AS
|
||||
-- Als er GEEN fiatbedrag is meegegeven dan de LAATSTE fiatteur opleveren. De ondergrens is dan pondergrens (normaalgesproken het totale opdrachtbedrag).
|
||||
IF pfiatbedrag >= 0
|
||||
THEN
|
||||
lgrens := pfiatbedrag; // De volgende fiatteur opleveren.
|
||||
lgrens := pfiatbedrag; -- De volgende fiatteur opleveren.
|
||||
ELSE
|
||||
lgrens := pondergrens; // De laatste fiatteur opleveren.
|
||||
lgrens := pondergrens; -- De laatste fiatteur opleveren.
|
||||
END IF;
|
||||
|
||||
WHILE lteller <= 3 AND lfoundfiatteur = 0
|
||||
@@ -603,7 +603,7 @@ AS
|
||||
p_waarde IN VARCHAR2)
|
||||
IS
|
||||
v_count NUMBER;
|
||||
v_niveau VARCHAR2 (1);
|
||||
v_niveau prs_kenmerk.prs_kenmerk_niveau%TYPE;
|
||||
BEGIN
|
||||
-- niveau van prs_kenmerk ophalen, omdat deze ook in prs_kenmerklink wordt opgeslagen
|
||||
SELECT prs_kenmerk_niveau
|
||||
@@ -951,11 +951,11 @@ AS
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
BEGIN
|
||||
// JGL: Ik zou graag een WHERE fac_import_key = p_import_key hieronder
|
||||
// toevoegen zodat het script ook multi-user veilig is,
|
||||
// Heel veel klant-specifieke imports(/aanvullingen) controleren
|
||||
// echter niet op de fac_import_key en zouden flink de fout in gaan.
|
||||
// Daarom vooralsnog hier toch maar alles verwijderen
|
||||
-- JGL: Ik zou graag een WHERE fac_import_key = p_import_key hieronder
|
||||
-- toevoegen zodat het script ook multi-user veilig is,
|
||||
-- Heel veel klant-specifieke imports(/aanvullingen) controleren
|
||||
-- echter niet op de fac_import_key en zouden flink de fout in gaan.
|
||||
-- Daarom vooralsnog hier toch maar alles verwijderen
|
||||
DELETE FROM fac_imp_perslid;
|
||||
|
||||
SELECT COALESCE (MAX (fac_imp_file_index), 0) + 1
|
||||
@@ -1858,8 +1858,177 @@ AS
|
||||
SELECT * FROM fac_imp_perslid;
|
||||
|
||||
recPersLid cPersLid%ROWTYPE;
|
||||
BEGIN
|
||||
|
||||
-- SUBPROC
|
||||
PROCEDURE upsertkenmerk_imp(p_perslid_key IN NUMBER, p_kenmerkwaarde IN VARCHAR2)
|
||||
AS
|
||||
ccount NUMBER;
|
||||
v_kenmerk VARCHAR2(60);
|
||||
v_sql VARCHAR2(1000);
|
||||
v_cursor INTEGER;
|
||||
v_rowsprocessed NUMBER DEFAULT 0;
|
||||
v_waarde prs_kenmerklink.prs_kenmerklink_waarde%TYPE;
|
||||
v_kenmerk_key prs_kenmerk.prs_kenmerk_key%TYPE;
|
||||
v_kenmerk_type prs_kenmerk.prs_kenmerk_kenmerktype%TYPE;
|
||||
v_kenmerk_niveau prs_kenmerk.prs_kenmerk_niveau%TYPE;
|
||||
v_objectnaam fac_kenmerkdomein.fac_kenmerkdomein_objectnaam%TYPE;
|
||||
v_kolomnaam fac_kenmerkdomein.fac_kenmerkdomein_kolomnaam%TYPE;
|
||||
v_kolomtxt fac_kenmerkdomein.fac_kenmerkdomein_kolomtxt%TYPE;
|
||||
v_kenmerklink_key prs_kenmerklink.prs_kenmerklink_key%TYPE;
|
||||
BEGIN
|
||||
IF p_kenmerkwaarde IS NOT NULL
|
||||
THEN
|
||||
v_errormsg := 'Fout bij bepalen kenmerk [' || p_kenmerkwaarde || ']';
|
||||
|
||||
v_kenmerk := SUBSTR(p_kenmerkwaarde, 1, INSTR(p_kenmerkwaarde, '=') - 1);
|
||||
v_waarde := SUBSTR(p_kenmerkwaarde, INSTR(p_kenmerkwaarde, '=') + 1);
|
||||
|
||||
IF fac.safe_to_number (v_kenmerk) IS NULL
|
||||
THEN
|
||||
SELECT k.prs_kenmerk_key,
|
||||
k.prs_kenmerk_kenmerktype,
|
||||
k.prs_kenmerk_niveau
|
||||
INTO v_kenmerk_key,
|
||||
v_kenmerk_type,
|
||||
v_kenmerk_niveau
|
||||
FROM ( SELECT ks.prs_kenmerk_key,
|
||||
ks.prs_kenmerk_kenmerktype,
|
||||
ks.prs_kenmerk_niveau,
|
||||
ks.prs_kenmerk_volgnr
|
||||
FROM prs_v_aanwezigkenmerk ks
|
||||
WHERE ks.prs_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V')
|
||||
AND COALESCE(UPPER(ks.prs_kenmerk_omschrijving), ks.prs_kenmerk_upper) = UPPER(v_kenmerk)
|
||||
ORDER BY ks.prs_kenmerk_volgnr
|
||||
) k
|
||||
WHERE ROWNUM = 1;
|
||||
ELSE
|
||||
SELECT k.prs_kenmerk_key,
|
||||
k.prs_kenmerk_kenmerktype,
|
||||
k.prs_kenmerk_niveau
|
||||
INTO v_kenmerk_key,
|
||||
v_kenmerk_type,
|
||||
v_kenmerk_niveau
|
||||
FROM prs_v_aanwezigkenmerk k
|
||||
WHERE k.prs_kenmerk_key = v_kenmerk
|
||||
AND k.prs_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V')
|
||||
ORDER BY k.prs_kenmerk_volgnr;
|
||||
END IF;
|
||||
|
||||
IF v_waarde IS NOT NULL
|
||||
THEN
|
||||
IF v_kenmerk_type IN ('R', 'S')
|
||||
THEN
|
||||
v_errormsg := 'Fout bij bepalen eigen tabel';
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO ccount
|
||||
FROM prs_kenmerk k,
|
||||
fac_kenmerkdomein d
|
||||
WHERE k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||||
AND d.fac_usrtab_key IS NOT NULL
|
||||
AND k.prs_kenmerk_key = v_kenmerk_key;
|
||||
|
||||
v_errormsg := 'Fout bij bepalen nieuwe waarde [' || v_waarde || ']';
|
||||
|
||||
IF ccount = 1
|
||||
THEN -- Eigen tabel
|
||||
SELECT TO_CHAR(ud.fac_usrdata_key)
|
||||
INTO v_waarde
|
||||
FROM prs_kenmerk k,
|
||||
fac_kenmerkdomein d,
|
||||
fac_v_aanwezigusrdata ud
|
||||
WHERE k.prs_kenmerk_key = v_kenmerk_key
|
||||
AND k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||||
AND d.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND UPPER(TRIM(ud.fac_usrdata_omschr)) = UPPER(v_waarde);
|
||||
ELSE -- FACILITOR view/tabel
|
||||
SELECT d.fac_kenmerkdomein_objectnaam,
|
||||
d.fac_kenmerkdomein_kolomnaam,
|
||||
d.fac_kenmerkdomein_kolomtxt
|
||||
INTO v_objectnaam,
|
||||
v_kolomnaam,
|
||||
v_kolomtxt
|
||||
FROM prs_kenmerk k,
|
||||
fac_kenmerkdomein d
|
||||
WHERE k.prs_kenmerk_key = v_kenmerk_key
|
||||
AND k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||||
AND d.fac_usrtab_key IS NULL;
|
||||
|
||||
v_sql := 'SELECT MAX(' || v_kolomnaam || ')'
|
||||
|| ' FROM ' || v_objectnaam
|
||||
|| ' WHERE UPPER(TRIM(' || v_kolomtxt || ')) = UPPER(:pwaarde)';
|
||||
|
||||
v_cursor := DBMS_SQL.open_cursor;
|
||||
DBMS_SQL.parse (v_cursor, v_sql, DBMS_SQL.native);
|
||||
DBMS_SQL.BIND_VARIABLE(v_cursor, ':pwaarde', v_waarde);
|
||||
DBMS_SQL.define_column(v_cursor, 1, v_waarde, 255);
|
||||
v_rowsprocessed := DBMS_SQL.execute_and_fetch (v_cursor);
|
||||
DBMS_SQL.column_value (v_cursor, 1, v_waarde);
|
||||
DBMS_SQL.close_cursor(v_cursor);
|
||||
END IF;
|
||||
ELSE -- C(Karakter)/D(Datum)/N(Numeriek)/X(Bestandsnaam)
|
||||
NULL; -- v_waarde := p_waarde;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Fout bij bepalen huidige waarde';
|
||||
|
||||
SELECT COUNT(*),
|
||||
MAX(prs_kenmerklink_key)
|
||||
INTO ccount,
|
||||
v_kenmerklink_key
|
||||
FROM prs_v_aanwezigkenmerklink
|
||||
WHERE prs_link_key = p_perslid_key
|
||||
AND prs_kenmerk_key = v_kenmerk_key;
|
||||
|
||||
IF v_kenmerk_type = 'N' -- Alleen voor numerieke waarden de decimale komma vervangen door punt.
|
||||
THEN
|
||||
v_waarde := REPLACE (v_waarde, ',', '.');
|
||||
END IF;
|
||||
|
||||
IF ccount = 0
|
||||
THEN
|
||||
v_errormsg := 'Fout bij toevoegen waarde [' || v_waarde || ']'
|
||||
|| ' voor perslid_key=' || TO_CHAR(p_perslid_key)
|
||||
|| ', kenmerk_key=' || TO_CHAR(v_kenmerk_key)
|
||||
|| ', link_niveau=' || v_kenmerk_niveau;
|
||||
|
||||
INSERT INTO prs_kenmerklink (prs_link_key,
|
||||
prs_kenmerk_key,
|
||||
prs_kenmerklink_niveau,
|
||||
prs_kenmerklink_waarde)
|
||||
VALUES (p_perslid_key,
|
||||
v_kenmerk_key,
|
||||
v_kenmerk_niveau,
|
||||
v_waarde);
|
||||
ELSE
|
||||
v_errormsg := 'Fout bij bijwerken waarde [' || v_waarde || ']'
|
||||
|| ' voor kenmerklink_key=' || TO_CHAR(v_kenmerklink_key);
|
||||
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = v_waarde
|
||||
WHERE prs_kenmerklink_key = v_kenmerklink_key;
|
||||
END IF;
|
||||
ELSE
|
||||
-- Verwijder kenmerken die al bestaan maar met de nieuwe import leeg zijn.
|
||||
DELETE prs_kenmerklink
|
||||
WHERE prs_kenmerk_key = v_kenmerk_key
|
||||
AND prs_link_key = p_perslid_key;
|
||||
END IF;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR(SQLERRM, 1, 200);
|
||||
v_errormsg := v_errormsg || ' (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'upsertkenmerk_imp');
|
||||
|
||||
END; -- upsertkenmerk_imp
|
||||
|
||||
BEGIN
|
||||
v_count_update := 0;
|
||||
v_count_tot := 0;
|
||||
v_count_error := 0;
|
||||
@@ -1899,12 +2068,11 @@ AS
|
||||
v_count_error := v_count_error + 1;
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
' (ORACLE error number = <'
|
||||
|| ORACLE_err_num
|
||||
|| '> ORACLE error message = <'
|
||||
|| ORACLE_err_mes
|
||||
|| '>)';
|
||||
v_errormsg := ' (ORACLE error number = <'
|
||||
|| ORACLE_err_num
|
||||
|| '> ORACLE error message = <'
|
||||
|| ORACLE_err_mes
|
||||
|| '>)';
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
@@ -1943,11 +2111,8 @@ AS
|
||||
v_errorhint := '';
|
||||
v_count_tot := v_count_tot + 1;
|
||||
|
||||
v_aanduiding :=
|
||||
recPersLid.prs_perslid_naam
|
||||
|| '|'
|
||||
|| recPersLid.prs_perslid_voornaam
|
||||
|| '| ';
|
||||
v_aanduiding := recPersLid.prs_perslid_naam || '|'
|
||||
|| recPersLid.prs_perslid_voornaam || '| ';
|
||||
v_errormsg := '';
|
||||
|
||||
v_errorhint := 'Fout bij bepalen functie';
|
||||
@@ -2026,23 +2191,16 @@ AS
|
||||
INTO v_perslid_key, v_count
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND ( (p_sleutelkolom IS NULL
|
||||
AND UPPER (prs_perslid_naam) =
|
||||
UPPER (recPersLid.prs_perslid_naam)
|
||||
AND UPPER (prs_perslid_voornaam) =
|
||||
UPPER (recPersLid.prs_perslid_voornaam))
|
||||
OR (UPPER (p_sleutelkolom) = 'NR'
|
||||
AND UPPER (prs_perslid_nr) =
|
||||
UPPER (recPersLid.prs_perslid_nr)
|
||||
OR UPPER (p_sleutelkolom) = 'EMAIL'
|
||||
AND UPPER (prs_perslid_email) =
|
||||
UPPER (recPersLid.prs_perslid_email)
|
||||
OR UPPER (p_sleutelkolom) = 'LOGIN'
|
||||
AND UPPER (prs_perslid_oslogin) =
|
||||
UPPER (recPersLid.prs_perslid_oslogin)
|
||||
OR UPPER (p_sleutelkolom) = 'APIKEY'
|
||||
AND UPPER (prs_perslid_apikey) =
|
||||
UPPER (recPersLid.prs_perslid_apikey)));
|
||||
AND ( ( p_sleutelkolom IS NULL
|
||||
AND UPPER (prs_perslid_naam) = UPPER (recPersLid.prs_perslid_naam)
|
||||
AND UPPER (prs_perslid_voornaam) = UPPER (recPersLid.prs_perslid_voornaam)
|
||||
)
|
||||
OR ( UPPER (p_sleutelkolom) = 'NR' AND UPPER (prs_perslid_nr) = UPPER (recPersLid.prs_perslid_nr)
|
||||
OR UPPER (p_sleutelkolom) = 'EMAIL' AND UPPER (prs_perslid_email) = UPPER (recPersLid.prs_perslid_email)
|
||||
OR UPPER (p_sleutelkolom) = 'LOGIN' AND UPPER (prs_perslid_oslogin) = UPPER (recPersLid.prs_perslid_oslogin)
|
||||
OR UPPER (p_sleutelkolom) = 'APIKEY' AND UPPER (prs_perslid_apikey) = UPPER (recPersLid.prs_perslid_apikey)
|
||||
)
|
||||
);
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
@@ -2093,10 +2251,8 @@ AS
|
||||
SET prs_srtperslid_key = v_srtperslid_key,
|
||||
prs_afdeling_key = v_afdeling_key,
|
||||
prs_perslid_naam = v_prs_perslid_naam,
|
||||
prs_perslid_voorletters =
|
||||
recPersLid.prs_perslid_voorletters,
|
||||
prs_perslid_tussenvoegsel =
|
||||
v_prs_perslid_tussenvoegsel,
|
||||
prs_perslid_voorletters = recPersLid.prs_perslid_voorletters,
|
||||
prs_perslid_tussenvoegsel = v_prs_perslid_tussenvoegsel,
|
||||
prs_perslid_voornaam = recPersLid.prs_perslid_voornaam,
|
||||
prs_perslid_nr = recPersLid.prs_perslid_nr,
|
||||
prs_perslid_dienstverband = recPersLid.prs_perslid_dienstverband,
|
||||
@@ -2123,22 +2279,34 @@ AS
|
||||
|
||||
COMMIT; -- persoon in ieder geval toegevoegd.
|
||||
|
||||
v_aanduiding :=
|
||||
recPersLid.prs_perslid_nr
|
||||
|| '|'
|
||||
|| recPersLid.prs_perslid_naam
|
||||
|| '|'
|
||||
|| recPersLid.prs_perslid_voornaam
|
||||
|| '|'
|
||||
|| recPersLid.alg_locatie_code
|
||||
|| '|'
|
||||
|| recPersLid.alg_gebouw_code
|
||||
|| '|'
|
||||
|| recPersLid.alg_verdieping_volgnr
|
||||
|| '|'
|
||||
|| recPersLid.alg_ruimte_nr
|
||||
|| ' - ';
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk1);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk2);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk3);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk4);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk5);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk6);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk7);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk8);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk9);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk10);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk11);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk12);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk13);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk14);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk15);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk16);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk17);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk18);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk19);
|
||||
upsertkenmerk_imp(v_perslid_key, recPersLid.prs_kenmerk20);
|
||||
|
||||
v_aanduiding := recPersLid.prs_perslid_nr || '|'
|
||||
|| recPersLid.prs_perslid_naam || '|'
|
||||
|| recPersLid.prs_perslid_voornaam || '|'
|
||||
|| recPersLid.alg_locatie_code || '|'
|
||||
|| recPersLid.alg_gebouw_code || '|'
|
||||
|| recPersLid.alg_verdieping_volgnr || '|'
|
||||
|| recPersLid.alg_ruimte_nr || ' - ';
|
||||
|
||||
v_locatie_key := NULL;
|
||||
v_gebouw_key := NULL;
|
||||
|
||||
Reference in New Issue
Block a user