YAXX#83574 -- Opzetten generiek purchase to pay project voor Vebego FS
svn path=/Customer/trunk/; revision=66311
This commit is contained in:
491
VBXX/vbxx.sql
491
VBXX/vbxx.sql
@@ -30,6 +30,9 @@ AS
|
||||
|
||||
PROCEDURE set_opslag_perc (p_opdr_key IN NUMBER);
|
||||
|
||||
FUNCTION get_opslag_perc (p_opdr_key IN NUMBER)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION bepaal_srtopslag (p_opdr_key IN NUMBER)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
@@ -253,6 +256,26 @@ AS
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION get_opslag_perc (p_opdr_key IN NUMBER)
|
||||
RETURN NUMBER
|
||||
AS
|
||||
|
||||
v_opslag_kenmerk_key NUMBER;
|
||||
v_opslag NUMBER(5,2);
|
||||
|
||||
BEGIN
|
||||
SELECT mld_kenmerk_key
|
||||
INTO v_opslag_kenmerk_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk, mld_opdr o
|
||||
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'OPSLAGPERC'
|
||||
AND k.mld_typeopdr_key = o.mld_typeopdr_key
|
||||
AND o.mld_opdr_key = p_opdr_key;
|
||||
|
||||
v_opslag := COALESCE(flx.getflex ('OPD', v_opslag_kenmerk_key, p_opdr_key),0);
|
||||
RETURN v_opslag;
|
||||
END;
|
||||
|
||||
-- Gaan we deze nog gebruiken?
|
||||
FUNCTION bepaal_srtopslag (p_opdr_key IN NUMBER)
|
||||
RETURN VARCHAR2
|
||||
@@ -350,7 +373,7 @@ AS
|
||||
AND k.mld_typeopdr_key = o.mld_typeopdr_key
|
||||
AND o.mld_opdr_key = p_opdr_key;
|
||||
|
||||
-- Bepaal de key van het kenmerk opslagpercentage
|
||||
-- Bepaal de key van het kenmerk verkoopprijs
|
||||
SELECT mld_kenmerk_key
|
||||
INTO v_verkoop_kenmerk_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk, mld_opdr o
|
||||
@@ -597,7 +620,7 @@ END;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW VBXX_V_RAP_TECHNADRES
|
||||
CREATE OR REPLACE VIEW vbxx_v_rap_technadres
|
||||
AS
|
||||
SELECT b.prs_bedrijf_key bedrijf_key,
|
||||
b.prs_bedrijf_naam bedrijf_naam,
|
||||
@@ -2398,9 +2421,9 @@ AS
|
||||
AND v.extra_key = cp.prs_bedrijf_key
|
||||
AND cp.prs_perslid_key IS NOT NULL -- Account in Facilitor!
|
||||
;
|
||||
|
||||
*/
|
||||
-- Geexporteerde/bevroren variabele opdrachtkosten over voorgaande maanden (details).
|
||||
CREATE OR REPLACE VIEW kfsg_v_rap_frozen_fact_mld
|
||||
CREATE OR REPLACE VIEW vbxx_v_rap_frozen_fact_mld
|
||||
(
|
||||
fclt_3d_afdeling_key, -- Kunnen beperken per leverancier!
|
||||
maand,
|
||||
@@ -2456,7 +2479,7 @@ AS
|
||||
v.inkoopordernr,
|
||||
d.alg_district_omschrijving,
|
||||
v.bps
|
||||
FROM kfsg_v_frozen_fact v,
|
||||
FROM vbxx_v_frozen_fact v,
|
||||
mld_opdr o,
|
||||
mld_statusopdr os,
|
||||
mld_typeopdr ot,
|
||||
@@ -2480,6 +2503,8 @@ AS
|
||||
AND l.alg_district_key = d.alg_district_key(+)
|
||||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+);
|
||||
|
||||
/*
|
||||
|
||||
-- KFSG#65747: Rapportage tbv. leverancier-contactpersonen!
|
||||
CREATE OR REPLACE VIEW kfsg_v_rap_frozen_mld_lev
|
||||
(
|
||||
@@ -3560,7 +3585,7 @@ AS
|
||||
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
||||
AND fg.fin_factuur_statuses_key = 6
|
||||
AND f.dagboek = p_dagboek
|
||||
AND f.alg_district_key = p_district_key;
|
||||
AND (f.alg_district_key = p_district_key OR p_district_key = -1);
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
@@ -3585,7 +3610,7 @@ BEGIN
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE fin_factuur f
|
||||
SET fin_factuur_statuses_key = 9 -- afgerond
|
||||
SET fin_factuur_statuses_key = 7
|
||||
WHERE f.fin_factuur_key = rec1.fin_factuur_key;
|
||||
|
||||
fac.trackaction ('FINVER', rec1.fin_factuur_key, v_aanvrager, NULL, NULL);
|
||||
@@ -3607,6 +3632,449 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
--
|
||||
-- Verkoopfacturen
|
||||
--
|
||||
CREATE OR REPLACE VIEW vbxx_v_kosten_doorbelasting
|
||||
AS
|
||||
SELECT sd.ins_srtdiscipline_prefix || m.mld_melding_key
|
||||
meldingnummer,
|
||||
m.mld_melding_key,
|
||||
l.alg_locatie_omschrijving
|
||||
meldinglocatie,
|
||||
di.alg_district_omschrijving
|
||||
district,
|
||||
pf.prs_perslid_naam_full
|
||||
melder,
|
||||
sd.ins_srtdiscipline_omschrijving
|
||||
vakgroeptype,
|
||||
d.ins_discipline_omschrijving
|
||||
vakgroep,
|
||||
std.mld_stdmelding_omschrijving
|
||||
standaardmelding,
|
||||
ksm.prs_kostensoort_oms
|
||||
melding_nen_omschrijving,
|
||||
ksm.prs_kostensoort_refcode
|
||||
melding_nen_code,
|
||||
CASE
|
||||
WHEN m.mld_melding_status = 5 AND m.mld_melding_afgerond = 1
|
||||
THEN
|
||||
'Afgerond'
|
||||
ELSE
|
||||
ms.mld_statuses_omschrijving
|
||||
END
|
||||
meldingstatus,
|
||||
m.mld_melding_datum
|
||||
meldingdatum,
|
||||
MLD.getmeldingstatusdate (m.mld_melding_key, 5)
|
||||
afgemeld,
|
||||
m.mld_melding_onderwerp
|
||||
onderwerp,
|
||||
m.mld_melding_omschrijving
|
||||
vomschrijving,
|
||||
sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||||
opdrachtnummer,
|
||||
ot.mld_typeopdr_omschrijving
|
||||
opdrachttype,
|
||||
ot.mld_typeopdr_key
|
||||
opdrachttype_key,
|
||||
tf.fac_usrdata_omschr
|
||||
type_factuur,
|
||||
o.mld_statusopdr_key,
|
||||
so.mld_statusopdr_omschrijving
|
||||
opdrachtstatus,
|
||||
o.mld_opdr_omschrijving
|
||||
opdrachtomschrijving,
|
||||
COALESCE (kso.prs_kostensoort_oms, ksm.prs_kostensoort_oms)
|
||||
opdracht_nen_omschrijving,
|
||||
b.prs_bedrijf_naam
|
||||
opdrachtuitvoerende,
|
||||
o.mld_opdr_kosten
|
||||
opdrachtkosten,
|
||||
ok.bedrag
|
||||
factuurbedrag,
|
||||
VBXX.get_opslag_perc (o.mld_opdr_key)
|
||||
opslag,
|
||||
DECODE (nb.mld_kenmerkopdr_waarde, 1, 0, ok.bedrag * ((100 + VBXX.get_opslag_perc (o.mld_opdr_key)) / 100))
|
||||
kostenplusopslag,
|
||||
TO_CHAR (ADD_MONTHS (SYSDATE,
|
||||
COALESCE ((SELECT FAC.safe_to_number (alg_onrgoedkenmerk_waarde)
|
||||
FROM alg_onrgoedkenmerk aogk
|
||||
WHERE alg_kenmerk_key = 1060 AND alg_onrgoed_key = l.alg_district_key),
|
||||
0)),
|
||||
'yyyymm')
|
||||
boekmaand,
|
||||
aog.alg_gebouw_naam
|
||||
meldinggebouw,
|
||||
DECODE (
|
||||
(SELECT mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko, mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||||
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'FINAKKOORD'),
|
||||
1, 'Ja',
|
||||
'Nee')
|
||||
pro_forma_goedgekeurd,
|
||||
DECODE (nb.mld_kenmerkopdr_waarde, 1, 'Ja', 'Nee')
|
||||
nietdoorbelasten,
|
||||
o.mld_opdr_key,
|
||||
l.alg_district_key,
|
||||
kso.prs_kostensoort_oms
|
||||
afw_opdracht_nen_omschrijving,
|
||||
kso.prs_kostensoort_refcode
|
||||
afw_opdracht_nen_code
|
||||
FROM prs_v_perslid_fullnames_all pf,
|
||||
prs_kostensoort ksm,
|
||||
mld_statuses ms,
|
||||
mld_opdr o,
|
||||
mld_typeopdr ot,
|
||||
mld_statusopdr so,
|
||||
prs_bedrijf b,
|
||||
alg_locatie l,
|
||||
alg_district di,
|
||||
prs_kostensoort kso,
|
||||
mld_melding m,
|
||||
mld_stdmelding std,
|
||||
ins_tab_discipline d,
|
||||
ins_srtdiscipline sd,
|
||||
alg_v_allonrgoed_gegevens aog,
|
||||
(SELECT fac_usrdata_code, fac_usrdata_omschr, mld_opdr_key
|
||||
FROM mld_kenmerkopdr ko,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_usrdata ud
|
||||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'TYPEFACTUUR'
|
||||
AND FAC.safe_to_number (ko.mld_kenmerkopdr_waarde) = fac_usrdata_key) tf,
|
||||
( SELECT f.mld_opdr_key, SUM (fin_factuur_totaal) bedrag
|
||||
FROM fin_factuur f
|
||||
WHERE f.fin_factuur_statuses_key = 7
|
||||
GROUP BY f.mld_opdr_key
|
||||
UNION ALL
|
||||
SELECT ko.mld_opdr_key, mld_opdr_kosten bedrag
|
||||
FROM mld_kenmerkopdr ko,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
mld_opdr o
|
||||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||||
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'TS_REVERSEDBILLING') ok,
|
||||
(SELECT mld_opdr_key, mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko, mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'NIETDOORBELASTEN') nb
|
||||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND std.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||||
AND m.mld_melding_status = ms.mld_statuses_key
|
||||
AND m.mld_melding_key = o.mld_melding_key
|
||||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = di.alg_district_key
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND o.mld_statusopdr_key = so.mld_statusopdr_key
|
||||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
||||
AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+)
|
||||
AND o.mld_opdr_key = tf.mld_opdr_key
|
||||
AND tf.fac_usrdata_code <> 'A'
|
||||
AND o.mld_opdr_key = ok.mld_opdr_key
|
||||
AND o.mld_opdr_key = nb.mld_opdr_key(+);
|
||||
|
||||
CREATE OR REPLACE VIEW vbxx_v_kosten_doorb_frozen
|
||||
AS
|
||||
SELECT fin_verkoopfactuur_omschr meldingnummer,
|
||||
fin_verkoopfactuur_n4 mld_melding_key,
|
||||
l.alg_locatie_omschrijving meldinglocatie,
|
||||
di.alg_district_omschrijving district,
|
||||
pf.prs_perslid_naam_full melder,
|
||||
fin_verkoopfactuur_c3 soortmelding,
|
||||
fin_verkoopfactuur_c4 productgroep,
|
||||
fin_verkoopfactuur_c5 subproductgroep,
|
||||
fin_verkoopfactuur_c1 melding_nen_omschrijving,
|
||||
fin_verkoopfactuur_c2 melding_nen_code,
|
||||
ms.mld_statuses_omschrijving meldingstatus,
|
||||
'Gefactureerd' facturatiestatus,
|
||||
m.mld_melding_datum meldingdatum,
|
||||
MLD.getmeldingstatusdate (m.mld_melding_key, 5) afgemeld,
|
||||
m.mld_melding_onderwerp onderwerp,
|
||||
m.mld_melding_omschrijving vomschrijving,
|
||||
fin_verkoopfactuur_id opdrachtnummer,
|
||||
ot.mld_typeopdr_omschrijving opdrachttype,
|
||||
so.mld_statusopdr_omschrijving opdrachtstatus,
|
||||
o.mld_opdr_omschrijving opdrachtomschrijving,
|
||||
COALESCE(vf.prs_kostensoort_oms, fin_verkoopfactuur_c1) opdracht_nen_omschrijving,
|
||||
b.prs_bedrijf_naam opdrachtuitvoerende,
|
||||
fin_verkoopfactuur_bedrag opdrachtkosten,
|
||||
fin_verkoopfactuur_c6 soortopslag,
|
||||
fin_verkoopfactuur_n2 opslag,
|
||||
fin_verkoopfactuur_n3 kostenplusopslag,
|
||||
fin_verkoopfactuur_n1 geenopslag,
|
||||
fin_verkoopfactuur_maand boekmaand,
|
||||
mld_opdr_key,
|
||||
kso.prs_kostensoort_oms afw_opdracht_nen_omschrijving,
|
||||
kso.prs_kostensoort_refcode afw_opdracht_nen_code
|
||||
FROM fin_verkoopfactuur vf,
|
||||
prs_v_perslid_fullnames_all pf,
|
||||
mld_statuses ms,
|
||||
mld_opdr o,
|
||||
mld_typeopdr ot,
|
||||
mld_statusopdr so,
|
||||
prs_bedrijf b,
|
||||
alg_locatie l,
|
||||
alg_district di,
|
||||
mld_melding m,
|
||||
prs_kostensoort kso
|
||||
WHERE m.mld_melding_status = ms.mld_statuses_key
|
||||
AND m.mld_melding_key = vf.fin_verkoopfactuur_n4
|
||||
AND o.mld_opdr_key = vf.fin_verkoopfactuur_refkey
|
||||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = di.alg_district_key
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND o.mld_statusopdr_key = so.mld_statusopdr_key
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
||||
AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+)
|
||||
|
||||
--
|
||||
-- PRO_FORMA facturen
|
||||
--
|
||||
|
||||
CREATE OR REPLACE VIEW vbxx_v_export_pro_forma (
|
||||
result,
|
||||
result_order,
|
||||
alg_district_key
|
||||
)
|
||||
AS
|
||||
SELECT 'meldingnummer;' ||
|
||||
'meldinglocatie;' ||
|
||||
'melder;' ||
|
||||
'vakgroeptype;' ||
|
||||
'vaktgroep;' ||
|
||||
'standaardmelding;' ||
|
||||
'melding_nen_omschrijving;' ||
|
||||
'melding_nen_code;' ||
|
||||
'meldingstatus;' ||
|
||||
'facturatiestatus;' ||
|
||||
'meldingdatum;' ||
|
||||
'afgemeld;' ||
|
||||
'onderwerp;' ||
|
||||
'vomschrijving;' ||
|
||||
'opdrachtnummer;' ||
|
||||
'opdrachttype;' ||
|
||||
'opdrachtstatus;' ||
|
||||
'opdrachtomschrijving;' ||
|
||||
'opdracht_nen_omschrijving;' ||
|
||||
'opdrachtuitvoerende;' ||
|
||||
'opdrachtkosten;' ||
|
||||
'soortopslag;' ||
|
||||
'opslag;' ||
|
||||
'kostenplusopslag;' ||
|
||||
'boekmaand;' ||
|
||||
'pro_forma_goedgekeurd;' ||
|
||||
'niet_doorbelasten;' ||
|
||||
'meldinggebouw;', -1, alg_district_key
|
||||
FROM alg_district
|
||||
UNION ALL
|
||||
SELECT meldingnummer || ';' ||
|
||||
meldinglocatie || ';' ||
|
||||
melder || ';' ||
|
||||
soortmelding || ';' ||
|
||||
productgroep || ';' ||
|
||||
subproductgroep || ';' ||
|
||||
melding_nen_omschrijving || ';' ||
|
||||
melding_nen_code || ';' ||
|
||||
meldingstatus || ';' ||
|
||||
facturatiestatus || ';' ||
|
||||
TO_CHAR(meldingdatum, 'DD-MM-YYYY') || ';' ||
|
||||
TO_CHAR(afgemeld, 'DD-MM-YYYY') || ';' ||
|
||||
'"' || REPLACE(onderwerp, '"') || '"' || ';' ||
|
||||
'"' || TO_CHAR(SUBSTR(REPLACE(vomschrijving, '"'),1,300)) || '"' || ';' ||
|
||||
opdrachtnummer || ';' ||
|
||||
opdrachttype || ';' ||
|
||||
opdrachtstatus || ';' ||
|
||||
'"' || SUBSTR(REPLACE(opdrachtomschrijving, '"'),1,300) || '"' || ';' ||
|
||||
opdracht_nen_omschrijving || ';' ||
|
||||
opdrachtuitvoerende || ';' ||
|
||||
REPLACE(opdrachtkosten, '.', ',') || ';' ||
|
||||
soortopslag || ';' ||
|
||||
opslag || ';' ||
|
||||
REPLACE(kostenplusopslag, '.', ',') || ';' ||
|
||||
boekmaand || ';' ||
|
||||
pro_forma_goedgekeurd || ';' ||
|
||||
nietdoorbelasten || ';' ||
|
||||
meldinggebouw,
|
||||
mld_melding_key,
|
||||
alg_district_key
|
||||
FROM vbxx_v_kosten_doorbelasting
|
||||
WHERE o.mld_statusopdr_key = 9;
|
||||
|
||||
-- Procedure om pro-forma factuur klaar te zetten.
|
||||
CREATE OR REPLACE PROCEDURE vbxx_select_pro_forma (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_district_key IN NUMBER
|
||||
)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT mld_opdr_key, opdrachttype_key
|
||||
FROM vbxx_v_kosten_doorbelasting
|
||||
WHERE mld_statusopdr_key = 9
|
||||
AND (alg_district_key = p_district_key OR p_district_key = -1);
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_boekmaand VARCHAR2 (10);
|
||||
v_gvf_kenmerk_key NUMBER (10);
|
||||
|
||||
BEGIN
|
||||
|
||||
-- Eerst opruiming
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
SELECT TO_CHAR (
|
||||
ADD_MONTHS (
|
||||
SYSDATE,
|
||||
COALESCE (
|
||||
(SELECT FAC.safe_to_number (alg_onrgoedkenmerk_waarde)
|
||||
FROM alg_onrgoedkenmerk aogk
|
||||
WHERE alg_kenmerk_key = 1060 -- boekmaand offset CHECK!!!!
|
||||
AND alg_onrgoed_key = d.alg_district_key),
|
||||
0)),
|
||||
'yyyymm')
|
||||
INTO v_boekmaand
|
||||
FROM alg_district d
|
||||
WHERE alg_district_key = p_district_key;
|
||||
|
||||
-- CHECK!!!!!!! ALG.upsertkenmerk (1200, p_district_key ,to_char(SYSDATE, 'dd-mm-yyyy hh24:mi:ss')); -- Readonly datum pro forma
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
SELECT mld_kenmerk_key
|
||||
INTO v_gvf_kenmerk_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
AND sk.mld_srtkenmerk_code = 'FINAKKOORD'
|
||||
AND k.mld_typeopdr_key = rec.opdrachttype_key;
|
||||
|
||||
-- zet de opdracht op 'Gereed voor facturatie'
|
||||
FLX.setflex('OPD', rec.mld_opdr_key, v_gvf_kenmerk_key, 1); -- Facturatiestatus naar 'Gereed voor facturatie'
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg := 'Fout bij aanmaken pro forma factuur' || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.writelog (p_applname, 'E', rec.mld_opdr_key || v_errormsg, '');
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vbxx_select_pro_forma_verwerk (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_district_key IN NUMBER
|
||||
)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM vbxx_v_kosten_doorbelasting
|
||||
WHERE mld_statusopdr_key = 9 -- Afgerond
|
||||
AND pro_forma_goedgekeurd = 'Ja'
|
||||
AND (alg_district_key = p_district_key OR p_district_key = -1);
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_boekmaand VARCHAR2 (10);
|
||||
|
||||
BEGIN
|
||||
|
||||
-- Eerst opruiming
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
-- YASK#68837 We halen de boekmaand niet meer uit het kenmerk bij het district maar we gaan deze
|
||||
-- opnieuw berekenen.
|
||||
SELECT TO_CHAR (
|
||||
ADD_MONTHS (
|
||||
SYSDATE,
|
||||
COALESCE (
|
||||
(SELECT FAC.safe_to_number (alg_onrgoedkenmerk_waarde)
|
||||
FROM alg_onrgoedkenmerk aogk
|
||||
WHERE alg_kenmerk_key = 1060 -- boekmaand offset
|
||||
AND alg_onrgoed_key = d.alg_district_key),
|
||||
0)),
|
||||
'yyyymm')
|
||||
INTO v_boekmaand
|
||||
FROM alg_district d
|
||||
WHERE alg_district_key = p_district_key;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
-- bevries de factuurgegevens in de verkooptabel.
|
||||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuur_aanmaak,
|
||||
fin_verkoopfactuur_id,
|
||||
fin_verkoopfactuur_datum,
|
||||
fin_verkoopfactuur_omschr,
|
||||
fin_verkoopfactuur_xmlnode,
|
||||
fin_verkoopfactuur_refkey,
|
||||
prs_kostensoort_oms,
|
||||
fin_verkoopfactuur_bedrag,
|
||||
fin_verkoopfactuur_maand,
|
||||
fin_verkoopfactuur_n2,
|
||||
fin_verkoopfactuur_n3,
|
||||
fin_verkoopfactuur_n4,
|
||||
fin_verkoopfactuur_n5,
|
||||
fin_verkoopfactuur_c1,
|
||||
fin_verkoopfactuur_c2,
|
||||
fin_verkoopfactuur_c3,
|
||||
fin_verkoopfactuur_c4,
|
||||
fin_verkoopfactuur_c5,
|
||||
fin_verkoopfactuur_c6)
|
||||
VALUES (SYSDATE,
|
||||
rec.opdrachtnummer,
|
||||
SYSDATE,
|
||||
rec.meldingnummer,
|
||||
'opdracht',
|
||||
rec.mld_opdr_key,
|
||||
rec.opdracht_nen_omschrijving,
|
||||
rec.opdrachtkosten,
|
||||
v_boekmaand,
|
||||
rec.opslag,
|
||||
rec.kostenplusopslag,
|
||||
rec.mld_melding_key,
|
||||
rec.alg_district_key,
|
||||
rec.melding_nen_omschrijving,
|
||||
rec.melding_nen_code,
|
||||
rec.vakgroeptype,
|
||||
rec.vakgroep,
|
||||
rec.standaardmelding,
|
||||
rec.nietdoorbelasten
|
||||
);
|
||||
|
||||
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, NULL); -- Verwerkt
|
||||
END;
|
||||
END LOOP;
|
||||
--ALG.upsertkenmerk (1201, p_district_key ,to_char(SYSDATE, 'dd-mm-yyyy hh24:mi:ss')); -- Readonly export datum pro forma
|
||||
--ALG.upsertkenmerk (1080, p_district_key ,v_boekmaand); -- Readonly boekmaand laatste export veld.
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
--
|
||||
-- MAREON
|
||||
--
|
||||
@@ -4285,6 +4753,15 @@ AS
|
||||
AND f.fin_factuur_key = kfb.fin_factuur_key(+)
|
||||
AND fin_factuur_bron = 1;
|
||||
|
||||
/*
|
||||
|
||||
reversed billing verstuurd
|
||||
begin vbxx_select_fact('FACT', sysdate); end;
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user