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;
|
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 ------
|
------ payload end ------
|
||||||
|
|||||||
Reference in New Issue
Block a user