YASK#88710 Initiële versie van de importfunctie.
svn path=/Customer/trunk/; revision=68941
This commit is contained in:
455
YASK/yask.sql
455
YASK/yask.sql
@@ -6391,6 +6391,461 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
--
|
||||
-- Import van RB facturen mbt gladheidsbestrijding
|
||||
--
|
||||
-- Opbouw van het bestand is:
|
||||
--Bijlage voor facturatie;;;;;;
|
||||
--;;;;;;
|
||||
--Februari 2025 Week 6 t/m 9;;;Week 6;Week 7;Week 8;Totaal
|
||||
--;;;;;;Totaal
|
||||
--PRP nummer;Plaats;Straat;;;;
|
||||
--PRP-000375;Alkmaar;Robonsbosweg 5; <EFBFBD> 385,00 ; <EFBFBD> 1.155,00 ; <EFBFBD> 770,00 ; <EFBFBD> 2.310,00
|
||||
--PRP-000974;Almelo;De Werf 5; <EFBFBD> 660,00 ; <EFBFBD> 990,00 ; <EFBFBD> 660,00 ; <EFBFBD> 2.310,00
|
||||
--
|
||||
-- Belangrijk om te weten is dat de kolom totaal niet altijd op dezelfde plek staat.
|
||||
|
||||
CREATE OR REPLACE VIEW yask_v_rabo_imp_gladheid
|
||||
AS
|
||||
SELECT fac_import_key,
|
||||
fac_imp_csv_key,
|
||||
fac_imp_csv_index,
|
||||
(SELECT TO_DATE (SUBSTR (fac_imp_csv_col01, 1, INSTR (fac_imp_csv_col01, ' ') - 1), 'Month')
|
||||
FROM fac_imp_csv im
|
||||
WHERE im.fac_import_key = i.fac_import_key AND fac_imp_csv_index = 3) maand,
|
||||
REPLACE (
|
||||
REPLACE (
|
||||
REPLACE (
|
||||
REPLACE (CASE
|
||||
WHEN (SELECT fac_imp_csv_col07
|
||||
FROM fac_imp_csv i7
|
||||
WHERE i7.fac_import_key = i.fac_import_key AND fac_imp_csv_index = 3) = 'Totaal'
|
||||
THEN
|
||||
i.fac_imp_csv_col07
|
||||
WHEN (SELECT fac_imp_csv_col08
|
||||
FROM fac_imp_csv i8
|
||||
WHERE i8.fac_import_key = i.fac_import_key AND fac_imp_csv_index = 3) = 'Totaal'
|
||||
THEN
|
||||
i.fac_imp_csv_col08
|
||||
WHEN (SELECT fac_imp_csv_col09
|
||||
FROM fac_imp_csv i9
|
||||
WHERE i9.fac_import_key = i.fac_import_key AND fac_imp_csv_index = 3) = 'Totaal'
|
||||
THEN
|
||||
i.fac_imp_csv_col09
|
||||
WHEN (SELECT fac_imp_csv_col10
|
||||
FROM fac_imp_csv i10
|
||||
WHERE i10.fac_import_key = i.fac_import_key AND fac_imp_csv_index = 3) = 'Totaal'
|
||||
THEN
|
||||
i.fac_imp_csv_col10
|
||||
ELSE
|
||||
'Onbekend'
|
||||
END,
|
||||
'<EFBFBD>') -- Euroteken vervangen
|
||||
,
|
||||
' ') -- Er komen spaties voor tussen een min-teken en het bedrag.
|
||||
,
|
||||
'.') -- Duizendtal scheidingsteken vervangen
|
||||
,
|
||||
',',
|
||||
'.') -- Komma omzetten naar punten als decimaal scheidingsteken.
|
||||
totaal,
|
||||
fac_imp_csv_col01 prp,
|
||||
fac_imp_csv_col02 plaats,
|
||||
fac_imp_csv_col03 adres,
|
||||
fac_imp_csv_col20 alg_locatie_key,
|
||||
fac_imp_csv_col21 alg_gebouw_key
|
||||
FROM fac_imp_csv i
|
||||
WHERE i.fac_imp_csv_col01 LIKE 'PRP-%';
|
||||
|
||||
CREATE OR REPLACE PROCEDURE yask_import_rabo_gladheid (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_cursor IS
|
||||
SELECT *
|
||||
FROM yask_v_rabo_imp_gladheid
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_csv_index;
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
v_errorcount NUMBER;
|
||||
v_aanduiding VARCHAR (200);
|
||||
v_ongeldig BOOLEAN;
|
||||
v_count NUMBER;
|
||||
v_totaal NUMBER;
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
-- De importvelden
|
||||
v_locatie_key NUMBER (10);
|
||||
v_gebouw_key NUMBER (10);
|
||||
BEGIN
|
||||
-- Init
|
||||
v_totaal := 0;
|
||||
-- Controle of de import al gedaan is voor de vorige maand
|
||||
FOR rec IN c_cursor
|
||||
LOOP
|
||||
BEGIN
|
||||
v_locatie_key := NULL;
|
||||
v_gebouw_key := NULL;
|
||||
v_ongeldig := FALSE;
|
||||
v_aanduiding := rec.prp || '|' || rec.plaats || '|' || rec.adres || '|' || rec.totaal;
|
||||
|
||||
v_errorhint := 'Zoek het juiste gebouw op';
|
||||
BEGIN
|
||||
SELECT l.alg_locatie_key, g.alg_gebouw_key
|
||||
INTO v_locatie_key, v_gebouw_key
|
||||
FROM alg_gebouw g, alg_locatie l, alg_district d
|
||||
WHERE g.alg_gebouw_verwijder IS NULL
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND alg_locatie_verwijder IS NULL
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND d.alg_regio_key = 121 -- RABOBANK.
|
||||
AND UPPER (alg_gebouw_code) = UPPER (TRIM (rec.prp));
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Gebouw kan niet gevonden worden.', v_aanduiding);
|
||||
v_ongeldig := TRUE;
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Meerdere gebouwen gevonden.', v_aanduiding);
|
||||
v_ongeldig := TRUE;
|
||||
END;
|
||||
|
||||
IF FAC.safe_to_number(rec.totaal) IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'W', 'Bedrag is geen nummer', v_aanduiding || '(' || rec.totaal || ')');
|
||||
v_ongeldig := TRUE;
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'Vul de csv import tabel aan met locatie en gebouw key';
|
||||
IF v_ongeldig = FALSE
|
||||
THEN
|
||||
UPDATE fac_imp_csv SET fac_imp_csv_col20 = v_locatie_key,
|
||||
fac_imp_csv_col21 = v_gebouw_key
|
||||
WHERE fac_imp_csv_key = rec.fac_imp_csv_key;
|
||||
v_totaal := v_totaal + COALESCE(FAC.safe_to_number(rec.totaal), 0);
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key, 'S', 'Totaal ingelezen bedrag: ' || v_totaal, NULL);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE yask_update_rabo_gladheid (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_cursor IS
|
||||
SELECT *
|
||||
FROM yask_v_rabo_imp_gladheid
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND FAC.safe_to_number(totaal) IS NOT NULL
|
||||
ORDER BY fac_imp_csv_index;
|
||||
|
||||
CURSOR c_mld (c_stdmelding_key IN NUMBER)
|
||||
IS
|
||||
SELECT mld_melding_key, mld_melding_status
|
||||
FROM mld_melding
|
||||
WHERE mld_stdmelding_key = c_stdmelding_key -- Verzamelmelding Catering
|
||||
AND mld_melding_status IN (0, 2, 3, 99, 4, 7) -- FrontOffice, Nieuw, Te accepteren, Niet opgelost, In behandeling, Uitgegeven
|
||||
AND TRUNC(SYSDATE, 'MM') -1 > mld_melding_einddatum;
|
||||
|
||||
v_aanduiding VARCHAR2 (1000); -- Import line
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
v_errorcount NUMBER;
|
||||
v_ongeldig BOOLEAN;
|
||||
v_count NUMBER;
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
-- De importvelden
|
||||
v_stdmelding_key NUMBER (10);
|
||||
v_typeopdr_key NUMBER (10);
|
||||
v_perslid_key NUMBER (10);
|
||||
v_kostenplaats_key NUMBER (10);
|
||||
v_melding_key NUMBER (10);
|
||||
v_melding_status NUMBER (1);
|
||||
v_bedrijf_key NUMBER (10);
|
||||
v_contact_key NUMBER (10);
|
||||
v_opdr_key NUMBER (10);
|
||||
v_gebouw_key_prev NUMBER(10);
|
||||
v_mld_opdr_bedrijfopdr_volgnr NUMBER;
|
||||
v_rb_goedgekeurd_kenmerk_key NUMBER (10);
|
||||
v_typefactuur_kenmerk_key NUMBER (10);
|
||||
v_usrdata_key NUMBER (10);
|
||||
v_opdr_kosten mld_opdr.mld_opdr_kosten%TYPE;
|
||||
v_stdmelding_t_uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
|
||||
v_stdmelding_t_accepttijd mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE;
|
||||
v_stdmelding_code mld_stdmelding.mld_stdmelding_code%TYPE;
|
||||
v_melding_datum DATE;
|
||||
v_melding_einddatum DATE;
|
||||
v_opdr_datumbegin DATE;
|
||||
v_opdr_einddatum DATE;
|
||||
|
||||
PROCEDURE add_kenmerk_btw_bedrag (p_opdr_key IN NUMBER, p_typeopdr_key IN NUMBER, p_btw IN NUMBER, p_bedrag IN NUMBER)
|
||||
AS
|
||||
v_btw_bedrag_kenmerk_key NUMBER;
|
||||
v_kenmerk_code VARCHAR2(20);
|
||||
BEGIN
|
||||
CASE p_btw
|
||||
WHEN 21 THEN v_kenmerk_code := 'BEDRAGHOOG';
|
||||
WHEN 9 THEN v_kenmerk_code := 'BEDRAGLAAG';
|
||||
WHEN 0 THEN v_kenmerk_code := 'BEDRAGNUL';
|
||||
ELSE RETURN;
|
||||
END CASE;
|
||||
|
||||
-- zoek het kenmerk op.
|
||||
SELECT mld_kenmerk_key
|
||||
INTO v_btw_bedrag_kenmerk_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = v_kenmerk_code
|
||||
AND k.mld_typeopdr_key = p_typeopdr_key;
|
||||
|
||||
FLX.setflex('OPD', v_btw_bedrag_kenmerk_key, p_opdr_key, p_bedrag);
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
-- initialisatie
|
||||
v_gebouw_key_prev := -1;
|
||||
v_opdr_kosten := 0;
|
||||
v_errormsg := 'Opdrachttype opzoeken om de opdracht onder aan te maken';
|
||||
SELECT mld_typeopdr_key
|
||||
INTO v_typeopdr_key
|
||||
FROM mld_typeopdr ot
|
||||
WHERE ot.mld_typeopdr_code = 'REVERSEDBILLING'; -- ReversedBilling
|
||||
|
||||
v_errormsg := 'Opzoeken van de user waaronder we de meldingen en opdrachten gaan aanmaken';
|
||||
SELECT prs_perslid_key, prs_kostenplaats_key
|
||||
INTO v_perslid_key, v_kostenplaats_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_RABO_GLADHEIDSBESTRIJDING';
|
||||
|
||||
FOR rec IN c_cursor
|
||||
LOOP
|
||||
IF v_gebouw_key_prev <> rec.alg_gebouw_key AND rec.alg_gebouw_key IS NOT NULL
|
||||
THEN
|
||||
-- Bij vervolregels met een ander btw tarief gaan we geen meldingen en opdrachten aanmaken.
|
||||
IF v_stdmelding_key IS NULL
|
||||
THEN
|
||||
v_stdmelding_code := 'RB_RABO_GLADHEIDSBESTRIJDING';
|
||||
-- zoek de standaardmelding
|
||||
v_errormsg := 'Standaard melding met code RB_RABO_GLADHEIDSBESTRIJDING opzoeken';
|
||||
SELECT mld_stdmelding_key,
|
||||
mld_stdmelding_t_uitvoertijd,
|
||||
mld_stdmelding_t_accepttijd
|
||||
INTO v_stdmelding_key,
|
||||
v_stdmelding_t_uitvoertijd,
|
||||
v_stdmelding_t_accepttijd
|
||||
FROM mld_stdmelding
|
||||
WHERE mld_stdmelding_code = v_stdmelding_code;
|
||||
|
||||
-- Dan zijn de grensdata ook nog niet geinitialiseerd.
|
||||
v_errormsg := 'Initialiseren grensdata: ' || rec.maand;
|
||||
v_melding_datum := TRUNC(rec.maand,'yyyy');
|
||||
v_melding_einddatum := ADD_MONTHS(v_melding_datum, 12) -1;
|
||||
v_opdr_datumbegin := rec.maand;
|
||||
v_opdr_einddatum := ADD_MONTHS(v_opdr_datumbegin, 1) -1;
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
-- controleer of er een openstaande melding is voor dit gebouw
|
||||
v_errormsg := 'Kunnen we een melding vinden onder gebouw: ' || rec.alg_gebouw_key;
|
||||
SELECT mld_melding_key, mld_melding_status
|
||||
INTO v_melding_key, v_melding_status
|
||||
FROM mld_melding
|
||||
WHERE mld_stdmelding_key = v_stdmelding_key -- Verzamelmelding Catering
|
||||
AND mld_melding_status IN (0, 2, 3, 99, 4, 7) -- FrontOffice, Nieuw, Te accepteren, Niet opgelost, In behandeling, Uitgegeven
|
||||
AND mld_alg_onroerendgoed_keys = rec.alg_gebouw_key
|
||||
AND v_opdr_datumbegin BETWEEN mld_melding_datum AND mld_melding_einddatum;
|
||||
|
||||
IF v_melding_status = 0 OR v_melding_status = 2
|
||||
THEN
|
||||
mld.setmeldingstatus (v_melding_key, 4, v_perslid_key);
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- dan gaan we een nieuwe melding aanmaken
|
||||
v_errormsg := 'We gaan een nieuwe melding aanmaken onder gebouw: ' || rec.alg_gebouw_key;
|
||||
INSERT INTO mld_melding (mld_melding_omschrijving,
|
||||
prs_perslid_key,
|
||||
prs_kostenplaats_key,
|
||||
mld_stdmelding_key,
|
||||
mld_alg_locatie_key,
|
||||
mld_alg_onroerendgoed_keys,
|
||||
mld_melding_einddatum,
|
||||
mld_melding_datum,
|
||||
mld_melding_t_uitvoertijd,
|
||||
mld_melding_t_accepttijd,
|
||||
mld_meldbron_key,
|
||||
mld_melding_module,
|
||||
mld_melding_spoed)
|
||||
VALUES ('Gladheid ReversedBilling boekingen',
|
||||
v_perslid_key, -- API catering rabobank
|
||||
v_kostenplaats_key, -- Rabobank (kostenplaats van bovenstaande user)
|
||||
v_stdmelding_key,
|
||||
rec.alg_locatie_key,
|
||||
rec.alg_gebouw_key,
|
||||
v_melding_einddatum,
|
||||
v_melding_datum,
|
||||
v_stdmelding_t_uitvoertijd,
|
||||
v_stdmelding_t_accepttijd,
|
||||
5,
|
||||
'MLD',
|
||||
3)
|
||||
RETURNING mld_melding_key
|
||||
INTO v_melding_key;
|
||||
|
||||
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
|
||||
mld.setmeldingstatus (v_melding_key, 4, v_perslid_key);
|
||||
END;
|
||||
|
||||
-- maak een opdracht aan voor dit gebouw en deze periode
|
||||
BEGIN
|
||||
-- Zoek het bedrijf waaronder de opdracht aangemaakt moet worden. Dit is het bedrijf waarvan
|
||||
-- de user, onder wie we de melding en opdracht aanmaken, de contactpersoon is.
|
||||
v_errormsg := 'Het bedrijf opzoeken om de opdracht aan te koppelen. ' || v_perslid_key;
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_bedrijf_key
|
||||
FROM prs_contactpersoon cp
|
||||
WHERE cp.prs_perslid_key = v_perslid_key;
|
||||
|
||||
-- Nu op zoek naar het ReversedBilling contract
|
||||
v_errormsg := 'Contract opzoeken om aan de opdracht te koppelen (bedrijf:' || v_bedrijf_key || ')';
|
||||
SELECT cnt_contract_key
|
||||
INTO v_contact_key
|
||||
FROM cnt_contract c, cnt_discipline d
|
||||
WHERE c.ins_discipline_key = d.ins_discipline_key
|
||||
AND UPPER(d.ins_discipline_omschrijving) LIKE 'REVERSED%'
|
||||
AND c.cnt_prs_bedrijf_key = v_bedrijf_key
|
||||
AND v_opdr_datumbegin BETWEEN c.cnt_contract_looptijd_van AND c.cnt_contract_looptijd_tot;
|
||||
|
||||
|
||||
-- Controleer of er al een opdracht bestaat.
|
||||
v_errormsg := 'Controleer of RB opdracht al bestaat. ' || rec.prp || ' | ' || rec.plaats || ' | ' || rec.maand || '-' || rec.totaal;
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
FROM mld_opdr o, mld_melding m
|
||||
WHERE o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_alg_onroerendgoed_keys = rec.alg_gebouw_key
|
||||
AND m.mld_stdmelding_key = v_stdmelding_key
|
||||
AND o.mld_opdr_datumbegin = v_opdr_datumbegin
|
||||
AND o.mld_opdr_einddatum = v_opdr_einddatum;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
|
||||
v_mld_opdr_bedrijfopdr_volgnr := mld.bepaalopdrmeldingvolgnr (v_melding_key);
|
||||
|
||||
v_errormsg := 'Maak opdracht aan';
|
||||
|
||||
-- maak opdracht aan om cateringfactuur van leverancier te matchen
|
||||
INSERT INTO mld_opdr (mld_melding_key,
|
||||
prs_kostenplaats_key,
|
||||
mld_statusopdr_key,
|
||||
mld_typeopdr_key,
|
||||
prs_perslid_key,
|
||||
cnt_contract_key,
|
||||
mld_uitvoerende_keys,
|
||||
mld_opdr_datumbegin,
|
||||
mld_opdr_einddatum,
|
||||
mld_opdr_module,
|
||||
mld_opdr_omschrijving,
|
||||
mld_opdr_bedrijfopdr_volgnr)
|
||||
VALUES ( v_melding_key,
|
||||
v_kostenplaats_key, -- Rabobank kostenplaats
|
||||
5, -- uitgegeven
|
||||
v_typeopdr_key,
|
||||
v_perslid_key, -- Maas import user
|
||||
v_contact_key,
|
||||
v_bedrijf_key,
|
||||
v_opdr_datumbegin,
|
||||
v_opdr_einddatum,
|
||||
'MLD',
|
||||
'Gladheid ReversedBilling boekingen' || ' ' || TO_CHAR (v_opdr_datumbegin, 'MON-YYYY'),
|
||||
v_mld_opdr_bedrijfopdr_volgnr)
|
||||
RETURNING mld_opdr_key INTO v_opdr_key;
|
||||
|
||||
v_errormsg := 'Update opdracht status';
|
||||
-- meld de opdracht af
|
||||
MLD.setopdrachtstatus (v_opdr_key, 6, v_perslid_key);
|
||||
MLD.updatemeldingstatus (v_melding_key, 0, v_perslid_key); -- Facilitor
|
||||
-- antedateren van de tracking omdat de reversedbilling alleen meegenomen wordt als de opdracht in de vorige maand is afgerond.
|
||||
UPDATE fac_tracking SET fac_tracking_datum = v_opdr_einddatum
|
||||
WHERE fac_tracking_refkey = v_opdr_key
|
||||
AND fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'ORDAFM');
|
||||
-- en zet hem nog op afgerond
|
||||
MLD.setopdrachtstatus (v_opdr_key, 9, v_perslid_key);
|
||||
UPDATE fac_tracking SET fac_tracking_datum = v_opdr_einddatum
|
||||
WHERE fac_tracking_refkey = v_opdr_key
|
||||
AND fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'ORDAFR');
|
||||
|
||||
v_errormsg := 'Opvragen van het opdrachtkenmerk: RB_GOEDGEKEURD';
|
||||
SELECT mld_kenmerk_key
|
||||
INTO v_rb_goedgekeurd_kenmerk_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'RB_GOEDGEKEURD' -- Dispuut
|
||||
AND k.mld_typeopdr_key = v_typeopdr_key;
|
||||
|
||||
v_errormsg := 'Kenmerk RB_GOEDGEKEURD op 1 zetten';
|
||||
FLX.setflex('OPD', v_rb_goedgekeurd_kenmerk_key, v_opdr_key, '1');
|
||||
|
||||
v_errormsg := 'Opvragen van het opdrachtkenmerk: TYPEFACTUUR';
|
||||
SELECT k.mld_kenmerk_key, k.mld_kenmerk_default
|
||||
INTO v_typefactuur_kenmerk_key, v_usrdata_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'TYPEFACTUUR'
|
||||
AND k.mld_typeopdr_key = v_typeopdr_key;
|
||||
|
||||
v_errormsg := 'Kenmerk TYPEFACTUUR op B zetten: ' || v_typefactuur_kenmerk_key || '-' || v_opdr_key || '-' || v_usrdata_key;
|
||||
-- Dit is de default van het kenmerk
|
||||
FLX.setflex('OPD', v_typefactuur_kenmerk_key, v_opdr_key, v_usrdata_key);
|
||||
VBXX.set_opslag_perc (v_opdr_key);
|
||||
v_errormsg := 'Einde Loop ';
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key, 'E', 'RB opdracht bestaat al', 'Gladheid' || ' | ' || rec.prp || ' | ' || rec.plaats || ' | ' || rec.maand || '-' || rec.totaal);
|
||||
v_opdr_key := NULL; -- Als de opdracht al bestaat gaan we er niets meer op aanpassen.
|
||||
END IF;
|
||||
END;
|
||||
|
||||
|
||||
v_gebouw_key_prev := rec.alg_gebouw_key;
|
||||
v_opdr_kosten := 0;
|
||||
END IF;
|
||||
-- Aanpassen van het kenmerk per btw tarief en het totaalbedrag invullen. Dit doen we alleen als de opdracht niet al bestond.
|
||||
IF v_opdr_key IS NOT NULL AND rec.alg_gebouw_key IS NOT NULL
|
||||
THEN
|
||||
v_errormsg := 'Voeg het kenmerk met het btw bedrag toe aan de opdracht ' || rec.totaal;
|
||||
-- Voeg het kenmerk met het bedrag toe en tel het totaal voor de opdracht op.
|
||||
add_kenmerk_btw_bedrag (v_opdr_key, v_typeopdr_key, 21, rec.totaal);
|
||||
v_opdr_kosten := v_opdr_kosten + rec.totaal;
|
||||
UPDATE mld_opdr SET mld_opdr_kosten = v_opdr_kosten, mld_opdr_materiaal = v_opdr_kosten WHERE mld_opdr_key = v_opdr_key;
|
||||
VBXX.set_verkoopprijs (v_opdr_key);
|
||||
END IF;
|
||||
|
||||
END LOOP;
|
||||
|
||||
-- afmelden oude meldingen
|
||||
FOR rec_mld IN c_mld (v_stdmelding_key)
|
||||
LOOP
|
||||
v_errormsg := 'Afmelden oude melding ' || rec_mld.mld_melding_key;
|
||||
mld.setmeldingstatus (rec_mld.mld_melding_key, 5, NULL);
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errorhint := v_errormsg;
|
||||
v_errormsg := 'Fout bij aanmaken gladheid RB opdracht' || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE yask_daily
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
Reference in New Issue
Block a user