172 lines
6.8 KiB
SQL
172 lines
6.8 KiB
SQL
-- $Id$
|
|
--
|
|
-- Script om de xcp-taken in te lezen tbv uitrol mjob - DEEL 1
|
|
--
|
|
--
|
|
DEFINE thisfile = 'SKAF#76053_taken_1.SQL'
|
|
DEFINE dbuser = '^SKAF'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
PROMPT &fcltcusterr
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
DECLARE
|
|
v_errormsg VARCHAR (200);
|
|
v_errorhint VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (150);
|
|
currentversion fac_module.fac_module_version%TYPE;
|
|
v_aanduiding VARCHAR (200);
|
|
v_count NUMBER;
|
|
v_ins_deel_key NUMBER;
|
|
v_ins_srtcontrole_key NUMBER;
|
|
v_ins_srtcontroledl_xcp_key NUMBER;
|
|
v_teller_xcptaken NUMBER := 0 ;
|
|
p_import_key NUMBER;
|
|
|
|
CURSOR C
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_csv
|
|
WHERE fac_import_key = (SELECT max(fac_import_key) FROM fac_import WHERE fac_import_app_key = 341 AND fac_import_datum_verwerkt IS NULL) -- GENREICCSV - FIP: Generieke CSV import
|
|
AND fac_imp_csv_index > 1
|
|
ORDER BY fac_imp_csv_index;
|
|
BEGIN
|
|
|
|
SELECT MAX (fac_import_key)
|
|
INTO p_import_key
|
|
FROM fac_import
|
|
WHERE fac_import_app_key = 341 AND fac_import_datum_verwerkt IS NULL ;
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
-- v_ins_deel_key := NULL;
|
|
-- v_ins_srtcontrole_key := NULL ;
|
|
-- v_ins_srtcontroledl_xcp_key := NULL;
|
|
v_aanduiding := 'Record: ' || TO_CHAR(rec.fac_imp_csv_index) || ' / object ' || rec.fac_imp_csv_col01 || ' / taak ' || rec.fac_imp_csv_col03 ;
|
|
|
|
v_errorhint := 'eerst object - ins_deel_key - erbij zoeken';
|
|
|
|
SELECT MAX(ins_deel_key)
|
|
INTO v_ins_deel_key
|
|
FROM ins_deel
|
|
WHERE ins_deel_upper = UPPER (TRIM(rec.fac_imp_csv_col01))
|
|
AND ins_deel_verwijder IS NULL ;
|
|
|
|
v_errorhint := 'dan basistaak - ins_srtcontrole_key - erbij zoeken';
|
|
|
|
SELECT MAX(ins_srtcontrole_key)
|
|
INTO v_ins_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
WHERE LOWER (ins_srtcontrole_omschrijving) = LOWER (TRIM(rec.fac_imp_csv_col03))
|
|
AND ins_scenario_key = 1;
|
|
|
|
v_errorhint := 'check of xcp er al in staat, zo ja dan geen import';
|
|
|
|
SELECT MAX(ins_srtcontroledl_xcp_key)
|
|
INTO v_ins_srtcontroledl_xcp_key
|
|
FROM ins_srtcontroledl_xcp
|
|
WHERE ins_deel_key = v_ins_deel_key AND ins_srtcontrole_key = v_ins_srtcontrole_key ;
|
|
|
|
v_errorhint := 'nu het xcp-record - ins_srtcontrolexcp_key - aanmaken';
|
|
|
|
IF v_ins_deel_key IS NOT NULL
|
|
AND v_ins_srtcontrole_key IS NOT NULL
|
|
AND v_ins_srtcontroledl_xcp_key IS NULL
|
|
THEN
|
|
INSERT INTO ins_srtcontroledl_xcp (
|
|
ins_deel_key,
|
|
ins_srtcontrole_key,
|
|
ins_srtcontroledl_xcp_eenheid,
|
|
ins_srtcontroledl_xcp_periode,
|
|
prs_kostenplaats_key,
|
|
ins_srtcontroledl_xcp_bits,
|
|
ins_srtcontroledl_xcp_uren,
|
|
ins_srtcontroledl_xcp_perc,
|
|
ins_srtcontroledl_xcp_groep,
|
|
ins_srtcontroledl_xcp_opmerk,
|
|
ins_srtcontroledl_xcp_startdat,
|
|
ins_srtcontroledl_xcp_eind,
|
|
ins_srtcontroledl_xcp_aantal,
|
|
ins_srtcontroledl_xcp_aanteh,
|
|
ins_srtcontroledl_xcp_kosten,
|
|
ins_srtcontroledl_xcp_kosten2,
|
|
ins_srtcontroledl_xcp_kosten3,
|
|
ins_srtcontroledl_xcp_materia)
|
|
VALUES (v_ins_deel_key,
|
|
v_ins_srtcontrole_key,
|
|
rec.fac_imp_csv_col08, -- standaard eenheid (= 4 = jaar) - alleen afwijkende is gevuld
|
|
fac.safe_to_number(rec.fac_imp_csv_col09), -- periode
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
rec.fac_imp_csv_col05, -- Groep = 'Eerder al verschoven' of NULL
|
|
rec.fac_imp_csv_col04, -- Opmerking bij xcp_taak, bijv Aanschaf/installatie: 01-01-2002',
|
|
TO_DATE(rec.fac_imp_csv_col10,'dd-mm-yyyy'), -- Startjaar - TO_DATE ('01-01-2023 00:00', 'DD-MM-YYYY HH24:MI'),
|
|
NULL,
|
|
fac.safe_to_number(rec.fac_imp_csv_col12), -- Aantal_afwijkend_object
|
|
fac.safe_to_number(rec.fac_imp_csv_col13), -- Eenheid_afwijkend_object
|
|
fac.safe_to_number(rec.fac_imp_csv_col11), -- Kosten per eenheid
|
|
NULL,
|
|
NULL,
|
|
NULL);
|
|
|
|
v_teller_xcptaken := v_teller_xcptaken + 1 ;
|
|
|
|
UPDATE fac_imp_csv
|
|
SET fac_imp_csv_col15 = 'ok'
|
|
WHERE fac_import_key = p_import_key and fac_imp_csv_index = rec.fac_imp_csv_index ;
|
|
|
|
END IF;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
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_aanduiding || v_errormsg, v_errorhint);
|
|
-- fac.writelog ('IMP_CSV_TAKEN', 'E', v_aanduiding || v_errormsg, v_errorhint);
|
|
END;
|
|
END LOOP;
|
|
|
|
-- logging wegschrijven
|
|
fac.imp_writelog (p_import_key,
|
|
'I',
|
|
'Totaal weggeschreven xcp_taken: ' || TO_CHAR(v_teller_xcptaken),
|
|
'');
|
|
|
|
|
|
END;
|
|
/
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|