HMOD#58494 -- Implementatie Humanitas Onder Dak - Koppelingen voor personen koffersysteem
svn path=/Customer/trunk/; revision=45274
This commit is contained in:
270
HMOD/hmod.sql
270
HMOD/hmod.sql
@@ -181,7 +181,277 @@ EXCEPTION
|
||||
END hmod_update_perslid;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE hmod_import_koffer (p_import_key IN NUMBER)
|
||||
AS
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
v_newline VARCHAR2 (1000); -- Input line
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
header_is_valid NUMBER;
|
||||
v_count NUMBER;
|
||||
v_ongeldig NUMBER (1);
|
||||
v_mode NUMBER (1);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
-- v_all_null BOOLEAN;
|
||||
v_count_error NUMBER (10);
|
||||
v_count_tot NUMBER (10);
|
||||
v_count_import NUMBER (10);
|
||||
-- De importvelden:
|
||||
v_versiedatum VARCHAR2 (15);
|
||||
v_omschrijving VARCHAR2 (250);
|
||||
v_code VARCHAR2 (30);
|
||||
v_token VARCHAR2 (20);
|
||||
v_mob VARCHAR2 (20);
|
||||
v_hit VARCHAR2 (20);
|
||||
v_lap_en_sim VARCHAR2 (20);
|
||||
v_lapt VARCHAR2 (20);
|
||||
v_tnc VARCHAR2 (20);
|
||||
v_tnc_omschrijving VARCHAR2 (100);
|
||||
v_facilitor VARCHAR2 (20);
|
||||
v_adp VARCHAR2 (20);
|
||||
v_absentiemanager VARCHAR2 (20);
|
||||
v_regas VARCHAR2 (20);
|
||||
v_checks VARCHAR2 (20);
|
||||
v_accountview VARCHAR2 (20);
|
||||
v_elvy VARCHAR2 (20);
|
||||
v_hodnet VARCHAR2 (20);
|
||||
v_proactive VARCHAR2 (20);
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
BEGIN
|
||||
-- Vorige inlees eerst verwijderen
|
||||
---- Voor hmod_koffersysteem geldt dat je inlezen op dezelfde dag mag/kunt overschrijven. Voorgaande versiedatums blijven staan.
|
||||
DELETE FROM hmod_imp_koffersysteem
|
||||
WHERE versiedatum = TO_CHAR(TRUNC (SYSDATE),'DD-MM-YYYY');
|
||||
|
||||
COMMIT;
|
||||
|
||||
header_is_valid := 0;
|
||||
v_ongeldig := 0;
|
||||
v_count_error := 0;
|
||||
header_is_valid := 0;
|
||||
v_count_tot := 0;
|
||||
v_count_import := 0;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
v_errormsg := 'Fout opvragen te importeren rij';
|
||||
v_aanduiding := '';
|
||||
|
||||
-- Lees alle veldwaarden: versiedatum;omschrijving;code;token;mob;hit;lap_en_sim;lapt;tnc;tnc omschrijving;facilitor;adp;absentiemanager;regas;checks;accountview;elvy;hodnet;proactive
|
||||
v_errormsg := 'Fout opvragen te importeren kolom/rij 1';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_versiedatum);
|
||||
v_errormsg := 'Fout opvragen te importeren kolom/rij 2';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_omschrijving);
|
||||
v_errormsg := 'Fout opvragen te importeren kolom/rij 3';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_code);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_token);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_mob);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_hit);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_lap_en_sim);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_lapt);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_tnc);
|
||||
fac.imp_getfield (v_newline,
|
||||
c_fielddelimitor,
|
||||
v_tnc_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_facilitor);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_adp);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_absentiemanager);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_regas);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_checks);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_accountview);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_elvy);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_hodnet);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_proactive);
|
||||
|
||||
v_aanduiding :=
|
||||
v_versiedatum || '|' || v_omschrijving || '|' || v_code;
|
||||
v_count_tot := v_count_tot + 1;
|
||||
|
||||
-- Skip until the header is found
|
||||
IF header_is_valid = 0
|
||||
THEN
|
||||
IF v_versiedatum = 'versiedatum'
|
||||
AND v_omschrijving = 'omschrijving'
|
||||
AND v_code = 'code'
|
||||
AND v_token = 'token'
|
||||
AND v_mob = 'mob'
|
||||
AND v_hit = 'hit'
|
||||
AND v_lap_en_sim = 'lap_en_sim'
|
||||
AND v_lapt = 'lapt'
|
||||
AND v_tnc = 'tnc'
|
||||
AND v_tnc_omschrijving = 'tnc omschrijving'
|
||||
AND v_facilitor = 'facilitor'
|
||||
AND v_adp = 'adp'
|
||||
AND v_absentiemanager = 'absentiemanager'
|
||||
AND v_regas = 'regas'
|
||||
AND v_checks = 'checks'
|
||||
AND v_accountview = 'accountview'
|
||||
AND v_elvy = 'elvy'
|
||||
AND v_hodnet = 'hodnet'
|
||||
AND v_proactive = 'proactive'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
ELSE -- Header OK. Vanaf hier in de LOOP eventueel variabele vullen.
|
||||
BEGIN
|
||||
v_errormsg := 'Versiedatum wordt sysdatum ';
|
||||
|
||||
SELECT TO_CHAR (TRUNC (SYSDATE), 'DD-MM-YYYY')
|
||||
INTO v_versiedatum
|
||||
FROM DUAL;
|
||||
END;
|
||||
|
||||
INSERT INTO hmod_imp_koffersysteem (versiedatum,
|
||||
omschrijving,
|
||||
code,
|
||||
token,
|
||||
mob,
|
||||
hit,
|
||||
lap_en_sim,
|
||||
lapt,
|
||||
tnc,
|
||||
tnc_omschrijving,
|
||||
facilitor,
|
||||
adp,
|
||||
absentiemanager,
|
||||
regas,
|
||||
checks,
|
||||
accountview,
|
||||
elvy,
|
||||
hodnet,
|
||||
proactive)
|
||||
VALUES (v_versiedatum,
|
||||
v_omschrijving,
|
||||
v_code,
|
||||
v_token,
|
||||
v_mob,
|
||||
v_hit,
|
||||
v_lap_en_sim,
|
||||
v_lapt,
|
||||
v_tnc,
|
||||
v_tnc_omschrijving,
|
||||
v_facilitor,
|
||||
v_adp,
|
||||
v_absentiemanager,
|
||||
v_regas,
|
||||
v_checks,
|
||||
v_accountview,
|
||||
v_elvy,
|
||||
v_hodnet,
|
||||
v_proactive);
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
IF header_is_valid = 0
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Ongeldig importbestand',
|
||||
'Geen header of header niet volgens specificatie!');
|
||||
ELSE
|
||||
-- Afsluiting: Rollback/Delete tabel als er fouten in csv zitten. Initieel voor import koffersysteem nog zonder foutcheck opgezet, dus ook geen v_ongeldig aan het vullen...
|
||||
IF v_ongeldig > 0
|
||||
THEN
|
||||
ROLLBACK;
|
||||
-- Met rollback haalt hij ook al mijn errors en warnings weg!?? Daarom een DELETE
|
||||
-- delete from hmod_imp_contractscope where <alleen de ingelzen versiedatum ;
|
||||
COMMIT;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
'Niet ingelezen. Staan aantal ongeldige regels in csv-bestand. Zie bovenstaande ERRORS. Pas deze eerst aan!',
|
||||
'');
|
||||
ELSE
|
||||
COMMIT;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Aantal ingelezen regels: ' || TO_CHAR (v_count_import),
|
||||
'');
|
||||
END IF;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
ROLLBACK;
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg || ' - Check !!!! : ' || v_aanduiding,
|
||||
'');
|
||||
END hmod_import_koffer;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE hmod_update_koffer (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
oracle_err_mes VARCHAR2 (150);
|
||||
currentversion fac_module.fac_module_version%TYPE;
|
||||
v_aanduiding VARCHAR (100);
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
-- hmod_update_koffer (p_import_key);
|
||||
NULL;
|
||||
END hmod_update_koffer;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW hmod_v_koffersysteem
|
||||
(
|
||||
OMSCHRIJVING_TOTAAL,
|
||||
VERSIEDATUM,
|
||||
OMSCHRIJVING,
|
||||
CODE,
|
||||
TOKEN,
|
||||
MOB,
|
||||
HIT,
|
||||
LAP_EN_SIM,
|
||||
TNC,
|
||||
TNC_OMSCHRIJVING,
|
||||
FACILITOR,
|
||||
ADP,
|
||||
ABSENTIEMANAGER,
|
||||
REGAS,
|
||||
CHECKS,
|
||||
ACCOUNTVIEW,
|
||||
ELVY,
|
||||
HODNET,
|
||||
PROACTIVE
|
||||
)
|
||||
AS
|
||||
SELECT OMSCHRIJVING || ' (' || code || ')' AS omschrijving_totaal,
|
||||
versiedatum,
|
||||
omschrijving,
|
||||
code,
|
||||
token,
|
||||
mob,
|
||||
hit,
|
||||
lap_en_sim,
|
||||
tnc,
|
||||
tnc_omschrijving,
|
||||
facilitor,
|
||||
adp,
|
||||
absentiemanager,
|
||||
regas,
|
||||
checks,
|
||||
accountview,
|
||||
elvy,
|
||||
hodnet,
|
||||
proactive
|
||||
FROM hmod_imp_koffersysteem;
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
Reference in New Issue
Block a user