FZKH#88392 Probleem bij importeren verbruiksartikelen zonder kostensoort

svn path=/Database/branches/DB50/; revision=68678
This commit is contained in:
Erik Groener
2025-04-08 08:01:39 +00:00
parent 8110221e43
commit 86eb532a2d

View File

@@ -11848,57 +11848,31 @@ BEGIN
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_discipline_oms);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_kostensoort_oms);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_nr);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_omschrijving
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_omschrijving);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_eenheid);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_prijs);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_prijs_vast
);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_inkoopprijs
);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_kostenpersoneel
);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_kostenalgemeen
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_prijs_vast);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_inkoopprijs);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_kostenpersoneel);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_kostenalgemeen);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_btw);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_opmerking
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_opmerking);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_groep);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_volgnummer
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_volgnummer);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_ingangsdatum);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_vervaldatum);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_minimum);
v_aanduiding :=
'importregel: ('
|| v_res_artikel_key
|| '|'
|| v_res_discipline_oms
|| '|'
|| v_res_artikel_nr
|| '|'
|| v_res_artikel_omschrijving
|| ')';
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
-- de juiste kolomkop. Ik controleer alle kolommen..
-- Ik negeer alles totdat ik een geldige header gepasseerd ben
IF (header_is_valid = 0)
THEN
v_aanduiding := 'importregel: (' || v_res_artikel_key
|| '|' || v_res_discipline_oms
|| '|' || v_res_artikel_nr
|| '|' || v_res_artikel_omschrijving
|| ')';
IF UPPER (v_res_artikel_key) = 'ARTIKELKEY'
AND UPPER (v_res_discipline_oms) = 'CATALOGUSNAAM'
AND UPPER (v_res_kostensoort_oms) = 'CATALOGUSKOSTENSOORT'
@@ -11908,10 +11882,8 @@ BEGIN
AND UPPER (v_res_artikel_prijs) = 'ARTIKELPRIJS'
AND UPPER (v_res_artikel_prijs_vast) = 'ARTIKELPRIJSVAST'
AND UPPER (v_res_artikel_inkoopprijs) = 'ARTIKELINKOOPPRIJS'
AND UPPER (v_res_artikel_kostenpersoneel) =
'ARTIKELPERSONEELKOSTEN'
AND UPPER (v_res_artikel_kostenalgemeen) =
'ARTIKELALGEMENEKOSTEN'
AND UPPER (v_res_artikel_kostenpersoneel) = 'ARTIKELPERSONEELKOSTEN'
AND UPPER (v_res_artikel_kostenalgemeen) = 'ARTIKELALGEMENEKOSTEN'
AND UPPER (v_res_artikel_btw) = 'ARTIKELBTW'
AND UPPER (v_res_artikel_opmerking) = 'ARTIKELOPMERKING'
AND UPPER (v_res_artikel_groep) = 'ARTIKELGROEP'
@@ -11924,9 +11896,14 @@ BEGIN
END IF;
ELSE
v_count_tot := v_count_tot + 1;
v_aanduiding := 'importregel ' || TO_CHAR(v_count_tot) || ': (' || v_res_artikel_key
|| '|' || v_res_discipline_oms
|| '|' || v_res_artikel_nr
|| '|' || v_res_artikel_omschrijving
|| ')';
-- Controleer alle veldwaarde
IF LTRIM (RTRIM (v_res_artikel_key)) IS NOT NULL
IF TRIM (v_res_artikel_key) IS NOT NULL
THEN
IF fac.safe_to_number (v_res_artikel_key) IS NOT NULL
THEN
@@ -11938,37 +11915,43 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (p_import_key,
'I',
fac.imp_writelog (p_import_key, 'I',
v_aanduiding,
'Catalogus is nieuw'
);
END;
ELSE
fac.imp_writelog (p_import_key,
'E',
fac.imp_writelog (p_import_key, 'E',
v_aanduiding,
'Artikel key niet gevonden'
'Artikel key ongeldig'
);
v_ongeldig := 1;
END IF;
END IF;
BEGIN
SELECT ins_discipline_key
INTO v_res_discipline_key
FROM res_discipline
WHERE ins_discipline_omschrijving = v_res_discipline_oms
AND ins_discipline_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (p_import_key,
'I',
v_aanduiding,
'Catalogus ' || v_res_discipline_oms || ' is nieuw'
);
END;
IF TRIM(v_res_discipline_oms) IS NOT NULL
THEN
BEGIN
SELECT ins_discipline_key
INTO v_res_discipline_key
FROM res_discipline
WHERE ins_discipline_omschrijving = v_res_discipline_oms
AND ins_discipline_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (p_import_key, 'I',
v_aanduiding,
'Catalogus ' || v_res_discipline_oms || ' is nieuw'
);
END;
ELSE
fac.imp_writelog (p_import_key, 'E',
v_aanduiding,
'Catalogus ontbreekt'
);
v_ongeldig := 1;
END IF;
IF v_res_kostensoort_oms IS NOT NULL
THEN
@@ -11981,76 +11964,67 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (p_import_key,
'I',
fac.imp_writelog (p_import_key, 'I',
v_aanduiding,
'Kostensoort ' || v_res_kostensoort_oms || ' is nieuw'
);
END;
END IF;
v_res_artikel_nr := TRIM (v_res_artikel_nr);
IF LENGTH (v_res_artikel_nr) > 10
THEN
v_res_artikel_nr := SUBSTR (TRIM (v_res_artikel_nr), 1, 10);
fac.imp_writelog (p_import_key,
'W',
v_res_artikel_nr := SUBSTR (v_res_artikel_nr, 1, 10);
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikelnummer wordt afgebroken tot ['
|| v_res_artikel_nr
|| ']'
'Artikelnummer wordt afgebroken tot [' || v_res_artikel_nr || ']'
);
END IF;
v_res_artikel_omschrijving := TRIM (v_res_artikel_omschrijving);
IF LENGTH (v_res_artikel_omschrijving) > 40
THEN
v_res_artikel_omschrijving :=
SUBSTR (TRIM (v_res_artikel_omschrijving), 1, 40);
fac.imp_writelog
(p_import_key,
'W',
v_aanduiding,
'Artikelomschrijving wordt afgebroken tot ['
|| v_res_artikel_omschrijving
|| ']'
);
v_res_artikel_omschrijving := SUBSTR (v_res_artikel_omschrijving, 1, 40);
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikelomschrijving wordt afgebroken tot [' || v_res_artikel_omschrijving || ']'
);
END IF;
IF v_res_artikel_omschrijving IS NULL
THEN
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikelomschrijving ontbreekt'
);
v_ongeldig := 1;
END IF;
v_res_artikel_eenheid := TRIM (v_res_artikel_eenheid);
IF LENGTH (v_res_artikel_eenheid) > 10
THEN
v_res_artikel_eenheid :=
SUBSTR (TRIM (v_res_artikel_eenheid), 1, 10);
fac.imp_writelog (p_import_key,
'W',
v_res_artikel_eenheid := SUBSTR (v_res_artikel_eenheid, 1, 10);
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikeleenheid wordt afgebroken tot ['
|| v_res_artikel_eenheid
|| ']'
'Artikeleenheid wordt afgebroken tot [' || v_res_artikel_eenheid || ']'
);
END IF;
v_res_artikel_prijs := REPLACE (v_res_artikel_prijs, ',', '.');
IF v_res_artikel_prijs IS NOT NULL
AND fac.safe_to_number (v_res_artikel_prijs) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige artikelprijs ['
|| v_res_artikel_prijs
|| ']'
'Ongeldige artikelprijs [' || v_res_artikel_prijs || ']'
);
END IF;
IF ( v_res_artikel_prijs_vast <> '0'
AND v_res_artikel_prijs_vast <> '1')
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige artikel_prijs_vast ['
|| v_res_artikel_prijs_vast
|| '] --> [0|1]'
'Ongeldige artikel_prijs_vast [' || v_res_artikel_prijs_vast || '] --> [0|1]'
);
END IF;
-- Doe een poging er de juiste waarde van te maken.
@@ -12060,88 +12034,63 @@ BEGIN
v_res_artikel_prijs_vast := '0';
END IF;
v_res_artikel_inkoopprijs :=
REPLACE (v_res_artikel_inkoopprijs, ',', '.');
v_res_artikel_inkoopprijs := REPLACE (v_res_artikel_inkoopprijs, ',', '.');
IF v_res_artikel_inkoopprijs IS NOT NULL
AND fac.safe_to_number (v_res_artikel_inkoopprijs) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige inkoopprijs ['
|| v_res_artikel_inkoopprijs
|| ']'
'Ongeldige inkoopprijs [' || v_res_artikel_inkoopprijs || ']'
);
END IF;
v_res_artikel_kostenpersoneel :=
REPLACE (v_res_artikel_kostenpersoneel, ',', '.');
v_res_artikel_kostenpersoneel := REPLACE (v_res_artikel_kostenpersoneel, ',', '.');
IF v_res_artikel_kostenpersoneel IS NOT NULL
AND fac.safe_to_number (v_res_artikel_kostenpersoneel) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige personeelskosten ['
|| v_res_artikel_kostenpersoneel
|| ']'
'Ongeldige personeelskosten [' || v_res_artikel_kostenpersoneel || ']'
);
END IF;
v_res_artikel_kostenalgemeen :=
REPLACE (v_res_artikel_kostenalgemeen, ',', '.');
v_res_artikel_kostenalgemeen := REPLACE (v_res_artikel_kostenalgemeen, ',', '.');
IF v_res_artikel_kostenalgemeen IS NOT NULL
AND fac.safe_to_number (v_res_artikel_kostenalgemeen) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige algemene kosten ['
|| v_res_artikel_kostenalgemeen
|| ']'
'Ongeldige algemene kosten [' || v_res_artikel_kostenalgemeen || ']'
);
END IF;
v_res_artikel_btw := REPLACE (v_res_artikel_btw, ',', '.');
IF v_res_artikel_btw IS NOT NULL
AND fac.safe_to_number (v_res_artikel_btw) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige BTW tarief ['
|| v_res_artikel_btw
|| ']'
'Ongeldige BTW tarief [' || v_res_artikel_btw || ']'
);
END IF;
v_res_artikel_opmerking := TRIM (v_res_artikel_opmerking);
IF LENGTH (v_res_artikel_opmerking) > 2000
THEN
v_res_artikel_opmerking :=
SUBSTR (TRIM (v_res_artikel_opmerking), 1, 2000);
fac.imp_writelog (p_import_key,
'W',
v_res_artikel_opmerking := SUBSTR (v_res_artikel_opmerking, 1, 2000);
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikelopmerking wordt afgebroken tot ['
|| v_res_artikel_opmerking
|| ']'
'Artikelopmerking wordt afgebroken tot [' || v_res_artikel_opmerking || ']'
);
END IF;
v_res_artikel_groep := TRIM (v_res_artikel_groep);
IF LENGTH (v_res_artikel_groep) > 10
THEN
v_res_artikel_groep :=
SUBSTR (TRIM (v_res_artikel_groep), 1, 10);
fac.imp_writelog (p_import_key,
'W',
v_res_artikel_groep := SUBSTR (v_res_artikel_groep, 1, 10);
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikelgroep wordt afgebroken tot ['
|| v_res_artikel_groep
|| ']'
'Artikelgroep wordt afgebroken tot [' || v_res_artikel_groep || ']'
);
END IF;
@@ -12150,12 +12099,9 @@ BEGIN
IF LENGTH (v_res_artikel_volgnummer) > 3
OR fac.safe_to_number (v_res_artikel_volgnummer) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldig artikelvolgnummer ['
|| v_res_artikel_volgnummer
|| ']'
'Ongeldig artikelvolgnummer [' || v_res_artikel_volgnummer || ']'
);
v_res_artikel_volgnummer := NULL;
END IF;
@@ -12166,24 +12112,18 @@ BEGIN
IF v_res_artikel_ingangsdatum IS NOT NULL
AND fac.safe_to_date (v_res_artikel_ingangsdatum, 'yyyymmdd') IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige ingangsdatum ['
|| v_res_artikel_ingangsdatum
|| ']'
'Ongeldige ingangsdatum [' || v_res_artikel_ingangsdatum || ']'
);
END IF;
IF v_res_artikel_vervaldatum IS NOT NULL
AND fac.safe_to_date (v_res_artikel_vervaldatum, 'yyyymmdd') IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldige vervaldatum ['
|| v_res_artikel_vervaldatum
|| ']'
'Ongeldige vervaldatum [' || v_res_artikel_vervaldatum || ']'
);
END IF;
@@ -12192,12 +12132,9 @@ BEGIN
IF LENGTH (v_res_artikel_minimum) > 3
OR fac.safe_to_number (v_res_artikel_minimum) IS NULL
THEN
fac.imp_writelog (p_import_key,
'W',
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Ongeldig artikelminimum ['
|| v_res_artikel_minimum
|| ']'
'Ongeldig artikelminimum [' || v_res_artikel_minimum || ']'
);
v_res_artikel_minimum := NULL;
END IF;
@@ -12237,10 +12174,8 @@ BEGIN
fac.safe_to_number (v_res_artikel_prijs),
fac.safe_to_number (v_res_artikel_prijs_vast),
fac.safe_to_number (v_res_artikel_inkoopprijs),
fac.safe_to_number
(v_res_artikel_kostenpersoneel),
fac.safe_to_number
(v_res_artikel_kostenalgemeen),
fac.safe_to_number (v_res_artikel_kostenpersoneel),
fac.safe_to_number (v_res_artikel_kostenalgemeen),
fac.safe_to_number (v_res_artikel_btw),
v_res_artikel_opmerking, v_res_artikel_groep,
fac.safe_to_number (v_res_artikel_volgnummer),
@@ -12256,13 +12191,10 @@ BEGIN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := ' ORACLE (' || oracle_err_mes || ')';
fac.imp_writelog
(p_import_key,
'E',
v_aanduiding,
'Ingelezen regel kan niet weggeschreven worden: fout bij toevoegen regel aan importtabel FAC_IMP_RES_ARTIKEL_SYNC. '
|| v_errormsg
);
fac.imp_writelog (p_import_key, 'E',
v_aanduiding,
'Ingelezen regel kan niet weggeschreven worden: fout bij toevoegen regel aan importtabel FAC_IMP_RES_ARTIKEL_SYNC. ' || v_errormsg
);
END;
END IF;
END IF;
@@ -12271,26 +12203,19 @@ BEGIN
IF (header_is_valid = 0)
THEN
fac.imp_writelog (p_import_key,
'E',
fac.imp_writelog (p_import_key, 'E',
v_aanduiding || 'Ongeldig importbestand',
'Toelichting: ... '
);
ELSE
fac.imp_writelog
(p_import_key,
'S',
'Reserveringen: aantal ingelezen catering regels: '
|| TO_CHAR (v_count_tot),
''
);
fac.imp_writelog
(p_import_key,
'S',
'Reserveringen: aantal ongeldige niet ingelezen importregels: <b>'
|| TO_CHAR (v_count_tot - v_count_import),
''
);
fac.imp_writelog (p_import_key, 'S',
'Reserveringen: aantal ingelezen catering regels: ' || TO_CHAR (v_count_tot),
''
);
fac.imp_writelog (p_import_key, 'S',
'Reserveringen: aantal ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_import),
''
);
END IF;
COMMIT;
@@ -12299,10 +12224,8 @@ EXCEPTION
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_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E',
v_errormsg,
'Inleesproces verbruiksartikelen afgebroken!'
);
@@ -12369,141 +12292,122 @@ BEGIN
END;
END IF;
BEGIN
SELECT ins_discipline_key
INTO v_res_discipline_key
FROM res_discipline
WHERE ins_discipline_omschrijving = rec.res_discipline_oms
AND ins_discipline_min_level = 2
AND ins_discipline_verwijder IS NULL;
IF v_res_kostensoort_key IS NOT NULL
THEN
BEGIN
SELECT ins_discipline_key
INTO v_res_discipline_key
FROM res_discipline
WHERE ins_discipline_omschrijving = rec.res_discipline_oms
AND ins_discipline_min_level = 2
AND ins_discipline_verwijder IS NULL;
IF v_res_kostensoort_key IS NOT NULL
THEN
UPDATE ins_tab_discipline
SET prs_kostensoort_key = v_res_kostensoort_key
WHERE ins_discipline_key = v_res_discipline_key;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
INSERT INTO ins_tab_discipline
(ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level,
prs_kostensoort_key
)
VALUES ('RES',
rec.res_discipline_oms,
2,
v_res_kostensoort_key
)
RETURNING ins_discipline_key
INTO v_res_discipline_key;
INSERT INTO res_disc_params
(res_ins_discipline_key
)
VALUES (v_res_discipline_key
);
END;
IF rec.res_artikel_key IS NULL
IF v_res_kostensoort_key IS NOT NULL
THEN
INSERT INTO res_artikel
(res_discipline_key, res_artikel_nr,
res_artikel_omschrijving,
res_artikel_eenheid, res_artikel_prijs,
res_artikel_prijs_vast,
res_artikel_inkoopprijs, res_artikel_btw,
res_artikel_opmerking, res_artikel_groep,
res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen,
res_artikel_volgnummer,
res_artikel_ingangsdatum,
res_artikel_vervaldatum,
res_artikel_minimum
)
VALUES (v_res_discipline_key, rec.res_artikel_nr,
rec.res_artikel_omschrijving,
rec.res_artikel_eenheid, rec.res_artikel_prijs,
rec.res_artikel_prijs_vast,
rec.res_artikel_inkoopprijs, rec.res_artikel_btw,
rec.res_artikel_opmerking, rec.res_artikel_groep,
rec.res_artikel_kostenpersoneel,
rec.res_artikel_kostenalgemeen,
rec.res_artikel_volgnummer,
rec.res_artikel_ingangsdatum,
rec.res_artikel_vervaldatum,
rec.res_artikel_minimum
);
v_count_ins := v_count_ins + 1;
ELSE
UPDATE res_artikel
SET res_discipline_key = v_res_discipline_key,
res_artikel_nr = rec.res_artikel_nr,
res_artikel_omschrijving = rec.res_artikel_omschrijving,
res_artikel_eenheid = rec.res_artikel_eenheid,
res_artikel_prijs = rec.res_artikel_prijs,
res_artikel_prijs_vast = rec.res_artikel_prijs_vast,
res_artikel_inkoopprijs = rec.res_artikel_inkoopprijs,
res_artikel_kostenpersoneel = rec.res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen = rec.res_artikel_kostenalgemeen,
res_artikel_btw = rec.res_artikel_btw,
res_artikel_opmerking = rec.res_artikel_opmerking,
res_artikel_groep = rec.res_artikel_groep,
res_artikel_volgnummer = rec.res_artikel_volgnummer,
res_artikel_ingangsdatum = rec.res_artikel_ingangsdatum,
res_artikel_vervaldatum = rec.res_artikel_vervaldatum,
res_artikel_minimum = rec.res_artikel_minimum
WHERE res_artikel_key = rec.res_artikel_key;
v_count_update := v_count_update + 1;
UPDATE ins_tab_discipline
SET prs_kostensoort_key = v_res_kostensoort_key
WHERE ins_discipline_key = v_res_discipline_key;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
INSERT INTO ins_tab_discipline
(ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level,
prs_kostensoort_key
)
VALUES ('RES',
rec.res_discipline_oms,
2,
v_res_kostensoort_key
)
RETURNING ins_discipline_key
INTO v_res_discipline_key;
INSERT INTO res_disc_params
(res_ins_discipline_key
)
VALUES (v_res_discipline_key
);
END;
IF rec.res_artikel_key IS NULL
THEN
INSERT INTO res_artikel
(res_discipline_key, res_artikel_nr,
res_artikel_omschrijving,
res_artikel_eenheid, res_artikel_prijs,
res_artikel_prijs_vast,
res_artikel_inkoopprijs, res_artikel_btw,
res_artikel_opmerking, res_artikel_groep,
res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen,
res_artikel_volgnummer,
res_artikel_ingangsdatum,
res_artikel_vervaldatum,
res_artikel_minimum
)
VALUES (v_res_discipline_key, rec.res_artikel_nr,
rec.res_artikel_omschrijving,
rec.res_artikel_eenheid, rec.res_artikel_prijs,
rec.res_artikel_prijs_vast,
rec.res_artikel_inkoopprijs, rec.res_artikel_btw,
rec.res_artikel_opmerking, rec.res_artikel_groep,
rec.res_artikel_kostenpersoneel,
rec.res_artikel_kostenalgemeen,
rec.res_artikel_volgnummer,
rec.res_artikel_ingangsdatum,
rec.res_artikel_vervaldatum,
rec.res_artikel_minimum
);
v_count_ins := v_count_ins + 1;
ELSE
UPDATE res_artikel
SET res_discipline_key = v_res_discipline_key,
res_artikel_nr = rec.res_artikel_nr,
res_artikel_omschrijving = rec.res_artikel_omschrijving,
res_artikel_eenheid = rec.res_artikel_eenheid,
res_artikel_prijs = rec.res_artikel_prijs,
res_artikel_prijs_vast = rec.res_artikel_prijs_vast,
res_artikel_inkoopprijs = rec.res_artikel_inkoopprijs,
res_artikel_kostenpersoneel = rec.res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen = rec.res_artikel_kostenalgemeen,
res_artikel_btw = rec.res_artikel_btw,
res_artikel_opmerking = rec.res_artikel_opmerking,
res_artikel_groep = rec.res_artikel_groep,
res_artikel_volgnummer = rec.res_artikel_volgnummer,
res_artikel_ingangsdatum = rec.res_artikel_ingangsdatum,
res_artikel_vervaldatum = rec.res_artikel_vervaldatum,
res_artikel_minimum = rec.res_artikel_minimum
WHERE res_artikel_key = rec.res_artikel_key;
v_count_update := v_count_update + 1;
END IF;
END;
END LOOP;
fac.imp_writelog (p_import_key,
'S',
'Reserveringen: aantal artikelregels: '
|| TO_CHAR (v_count_tot),
''
fac.imp_writelog (p_import_key, 'S',
'Reserveringen: aantal artikelregels: ' || TO_CHAR (v_count_tot), ''
);
IF v_count_ins <> 0
THEN
fac.imp_writelog
(p_import_key,
'S',
'Reserveringen: aantal artikelregels toegevoegd: '
|| TO_CHAR (v_count_ins),
''
);
fac.imp_writelog (p_import_key, 'S',
'Reserveringen: aantal artikelregels toegevoegd: ' || TO_CHAR (v_count_ins), ''
);
END IF;
IF v_count_update <> 0
THEN
fac.imp_writelog (p_import_key,
'S',
'Reserveringen: aantal artikelregels aangepast: '
|| TO_CHAR (v_count_update),
''
fac.imp_writelog (p_import_key, 'S',
'Reserveringen: aantal artikelregels aangepast: ' || TO_CHAR (v_count_update), ''
);
END IF;
IF (v_count_tot > (v_count_ins + v_count_update))
THEN
fac.imp_writelog
(p_import_key,
'S',
'Reserveringen: aantal artikelregels overgeslagen: '
|| TO_CHAR (v_count_tot - v_count_ins - v_count_update),
''
);
fac.imp_writelog (p_import_key, 'S',
'Reserveringen: aantal artikelregels overgeslagen: ' || TO_CHAR (v_count_tot - v_count_ins - v_count_update), ''
);
END IF;
COMMIT;