BLCC#32725 BLCC4/FIN-koppelingen

svn path=/Customer/trunk/; revision=26529
This commit is contained in:
Maarten van der Heide
2015-09-30 15:54:21 +00:00
parent 6de688f442
commit c1465ffdc2

View File

@@ -172,38 +172,40 @@ AS
-- Markeren te exporteren opdracht-verplichtingen (via ordernr)!
CURSOR c1
IS
SELECT '['
|| TO_CHAR (o.mld_melding_key)
|| '|'
|| TO_CHAR (o.mld_opdr_key)
|| '] '
aanduiding,
o.mld_opdr_key
FROM mld_opdr o, fac_tracking t
WHERE o.mld_opdr_ordernr IS NULL -- Geen ordernr, dus bijwerken!
AND o.mld_statusopdr_key = 9 -- Afgerond
--AND o.mld_opdr_kosten > 0 -- Allemaal, ook als kosten=0
AND o.mld_typeopdr_key != 103; -- Geen RFQs
SELECT '['
|| TO_CHAR (o.mld_melding_key)
|| '|'
|| TO_CHAR (o.mld_opdr_key)
|| '] '
aanduiding,
o.mld_opdr_key
FROM mld_opdr o
WHERE o.mld_opdr_ordernr IS NULL -- Geen ordernr, dus bijwerken!
AND o.mld_statusopdr_key = 9 -- Afgerond
--AND o.mld_opdr_kosten > 0 -- Allemaal, ook als kosten=0
AND o.mld_typeopdr_key != 103 -- Geen RFQs
ORDER BY 1;
-- Markeren te exporteren catering-verplichtingen (via RESAFM/RESVER)!
-- LET OP: Maandelijks in de nacht na de 2e werkdag van de maand.
CURSOR c2
IS
SELECT '['
|| TO_CHAR (res_rsv_ruimte_key)
|| '|'
|| TO_CHAR (res_rsv_artikel_key)
|| '] '
aanduiding,
res_rsv_ruimte_key,
res_rsv_artikel_key,
res_status_bo_key,
res_artikel_key
FROM res_v_aanwezigrsv_artikel
WHERE TO_CHAR (SYSDATE, 'dd') = '05' -- Maandelijks op de 5e!
AND res_status_bo_key != 6 -- Niet Verwerkt, dus verwerken!
AND res_rsv_artikel_dirtlevel = 0
AND res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') -- Voor 1e!
AND res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd');
SELECT '['
|| TO_CHAR (res_rsv_ruimte_key)
|| '|'
|| TO_CHAR (res_rsv_artikel_key)
|| '] '
aanduiding,
res_rsv_ruimte_key,
res_rsv_artikel_key,
res_status_bo_key,
res_artikel_key
FROM res_v_aanwezigrsv_artikel
WHERE res_status_bo_key != 6 -- Niet Verwerkt, dus verwerken!
AND res_rsv_artikel_dirtlevel = 0
AND res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') -- Voor 1e
AND res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
ORDER BY 1;
-- Wegschrijven te exporteren verplichting-regels (= factuur naar ProQuro).
CURSOR c3
@@ -228,15 +230,13 @@ AS
|| ')'
omschrijving,
o.mld_opdr_kosten price,
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'dd-mm-yyyy')
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'yyyy-mm-dd')
deliverydate,
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
costtype -- CostTypeExternalId
FROM mld_opdr o,
fac_tracking t,
mld_melding M,
--prs_v_perslid_fullnames_all pf,
--alg_v_allonrgoed_gegevens og,
--fac_tracking t,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
@@ -245,7 +245,7 @@ AS
prs_kostenplaats kp,
prs_bedrijf b,
prs_perslid p
WHERE o.mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd')
WHERE SUBSTR (o.mld_opdr_ordernr, 1, 10) = TO_CHAR (SYSDATE, 'yyyy-mm-dd')
--AND o.mld_statusopdr_key = 9 -- Afgerond
--AND o.mld_opdr_key = t.fac_tracking_refkey
--AND t.fac_srtnotificatie_key = 70 -- ORDAFR
@@ -253,8 +253,6 @@ AS
AND o.mld_opdr_kosten > 0
AND o.mld_typeopdr_key != 103 -- Geen RFQs
AND o.mld_melding_key = m.mld_melding_key
--AND m.prs_perslid_key = pf.prs_perslid_key
--AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
@@ -266,40 +264,40 @@ AS
UNION ALL -- Somregel alle Verwerkte res_rsv_artikel zojuist gemarkeerd!
SELECT 'BPV1/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyymm'),
p.prs_perslid_nr, -- AdministrationExternalId
'50800' costcentre, -- CostcentreExternalId/TODO: Correct???
'50800' costcentre, -- CostcentreExternalId
b.prs_leverancier_nr,
'Cateringkosten ' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm')
omschrijving, -- TODO: Correct???
omschrijving,
SUM (rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal)
price,
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'dd-mm-yyyy') deliverydate, -- TODO: Laatste dag voorgaande maand???
'4181' costtype -- CostTypeExternalId/TODO: Correct???
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm-dd')
deliverydate, -- Laatste dag voorgaande maand
'4181' costtype -- CostTypeExternalId
FROM res_v_aanwezigrsv_artikel rra, prs_bedrijf b, prs_perslid p
WHERE TO_CHAR (SYSDATE, 'dd') = '05' -- Maandelijks op de 5e!
AND rra.res_status_bo_key = 6
AND TRUNC (rra.res_rsv_artikel_verwerkt) = TRUNC (SYSDATE)
WHERE TRUNC (rra.res_rsv_artikel_verwerkt) = TRUNC (SYSDATE)
--AND rra.res_status_bo_key = 6
--AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') -- Voor 1e
--AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
AND b.prs_bedrijf_key = 153 -- Sodexo
AND p.prs_perslid_key(+) = 101 -- Pseudo-user
GROUP BY 'BCC-C1/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'mm'),
GROUP BY 'BPV1/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyymm'),
p.prs_perslid_nr,
'50800',
b.prs_leverancier_nr,
'Cateringkosten ' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'),
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'dd-mm-yyyy'),
'4181';
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm-dd'),
'4181'
ORDER BY 1;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_holiday NUMBER;
v_prijs NUMBER (9, 2);
v_bestand VARCHAR2 (12);
v_order_count NUMBER;
v_amount_sum NUMBER (10, 2);
v_bestand VARCHAR2 (12);
BEGIN
v_order_count := 0;
v_amount_sum := 0;
v_bestand := SUBSTR (p_applname, 1, 12);
-- Eerst opruiming
@@ -315,7 +313,7 @@ BEGIN
v_errormsg := 'Fout bijwerken mld_opdr';
UPDATE mld_opdr
SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd')
SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss')
WHERE mld_opdr_key = rec.mld_opdr_key;
EXCEPTION
WHEN OTHERS
@@ -339,80 +337,108 @@ BEGIN
COMMIT;
FOR rec IN c2
LOOP
BEGIN
IF rec.res_status_bo_key = 2
THEN
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
SELECT COUNT ( * )
INTO v_holiday
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
-- LET OP: ProQuro-export draait dagelijks na middernacht (begin van dag) en
-- voor de catering-verplichtingen is afgesproken dat deze maandelijks in de
-- nacht na de 2e werkdag van de maand worden verwerkt.
-- IF nacht na 2e werkdag van de maand (<28>n geen weekend <20>n geen vrije dag)!
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1 = d2,
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 2
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
AND v_holiday = 0
THEN
FOR rec IN c2
LOOP
BEGIN
IF rec.res_status_bo_key = 2
THEN
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
v_errormsg := 'Fout afmelden res_rsv_artikel';
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
v_errormsg := 'Fout afmelden res_rsv_artikel';
UPDATE res_rsv_artikel
SET res_status_bo_key = 5,
res_rsv_artikel_prijs = v_prijs,
res_rsv_artikel_inkoopprijs =
(SELECT res_artikel_inkoopprijs
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key),
res_rsv_artikel_btw =
(SELECT res_artikel_btw
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key)
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
v_errormsg := 'Fout tracken afmelding';
fac.trackaction ('RESAFM',
rec.res_rsv_ruimte_key,
NULL,
NULL,
'Catering afgemeld');
END IF;
v_errormsg := 'Fout verwerken res_rsv_artikel';
UPDATE res_rsv_artikel
SET res_status_bo_key = 5,
res_rsv_artikel_prijs = v_prijs,
res_rsv_artikel_inkoopprijs =
(SELECT res_artikel_inkoopprijs
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key),
res_rsv_artikel_btw =
(SELECT res_artikel_btw
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key)
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
v_errormsg := 'Fout tracken afmelding';
v_errormsg := 'Fout tracken verwerking';
fac.trackaction ('RESAFM',
fac.trackaction ('RESVER',
rec.res_rsv_ruimte_key,
NULL,
NULL,
'Catering afgemeld');
END IF;
'Catering verwerkt');
v_errormsg := 'Fout verwerken res_rsv_artikel';
UPDATE res_rsv_artikel
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
v_errormsg := 'Fout tracken verwerking';
fac.trackaction ('RESVER',
rec.res_rsv_ruimte_key,
NULL,
NULL,
'Catering verwerkt');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'W',
rec.aanduiding || v_errormsg,
'Catering-verplichtingen');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'W',
rec.aanduiding || v_errormsg,
'Catering-verplichtingen');
COMMIT;
END;
END LOOP;
END IF;
v_order_count := 0;
v_amount_sum := 0;
FOR rec IN c3
LOOP
BEGIN
v_order_count := v_order_count + 1;
v_amount_sum := v_amount_sum + rec.price;
END;
END LOOP;
--blcc_add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>'); -- ???
blcc_add_xml_row (v_bestand, '<Orders>');
FOR rec IN c3
LOOP
IF v_order_count > 0
THEN
--blcc_add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>'); -- ???
blcc_add_xml_row (v_bestand, '<Orders>');
FOR rec IN c3
LOOP
BEGIN
--blcc_add_xml_row (v_bestand, '<AddOrder>');
blcc_add_xml_row (v_bestand, '<Order>');
@@ -443,12 +469,10 @@ BEGIN
--blcc_add_xml_row (v_bestand, '</parms>');
--blcc_add_xml_row (v_bestand, '</AddOrder>');
blcc_add_xml_row (v_bestand, '</Order>');
v_order_count := v_order_count + 1;
v_amount_sum := v_amount_sum + rec.price;
END;
END LOOP;
blcc_add_xml_row (v_bestand, '</Orders>');
END LOOP;
blcc_add_xml_row (v_bestand, '</Orders>');
END IF;
fac.writelog (
p_applname,
@@ -517,7 +541,7 @@ AS
o.mld_opdr_kosten,
NULL,
'VH',
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms),
COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode),
NULL,
NULL,
NULL
@@ -576,7 +600,7 @@ AS
SUM (verw_prijs),
NULL,
'VH',
prs_kostensoort_oms,
prs_kostensoort_refcode,
NULL,
NULL,
NULL
@@ -590,7 +614,7 @@ AS
FROM prs_afdeling
WHERE prs_afdeling_key = kl.prs_link_key)
debiteur_oms,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_refcode,
res_rsv_artikel_key res_item_key,
LTRIM (ra.res_artikel_omschrijving)
|| ' ('
@@ -618,8 +642,9 @@ AS
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
--AND rra.res_status_bo_key = 5 Sommige wel, sommige niet!
AND (rra.res_rsv_artikel_verwerkt IS NULL
OR rra.res_rsv_artikel_verwerkt > SYSDATE - 5) -- Op 5e Verwerkt en pas op 10e naar Twinfield!
--AND (rra.res_rsv_artikel_verwerkt IS NULL
-- OR rra.res_rsv_artikel_verwerkt > SYSDATE - 5) -- Op 5e Verwerkt en pas op 10e naar Twinfield!
AND rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = rd.ins_discipline_key
--AND ks.prs_kostensoort_doorbelasten(+) = 1
@@ -636,7 +661,7 @@ AS
FROM prs_afdeling
WHERE prs_afdeling_key = kl.prs_link_key)
debiteur_oms,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_refcode,
res_rsv_artikel_key res_item_key,
LTRIM (ra.res_artikel_omschrijving)
|| ' ('
@@ -664,8 +689,9 @@ AS
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
--AND rra.res_status_bo_key = 5 Sommige wel, sommige niet!
AND (rra.res_rsv_artikel_verwerkt IS NULL
OR rra.res_rsv_artikel_verwerkt > SYSDATE - 5) -- Op 5e Verwerkt en pas op 10e naar Twinfield!
--AND (rra.res_rsv_artikel_verwerkt IS NULL
-- OR rra.res_rsv_artikel_verwerkt > SYSDATE - 5) -- Op 5e Verwerkt en pas op 10e naar Twinfield!
AND rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = rd.ins_discipline_key
--AND ks.prs_kostensoort_doorbelasten(+) = 1
@@ -674,7 +700,7 @@ AS
GROUP BY TO_CHAR (reslev, 'yyyy-mm'),
debiteur_oms,
debiteur,
prs_kostensoort_oms;
prs_kostensoort_refcode;
/* Formatted on 17-9-2015 10:40:20 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW blcc_v_rap_tf_frozen
@@ -733,7 +759,7 @@ AS
o.mld_opdr_kosten,
NULL,
'VH',
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms),
COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode),
NULL,
NULL,
NULL
@@ -792,7 +818,7 @@ AS
SUM (verw_prijs),
NULL,
'VH',
prs_kostensoort_oms,
prs_kostensoort_refcode,
NULL,
NULL,
NULL
@@ -806,7 +832,7 @@ AS
FROM prs_afdeling
WHERE prs_afdeling_key = kl.prs_link_key)
debiteur_oms,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_refcode,
--TRUNC (rra.res_rsv_artikel_levering) lev_datum,
--ra.res_discipline_key res_ins_discipline_key,
res_rsv_artikel_key res_item_key,
@@ -836,7 +862,8 @@ AS
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_status_bo_key = 6 -- AV
AND rra.res_rsv_artikel_verwerkt < SYSDATE - 5 -- Op 5e Verwerkt en pas op 10e naar Twinfield!
--AND rra.res_rsv_artikel_verwerkt < SYSDATE - 5 -- Op 5e Verwerkt en pas op 10e naar Twinfield!
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = rd.ins_discipline_key
--AND ks.prs_kostensoort_doorbelasten(+) = 1
@@ -852,7 +879,7 @@ AS
FROM prs_afdeling
WHERE prs_afdeling_key = kl.prs_link_key)
debiteur_oms,
ks.prs_kostensoort_oms,
ks.prs_kostensoort_refcode,
--TRUNC (rra.res_rsv_artikel_levering) lev_datum,
--ra.res_discipline_key res_ins_discipline_key,
res_rsv_artikel_key res_item_key,
@@ -882,7 +909,8 @@ AS
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_status_bo_key = 6 -- AV
AND rra.res_rsv_artikel_verwerkt < SYSDATE - 5 -- Op 5e Verwerkt en pas op 10e naar Twinfield!
--AND rra.res_rsv_artikel_verwerkt < SYSDATE - 5 -- Op 5e Verwerkt en pas op 10e naar Twinfield!
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = rd.ins_discipline_key
--AND ks.prs_kostensoort_doorbelasten(+) = 1
@@ -891,15 +919,15 @@ AS
debiteur_oms,
debiteur,
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
prs_kostensoort_oms;
prs_kostensoort_refcode;
/* Formatted on 17-9-2015 17:24:42 (QP5 v5.136.908.31019) */
/* Formatted on 30-9-2015 10:15:45 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW blcc_v_export_twinfield
(
result,
result_order
)
AS
AS -- View bevat alleen inhoud op de dag na de 2e werkdag van de maand!
SELECT 'factuurtype'
|| ';debiteur'
|| ';nummer'
@@ -921,6 +949,12 @@ AS
|| ';vrij_tekstveld_3',
0
FROM DUAL
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 2
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
AND NOT EXISTS
(SELECT 1
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
UNION ALL
SELECT factuurtype
|| ';'
@@ -983,8 +1017,15 @@ AS
WHERE fclt_x_maand = TO_CHAR (SYSDATE, 'yyyy-mm')
ORDER BY debiteur,
fclt_x_maand || '-' || SUBSTR (factuurdatum, 1, 2),
grootboek);
grootboek)
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 2
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
AND NOT EXISTS
(SELECT 1
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1));
/* Formatted on 30-9-2015 10:20:30 (QP5 v5.136.908.31019) */
CREATE OR REPLACE PROCEDURE blcc_select_twinfield (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
@@ -1023,6 +1064,7 @@ AS
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_holiday NUMBER;
v_order_count NUMBER;
v_amount_sum NUMBER (10, 2);
BEGIN
@@ -1033,68 +1075,84 @@ BEGIN
DELETE FROM imp_log
WHERE imp_log_applicatie = p_applname;
FOR rec IN c1
LOOP
BEGIN
v_errormsg := 'Fout verwerken mld_opdr';
SELECT COUNT ( * )
INTO v_holiday
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, NULL);
-- LET OP: Twinfield-export draait dagelijks na middernacht (begin van dag)
-- en de verkoop wordt maandelijks alleen in de nacht na de 2e werkdag van de
-- maand doorgezet.
-- IF nacht na 2e werkdag van de maand (<28>n geen weekend <20>n geen vrije dag)!
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1 = d2,
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 2
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
AND v_holiday = 0
THEN
FOR rec IN c1
LOOP
BEGIN
v_errormsg := 'Fout verwerken mld_opdr';
v_order_count := v_order_count + 1;
v_amount_sum := v_amount_sum + rec.mld_opdr_kosten;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'W',
rec.aanduiding || v_errormsg,
'Opdracht-verkoop');
COMMIT;
END;
END LOOP;
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, NULL);
COMMIT;
v_order_count := v_order_count + 1;
v_amount_sum := v_amount_sum + rec.mld_opdr_kosten;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'W',
rec.aanduiding || v_errormsg,
'Opdracht-verkoop');
COMMIT;
END;
END LOOP;
FOR rec IN c2
LOOP
BEGIN
v_errormsg := 'Fout meetellen res_rsv_artikel';
COMMIT;
v_order_count := v_order_count + 1;
v_amount_sum := v_amount_sum + rec.artikelprijs_excl;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'W',
rec.aanduiding || v_errormsg,
'Catering-verkoop');
COMMIT;
END;
END LOOP;
FOR rec IN c2
LOOP
BEGIN
v_errormsg := 'Fout meetellen res_rsv_artikel';
fac.writelog (p_applname,
'S',
'Twinfield export/#regels: ' || TO_CHAR (v_order_count),
TO_CHAR (v_amount_sum));
v_order_count := v_order_count + 1;
v_amount_sum := v_amount_sum + rec.artikelprijs_excl;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'W',
rec.aanduiding || v_errormsg,
'Catering-verkoop');
COMMIT;
END;
END LOOP;
fac.writelog (p_applname,
'S',
'Twinfield export/#regels: ' || TO_CHAR (v_order_count),
TO_CHAR (v_amount_sum));
END IF;
END;
/