ALLI#25105: Nieuw veld bedrijfsonderdeel in import en visitekaartje
svn path=/Customer/trunk/; revision=16247
This commit is contained in:
168
ALLI/alli.sql
168
ALLI/alli.sql
@@ -49,7 +49,8 @@ IS
|
||||
v_prs_perslid_mobiel VARCHAR2 (256);
|
||||
v_prs_perslid_email VARCHAR2 (256);
|
||||
v_prs_perslid_oslogin VARCHAR2 (256);
|
||||
|
||||
v_prs_perslid_bedrijfsdeel VARCHAR2 (256);
|
||||
|
||||
-- Overig:
|
||||
v_alg_locatie_code VARCHAR2 (256);
|
||||
v_alg_gebouw_code VARCHAR2 (256);
|
||||
@@ -102,9 +103,14 @@ BEGIN
|
||||
-- 10 - Mobiel van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_mobiel);
|
||||
|
||||
-- 11 - Mobiel van medewerker
|
||||
-- 11 - Telenr (035) van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_telefoonnr);
|
||||
|
||||
-- 12 - Bedrijfsonderdeel van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_bedrijfsdeel);
|
||||
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
-- xx - Usernaam/login
|
||||
-- fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_oslogin);
|
||||
v_prs_perslid_oslogin := NULL;
|
||||
@@ -117,7 +123,7 @@ BEGIN
|
||||
-- xx - Gebouwcode werkplek van medewerker
|
||||
--fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_gebouw_code);
|
||||
v_alg_gebouw_code := NULL;
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -455,7 +461,32 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
|
||||
v_errorhint := 'Ongeldig bedrijfsonderdeel';
|
||||
v_prs_perslid_bedrijfsdeel := TRIM (v_prs_perslid_bedrijfsdeel);
|
||||
|
||||
IF LENGTH (v_prs_perslid_bedrijfsdeel) > 60
|
||||
THEN
|
||||
v_prs_perslid_bedrijfsdeel := SUBSTR (v_prs_perslid_bedrijfsdeel, 1, 60);
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Bedrijfsonderdeel te lang',
|
||||
'Bedrijfsonderdeel wordt afgebroken tot ['
|
||||
|| v_prs_perslid_bedrijfsdeel
|
||||
|| ']'
|
||||
);
|
||||
ELSE
|
||||
IF (v_prs_perslid_bedrijfsdeel IS NULL)
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog
|
||||
(p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Bedrijfsonderdeel onbekend',
|
||||
'Bedrijfsonderdeel is verplicht; regel wordt overgeslagen!'
|
||||
);
|
||||
END IF;
|
||||
END IF;
|
||||
COMMIT;
|
||||
|
||||
|
||||
-- Insert geformatteerde import record
|
||||
@@ -477,7 +508,8 @@ BEGIN
|
||||
prs_perslid_telefoonnr,
|
||||
prs_perslid_mobiel,
|
||||
prs_perslid_email,
|
||||
prs_perslid_oslogin
|
||||
prs_perslid_oslogin,
|
||||
prs_perslid_bedrijfsdeel
|
||||
)
|
||||
VALUES (v_prs_perslid_nr, v_prs_perslid_naam,
|
||||
v_prs_perslid_tussenvoegsel,
|
||||
@@ -490,7 +522,8 @@ BEGIN
|
||||
v_prs_perslid_telefoonnr,
|
||||
v_prs_perslid_mobiel,
|
||||
v_prs_perslid_email,
|
||||
v_prs_perslid_oslogin
|
||||
v_prs_perslid_oslogin,
|
||||
v_prs_perslid_bedrijfsdeel
|
||||
);
|
||||
COMMIT;
|
||||
v_count_import := v_count_import + 1;
|
||||
@@ -584,6 +617,7 @@ IS
|
||||
--
|
||||
v_perslid_key NUMBER (10);
|
||||
v_afdeling_key NUMBER (10);
|
||||
v_fac_usrdata_key NUMBER (10);
|
||||
v_srtperslid_key NUMBER (10);
|
||||
v_oslogin VARCHAR2 (30);
|
||||
v_wachtwoord VARCHAR2 (30);
|
||||
@@ -623,7 +657,11 @@ IS
|
||||
FROM alli_imp_prs
|
||||
GROUP BY UPPER (prs_afdeling_code);
|
||||
|
||||
|
||||
CURSOR c_bedrijf
|
||||
IS
|
||||
SELECT distinct (prs_perslid_bedrijfsdeel) prs_perslid_bedrijfsdeel
|
||||
FROM alli_imp_prs;
|
||||
|
||||
CURSOR cperslid
|
||||
IS
|
||||
SELECT *
|
||||
@@ -905,7 +943,6 @@ BEGIN
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Afdeling: verwerkte regels zonder foutmelding: '
|
||||
@@ -919,6 +956,68 @@ BEGIN
|
||||
''
|
||||
);
|
||||
COMMIT;
|
||||
|
||||
v_count_tot := 0;
|
||||
v_count_error := 0;
|
||||
|
||||
FOR recbedrijf IN c_bedrijf
|
||||
LOOP
|
||||
BEGIN
|
||||
v_count_tot := v_count_tot + 1;
|
||||
v_aanduiding := recbedrijf.prs_perslid_bedrijfsdeel;
|
||||
v_errorhint := 'Fout bij bepalen bedrijfsonderdeel';
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM fac_usrdata
|
||||
WHERE UPPER (fac_usrdata_omschr) = UPPER (recbedrijf.prs_perslid_bedrijfsdeel)
|
||||
AND fac_usrtab_key= 121
|
||||
AND fac_usrdata_verwijder IS NULL;
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
v_errorhint := 'Fout bij toevoegen bedrijfsonderdeel';
|
||||
|
||||
INSERT INTO fac_usrdata
|
||||
(fac_usrtab_key, fac_usrdata_code, fac_usrdata_omschr)
|
||||
VALUES (121, SUBSTR(recbedrijf.prs_perslid_bedrijfsdeel,1,30), recbedrijf.prs_perslid_bedrijfsdeel);
|
||||
COMMIT;
|
||||
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_count_error := v_count_error + 1;
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint
|
||||
);
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Bedrijfsonderdeel: verwerkte regels zonder foutmelding: '
|
||||
|| TO_CHAR (v_count_tot - v_count_error),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Bedrijfsonderdeel: verwerkte regels met foutmelding: '
|
||||
|| TO_CHAR (v_count_error),
|
||||
''
|
||||
);
|
||||
COMMIT;
|
||||
v_count_tot := 0;
|
||||
v_count_error := 0;
|
||||
|
||||
@@ -957,6 +1056,20 @@ BEGIN
|
||||
AND UPPER (prs_afdeling_naam) = UPPER (recperslid.prs_afdeling_code)
|
||||
AND prs_bedrijf_key = 5;
|
||||
|
||||
v_errorhint :=
|
||||
'Fout bij bepalen bedrijfsonderdeel ['
|
||||
|| recperslid.prs_perslid_bedrijfsdeel
|
||||
|| ']';
|
||||
|
||||
|
||||
SELECT fac_usrdata_key
|
||||
INTO v_fac_usrdata_key
|
||||
FROM fac_usrdata
|
||||
WHERE UPPER (fac_usrdata_omschr) = UPPER (recperslid.prs_perslid_bedrijfsdeel)
|
||||
AND fac_usrtab_key= 121
|
||||
AND fac_usrdata_verwijder IS NULL;
|
||||
|
||||
|
||||
v_errorhint := 'Fout bij bepalen persoon';
|
||||
|
||||
SELECT COUNT (*), MAX (prs_perslid_key)
|
||||
@@ -1021,6 +1134,37 @@ BEGIN
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
-- Bedrijfsonderdeel als flexprop inserten of updaten....
|
||||
-- prs_kenmerk_key = 1060 is het bedrijfsonderdeel flexprop bij persoon (prs_perslid)
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_kenmerklink
|
||||
WHERE prs_link_key = v_perslid_key
|
||||
AND prs_kenmerklink_niveau = 'P'
|
||||
AND prs_kenmerk_key = 1060
|
||||
AND prs_kenmerklink_verwijder IS NULL;
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
v_errorhint := 'Fout bij toevoegen kenmerk bedrijfsonderdeel';
|
||||
INSERT INTO prs_kenmerklink
|
||||
(prs_link_key, prs_kenmerklink_niveau, prs_kenmerk_key, prs_kenmerklink_waarde)
|
||||
VALUES (v_perslid_key, 'P', 1060, v_fac_usrdata_key );
|
||||
COMMIT;
|
||||
ELSE
|
||||
v_errorhint := 'Fout bij bijwerken kenmerk bedrijfsonderdeel';
|
||||
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = v_fac_usrdata_key
|
||||
WHERE prs_link_key = v_perslid_key
|
||||
AND prs_kenmerklink_niveau = 'P'
|
||||
AND prs_kenmerk_key = 1060
|
||||
AND prs_kenmerklink_verwijder IS NULL;
|
||||
COMMIT;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1959,6 +2103,7 @@ CREATE OR REPLACE VIEW alli_v_visitekaartje (prs_perslid_key,
|
||||
voornaam,
|
||||
naam,
|
||||
functie,
|
||||
bedrijfsonderdeel,
|
||||
gebouwcode,
|
||||
adres,
|
||||
postcode,
|
||||
@@ -1980,6 +2125,15 @@ AS
|
||||
p.prs_perslid_tussenvoegsel || ' ')
|
||||
|| prs_perslid_naam naam,
|
||||
prs_srtperslid_omschrijving functie,
|
||||
( SELECT fac_usrdata_omschr
|
||||
FROM prs_kenmerklink, fac_usrdata ud
|
||||
WHERE fac_usrtab_key=121
|
||||
AND ud.fac_usrdata_key = fac.safe_to_number(prs_kenmerklink_waarde)
|
||||
AND prs_link_key = p.prs_perslid_key
|
||||
AND prs_kenmerklink_niveau = 'P'
|
||||
AND prs_kenmerk_key = 1060
|
||||
AND prs_kenmerklink_verwijder IS NULL
|
||||
) bedrijfsonderdeel,
|
||||
pgl.alg_gebouw_code,
|
||||
l.alg_locatie_adres adres,
|
||||
l.alg_locatie_postcode postcode,
|
||||
|
||||
Reference in New Issue
Block a user