VENR#29525 VENR0

svn path=/Customer/trunk/; revision=22466
This commit is contained in:
Maarten van der Heide
2014-09-04 08:52:33 +00:00
parent 3e24933cd6
commit 642ca874b3

View File

@@ -30,7 +30,7 @@ AS
AND il2.fac_import_key > il1.fac_import_key);
-- Export naar UNIT4
/* Formatted on 22-8-2014 14:12:48 (QP5 v5.136.908.31019) */
/* Formatted on 3-9-2014 15:52:25 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW venr_v_u4_supplier
(
prs_bedrijf_key,
@@ -42,10 +42,8 @@ CREATE OR REPLACE VIEW venr_v_u4_supplier
street2,
city,
postcode,
--countryid,
person,
telephone,
--mobilephone,
fax,
email,
vatnumber,
@@ -60,15 +58,14 @@ AS
x.prs_bedrijf_naam,
SUBSTR (x.prs_bedrijf_naam, 1, 8),
naamstraat.prs_kenmerklink_waarde,
x.prs_bedrijf_bezoek_adres,
x.prs_bedrijf_bezoek_postcode,
x.prs_bedrijf_bezoek_plaats,
--x.prs_bedrijf_bezoek_land,
x.prs_bedrijf_post_adres,
x.prs_bedrijf_post_postcode,
x.prs_bedrijf_post_plaats,
x.prs_bedrijf_contact_persoon,
x.prs_bedrijf_telefoon,
x.prs_bedrijf_fax,
x.prs_bedrijf_email,
btwnr.prs_kenmerklink_waarde,
NULL, --TODO btwnr.prs_kenmerklink_waarde,
(SELECT fac_usrdata_code
FROM fac_v_aanwezigusrdata
WHERE fac_usrdata_key =
@@ -102,16 +99,15 @@ CREATE OR REPLACE VIEW venr_v_u4_customer
street2,
city,
postcode,
--countryid,
person,
telephone,
--mobilephone,
fax,
email,
vatnumber,
paymentconditionid,
chargevattypeid,
cocregistration
cocregistration,
creditsqueezeid
)
AS
SELECT x.prs_bedrijf_key,
@@ -120,15 +116,14 @@ AS
x.prs_bedrijf_naam,
SUBSTR (x.prs_bedrijf_naam, 1, 8),
naamstraat.prs_kenmerklink_waarde,
x.prs_bedrijf_bezoek_adres,
x.prs_bedrijf_bezoek_postcode,
x.prs_bedrijf_bezoek_plaats,
--x.prs_bedrijf_bezoek_land,
x.prs_bedrijf_post_adres,
x.prs_bedrijf_post_postcode,
x.prs_bedrijf_post_plaats,
x.prs_bedrijf_contact_persoon,
x.prs_bedrijf_telefoon,
x.prs_bedrijf_fax,
x.prs_bedrijf_email,
btwnr.prs_kenmerklink_waarde,
NULL, --TODO btwnr.prs_kenmerklink_waarde,
(SELECT fac_usrdata_code
FROM fac_v_aanwezigusrdata
WHERE fac_usrdata_key =
@@ -141,7 +136,8 @@ AS
FROM fac_v_aanwezigusrdata
WHERE fac_usrdata_key =
fac.safe_to_number (btwtype.prs_kenmerklink_waarde))),
kvknr.prs_kenmerklink_waarde
kvknr.prs_kenmerklink_waarde,
0
FROM (SELECT *
FROM prs_v_aanwezigbedrijf
WHERE COALESCE (prs_bedrijf_intern, 0) = 1) x
@@ -274,26 +270,6 @@ AS
ON iban.prs_kenmerk_key = 1030 -- Ibannummer
AND iban.prs_link_key = x.prs_bedrijf_key;
--CREATE OR REPLACE VIEW venr_v_u4_supplierinvoice
supplierid, -- Zoals aangemaakt/bijgewerkt => Correct
paymentconditionid, -- Betalingsconditie bij relatie => Initieel bv. 14A, definitief 14
paymentreference, -- Factuurnummer zoals ingevoerd/overgenomen van factuur (max. 30) => Wens is om te signaleren wanneer > U4-max. (= 16)!
vatoninvoice, -- True/false afhankelijk van BTW op factuur? => Eens; waarschijnlijk altijd true, want geen facturen zonder BTW
journalid, -- Dagboekcode? => Hard op 0!
invoicedate, -- Factuurdatum zoals ingevoerd/overgenomen van factuur => Correct
invoiceid, -- Factuurnummer zoals ingevoerd/overgenomen van factuur => Boekstuknummer gegenereerd door FACILITOR (volgens input Friso)
periodnumber, -- Maand uit finnew, finfok, finver, ordnew, ordafm of Factuurdatum of Verdeelperiode zoals door Linda ingevoerd/overgenomen? => Maand (1 t/m 12) en afgesproken hiervoor de Verdeelperiode te gebruiken
reference, -- FACILITOR opdrachtnummer? => Correct
fiscalyear -- Jaar uit finnew, finfok, finver, ordnew of ordafm of Factuurdatum of Verdeelperiode zoals door Linda ingevoerd/overgenomen? => Afgesproken hiervoor de Factuurdatum te gebruiken
--CREATE OR REPLACE VIEW venr_v_u4_supplierinvoiceline
vatcodeid, -- Hoog=2, Laag=1 Of Geen=0
description, -- Omschrijving zoals ingevoerd/overgenomen als factuurregel (max. 60) => Wens is om te signaleren wanneer > U4-max. (= 30), anders afkappen
accountid -- Voor alle regels DEZELFDE kostensoort zoals ingevoerd/gecorrigeerd bij de factuur en anders afhankelijk van de melding!? => Input nog aanleveren door Friso
--CREATE OR REPLACE VIEW venr_v_u4_vattransactionline
vatamountcur, -- BTW-bedrag => Correct
amountturnovercur -- BTW-valuta? => Altijd EUR
/* Formatted on 1-9-2014 10:50:10 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW venr_v_u4_supplierinvoice
@@ -810,6 +786,7 @@ CREATE OR REPLACE VIEW venr_v_u4_supplierinvoiceline
invoiceid,
accountid, -- Kostensoort volgens input Friso; AANNAME alles doorbelasten!
description, -- Factuurregel-omschrijving
transactiondate,
debitamountcur,
vatcodeid -- Geen=0, Laag=1 en Hoog=2
)
@@ -823,6 +800,7 @@ AS
ksm.prs_kostensoort_opmerking,
ksv.prs_kostensoort_opmerking),
SUBSTR (fr.fin_factuurregel_omschrijving, 1, 30),
TO_CHAR (f.fin_factuur_datum, 'DD-MM-YYYY'),
fr.fin_factuurregel_totaal, -- Excl. BTW
DECODE (btw.fin_btwtabelwaarde_code, 'L', 1, 'H', 2, 0)
FROM venr_v_u4_supplierinvoice v,
@@ -871,25 +849,9 @@ AS
AND btw.fin_btwtabel_key = 1
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key;
--CREATE OR REPLACE VIEW venr_v_u4_order
orderid, -- Door FACILITOR gegenereerd volgnummer => Akkoord (volgens input Friso)
customerid, -- nieuw FACILITOR-nummer of bestaand CIS-nummer => Akkoord (in U4 debiteurennummer genoemd)
orderdate, -- Aanmaakdatum order (= normaal gesproken *vandaag*) => Akkoord
paymentconditionid, -- Zoals voor invoices (op basis van registratie bij customer/debiteur in FACILITOR) => Geen A-logica
vatscenarioid, -- ??? => Vaste waarde; komt Gertjan op terug => 6
reference, -- ??? => Gewenste opmaak/formaat komt Gertjan op terug => OCI-ORD: opdrachtnummer + OCI-CNT/SSD-ORD+CNT: jaar-maand maandfactuur
--CREATE OR REPLACE VIEW venr_v_u4_orderline
accountid, -- Kostensoort/grootboek? => Akkoord
productid, -- Weglaten? => Nee, Kostensoort/grootboek-code
description, -- ??? => Omschrijving bij factuurregel (voor OCI en SSD regiewerk) of omschrijving van groep/grootboek (voor OCI dienstverlening)
quantityordered, -- Altijd 1??? => Akkoord; bij creditfactuur -1 en bedrag positief
price, -- Bedrag => Excl. BTW
priceper, -- ??? => Weglaten
vatcodeid, -- Ja/Nee/Verlegd op basis van registratie bij customer/debiteur in FACILITOR => Akkoord; 0/1/2
--TODO: CNT-dimensie VENR-diensten afstemmen/afronden!
/* Formatted on 1-9-2014 11:18:42 (QP5 v5.136.908.31019) */
/* Formatted on 4-9-2014 10:02:28 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW venr_v_u4_order
(
mld_opdr_key, -- Altijd NULL/Intern! => Weg?
@@ -902,7 +864,8 @@ CREATE OR REPLACE VIEW venr_v_u4_order
paymentconditionid,
vatscenarioid,
chargevattype,
reference
reference,
deliveryaddress
)
AS
WITH last_exp -- Tijdstip laatste succesvolle U4-export uit eigen tabel!
@@ -924,7 +887,7 @@ AS
7000000 + ssdfrz.bedrijf_key, -- prs_bedrijf_key (via ET)!
COALESCE (udbc.fac_usrdata_code, '60'), -- Definitieve variant!
6, -- Hard
2, -- Hard
0, -- Hard
DECODE (
f.mld_opdr_key,
NULL,
@@ -937,7 +900,8 @@ AS
|| '/'
|| TO_CHAR (mld_opdr_bedrijfopdr_volgnr)
FROM mld_opdr
WHERE mld_opdr_key = f.mld_opdr_key))
WHERE mld_opdr_key = f.mld_opdr_key)),
NULL
FROM ( SELECT fac_usrdata_code ordernr,
fac.safe_to_number (fac_usrdata_omschr) bedrijf_key,
MIN (fac_usrdata_aanmaak) datum -- Order-datum
@@ -952,7 +916,7 @@ AS
fin_factuur f
WHERE ssdfrz.datum > le.datum -- Te exporteren uplift-orders
AND ssdfrz.bedrijf_key = klbc.prs_link_key(+)
--AND udbc.fac_usrtab_key = 2 -- Betalingsconditie-waarden
--AND udbc.fac_usrtab_key = 2 -- Betalingsconditie-waarden
AND MOD (fac.safe_to_number (klbc.prs_kenmerklink_waarde), 10) =
udbc.fac_usrdata_key(+)
AND kl.prs_kenmerklink_niveau = 'B'
@@ -976,8 +940,9 @@ AS
7000000 + ssdfrz.bedrijf_key, -- prs_bedrijf_key (via ET)!
COALESCE (udbc.fac_usrdata_code, '60'), -- Definitieve variant!
6, -- Hard
2, -- Hard
'Contract ' || c.cnt_contract_nummer_intern
0, -- Hard
'Contract ' || c.cnt_contract_nummer_intern,
NULL
FROM ( SELECT fac_usrdata_code ordernr,
fac.safe_to_number (fac_usrdata_omschr) bedrijf_key,
MIN (fac_usrdata_aanmaak) datum -- Order-datum
@@ -991,7 +956,7 @@ AS
cnt_contract c
WHERE ssdfrz.datum > le.datum -- Te exporteren VENR-diensten
AND ssdfrz.bedrijf_key = klbc.prs_link_key(+)
--AND udbc.fac_usrtab_key = 2 -- Betalingsconditie-waarden
--AND udbc.fac_usrtab_key = 2 -- Betalingsconditie-waarden
AND MOD (fac.safe_to_number (klbc.prs_kenmerklink_waarde), 10) =
udbc.fac_usrdata_key(+)
AND kl.prs_kenmerklink_niveau = 'B'
@@ -1020,7 +985,7 @@ AS
7000000 + ssdfrz.bedrijf_key, -- prs_bedrijf_key (via ET)!
COALESCE (udbc.fac_usrdata_code, '60'), -- Definitieve variant!
6, -- Hard
2, -- Hard
0, -- Hard
DECODE ( -- TODO: Toevoegen Regio/District/Locatie op basis van Exportbundeling (of Grootboekcode)?
kl2.prs_kenmerklink_waarde,
'42', -- Wekelijks
@@ -1034,7 +999,8 @@ AS
'Maandfactuur ' || TO_CHAR (ssdfrz.datum, 'YYYY-MM'),
'45', -- Maandelijks
'Maandfactuur ' || TO_CHAR (ssdfrz.datum, 'YYYY-MM'),
'Periode ongeldig!')
'Periode ongeldig!'),
COALESCE (o2da.deliveryaddress, 'Contract') -- Listig stukje!!!
FROM ( SELECT fac_usrdata_code ordernr,
fac.safe_to_number (fac_usrdata_omschr) bedrijf_key,
MIN (fac_usrdata_aanmaak) datum -- Order-datum
@@ -1045,10 +1011,41 @@ AS
bet_cond klbc,
fac_usrdata udbc, -- OOK VERWIJDERDE!
prs_v_aanwezigkenmerklink kl1,
prs_v_aanwezigkenmerklink kl2
prs_v_aanwezigkenmerklink kl2,
(SELECT DISTINCT
kf.fin_kenmerkfactuur_waarde ordernr,
DECODE (kl2.prs_kenmerklink_waarde,
'48', r.alg_regio_omschrijving,
'49', d.alg_district_omschrijving,
l.alg_locatie_omschrijving)
deliveryaddress
FROM fin_kenmerkfactuur kf,
fin_factuur f,
mld_opdr o,
mld_melding m,
alg_locatie l,
alg_district d,
alg_regio r,
prs_v_aanwezigkenmerklink kl1,
prs_v_aanwezigkenmerklink kl2
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
AND kf.fin_kenmerk_key = 42 -- Hidden ordernr!
AND kf.fin_factuur_key = f.fin_factuur_key
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND d.alg_regio_key = r.alg_regio_key
AND kl1.prs_kenmerklink_niveau = 'B'
AND kl1.prs_kenmerk_key = 1064 -- Klant->Regio (of bedrijfnaam=regio?)
AND d.alg_regio_key =
fac.safe_to_number (kl1.prs_kenmerklink_waarde)
AND kl2.prs_kenmerklink_niveau = 'B'
AND kl2.prs_kenmerk_key = 1063 -- Klant->Exportbundeling
AND kl1.prs_link_key = kl2.prs_link_key) o2da -- Ordernr2DeliveryAddr.
WHERE ssdfrz.datum > le.datum -- Te exporteren borderels
AND ssdfrz.bedrijf_key = klbc.prs_link_key(+)
--AND udbc.fac_usrtab_key = 2 -- Betalingsconditie-waarden
--AND udbc.fac_usrtab_key = 2 -- Betalingsconditie-waarden
AND MOD (fac.safe_to_number (klbc.prs_kenmerklink_waarde), 10) =
udbc.fac_usrdata_key(+)
AND kl1.prs_kenmerklink_niveau = 'B'
@@ -1057,7 +1054,8 @@ AS
AND kl1.prs_kenmerklink_waarde = '32' -- Export als SSD
AND kl2.prs_kenmerklink_niveau = 'B'
AND kl2.prs_kenmerk_key = 1062 -- Klant->Exportperiode
AND ssdfrz.bedrijf_key = kl2.prs_link_key;
AND ssdfrz.bedrijf_key = kl2.prs_link_key
AND ssdfrz.ordernr = o2da.ordernr(+);
CREATE OR REPLACE VIEW venr_v_u4_orderline
(
@@ -1068,6 +1066,7 @@ CREATE OR REPLACE VIEW venr_v_u4_orderline
productid,
description,
quantityordered,
quantitydelivered,
price,
priceper,
vatcodeid
@@ -1078,7 +1077,14 @@ AS
x.orderid,
x.accountid,
x.productid,
SUBSTR (x.fin_factuurregel_omschrijving, 1, 30),
x.alg_locatie_code
|| '/'
|| x.prs_bedrijf_naam
|| '/'
|| x.fin_factuur_nr
|| '/'
|| x.fin_factuur_datum,
DECODE (SIGN (x.fin_factuurregel_totaal), -1, -1, 1), -- -1 als credit!
DECODE (SIGN (x.fin_factuurregel_totaal), -1, -1, 1), -- -1 als credit!
ABS (x.fin_factuurregel_totaal)
* (1 + COALESCE (ud.fac_usrdata_prijs, 0)), -- Excl. BTW; price nooit negatief!
@@ -1102,7 +1108,12 @@ AS
fr.fin_factuurregel_omschrijving,
fr.fin_factuurregel_totaal,
DECODE (btw.fin_btwtabelwaarde_code, 'L', 1, 'H', 2, 0)
vatcodeid
vatcodeid,
l.alg_locatie_code,
SUBSTR (b.prs_bedrijf_naam, 1, 20) prs_bedrijf_naam,
SUBSTR (f.fin_factuur_nr, 1, 14) fin_factuur_nr,
TO_CHAR (f.fin_factuur_datum, 'DD-MM-YYYY')
fin_factuur_datum
FROM venr_v_u4_order v,
fin_kenmerkfactuur kf,
fin_factuur f,
@@ -1111,7 +1122,9 @@ AS
prs_kostensoort ksfr,
fin_btwtabelwaarde btw,
mld_opdr o,
prs_bedrijf b,
mld_melding m,
alg_locatie l,
mld_stdmelding sm,
ins_tab_discipline td,
prs_kostensoort ksm,
@@ -1128,8 +1141,10 @@ AS
AND fr.fin_btwtabelwaarde_key =
btw.fin_btwtabelwaarde_key
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+))
@@ -1143,7 +1158,14 @@ AS
x.orderid,
x.accountid,
x.productid,
SUBSTR (x.fin_factuurregel_omschrijving, 1, 30),
x.alg_locatie_code
|| '/'
|| x.prs_bedrijf_naam
|| '/'
|| x.fin_factuur_nr
|| '/'
|| x.fin_factuur_datum,
DECODE (SIGN (x.fin_factuurregel_totaal), -1, -1, 1), -- -1 als credit!
DECODE (SIGN (x.fin_factuurregel_totaal), -1, -1, 1), -- -1 als credit!
ABS (x.fin_factuurregel_totaal)
* (1 + COALESCE (ud.fac_usrdata_prijs, 0)), -- Excl. BTW; price nooit negatief!
@@ -1165,7 +1187,12 @@ AS
fr.fin_factuurregel_omschrijving,
fr.fin_factuurregel_totaal,
DECODE (btw.fin_btwtabelwaarde_code, 'L', 1, 'H', 2, 0)
vatcodeid
vatcodeid,
'Contract' alg_locatie_code,
SUBSTR (b.prs_bedrijf_naam, 1, 20) prs_bedrijf_naam,
SUBSTR (f.fin_factuur_nr, 1, 14) fin_factuur_nr,
TO_CHAR (f.fin_factuur_datum, 'DD-MM-YYYY')
fin_factuur_datum
FROM venr_v_u4_order v,
fin_kenmerkfactuur kf,
fin_factuur f,
@@ -1174,6 +1201,7 @@ AS
prs_kostensoort ksfr,
fin_btwtabelwaarde btw,
cnt_contract c,
prs_bedrijf b,
prs_kostensoort ksc
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
AND kf.fin_kenmerk_key = 42 -- Hidden ordernr!
@@ -1187,6 +1215,7 @@ AS
AND fr.fin_btwtabelwaarde_key =
btw.fin_btwtabelwaarde_key
AND f.cnt_contract_key = c.cnt_contract_key
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.prs_kostensoort_key = ksc.prs_kostensoort_key(+))
x
LEFT JOIN
@@ -1198,21 +1227,25 @@ AS
v.orderid,
grootboekprefix || ksc.prs_kostensoort_opmerking, -- Prefix 80/81!
grootboekprefix || ksc.prs_kostensoort_opmerking, -- Prefix 80/81!
ksc.prs_kostensoort_oms,
--ksc.prs_kostensoort_oms,
'Contract/VENR/' || v.orderid || '/' || v.orderdate,
1, -- Altijd 1 dus nooit credit!
1, -- Altijd 1 dus nooit credit!
c.cnt_contract_termijnkosten, -- Excl. BTW; TODO: Uplift?
'maal', -- Hard
DECODE (btw.fin_btwtabelwaarde_code, 'L', 1, 'H', 2, 0)
FROM venr_v_u4_order v,
cnt_contract c,
prs_bedrijf b,
prs_kostensoort ksc,
fin_btwtabelwaarde btw,
fac_v_aanwezigusrdata ud
WHERE v.cnt_contract_key = c.cnt_contract_key
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.prs_kostensoort_key = ksc.prs_kostensoort_key(+)
AND btw.fin_btwtabel_key = 1
AND btw.fin_btwtabelwaarde_code = 'H' -- TODO: Altijd hoog?
AND fac_usrtab_key = 26
AND ud.fac_usrtab_key = 26 -- UpliftOCI
AND ksc.prs_kostensoort_opmerking = ud.fac_usrdata_code;
@@ -1291,7 +1324,7 @@ AS
--TODO: CNT-dimensie VENR-diensten afstemmen/afronden!
/* Formatted on 22-8-2014 11:36:24 (QP5 v5.136.908.31019) */
/* Formatted on 2-9-2014 17:00:00 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW venr_v_u4_actual
(
exportvariant,
@@ -1512,8 +1545,14 @@ AS
prs_v_aanwezigkenmerklink kl2,
prs_v_aanwezigkenmerklink kl3,
prs_v_aanwezigkenmerklink kl4
WHERE f.fin_factuur_verwijder IS NULL
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (6, 7) -- Akkoord/Verwerkt
AND NOT EXISTS -- Geen ordernr, dus nog exporteren als borderel!
(SELECT 1
FROM fin_kenmerkfactuur
WHERE fin_kenmerkfactuur_verwijder IS NULL
AND fin_kenmerk_key = 42 -- Hidden ordernr!
AND fin_factuur_key = f.fin_factuur_key)
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
@@ -1546,8 +1585,14 @@ AS
prs_v_aanwezigkenmerklink kl1,
prs_v_aanwezigkenmerklink kl2,
prs_v_aanwezigkenmerklink kl3
WHERE f.fin_factuur_verwijder IS NULL
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (6, 7) -- Akkoord/Verwerkt
AND NOT EXISTS -- Geen ordernr, dus nog exporteren als borderel!
(SELECT 1
FROM fin_kenmerkfactuur
WHERE fin_kenmerkfactuur_verwijder IS NULL
AND fin_kenmerk_key = 42 -- Hidden ordernr!
AND fin_factuur_key = f.fin_factuur_key)
AND f.cnt_contract_key = c.cnt_contract_key
AND c.prs_afdeling_key_eig = ab.prs_afdeling_key
AND kl1.prs_kenmerklink_niveau = 'B'
@@ -1561,7 +1606,7 @@ AS
AND kl3.prs_kenmerk_key = 1063 -- Klant->Exportbundeling
AND ab.prs_bedrijf_key = kl3.prs_link_key) x;
/* Formatted on 26-8-2014 18:12:48 (QP5 v5.136.908.31019) */
/* Formatted on 3-9-2014 14:54:06 (QP5 v5.136.908.31019) */
CREATE OR REPLACE PROCEDURE venr_select_u4 (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
@@ -1571,7 +1616,7 @@ AS
IS
SELECT *
FROM venr_v_u4_actual
ORDER BY 1;
ORDER BY 1, 2;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
@@ -1594,10 +1639,10 @@ BEGIN
IF (rec.exportvariant != 'SSD2')
THEN
-- Genereren boekstuknr of ordernr
-- Genereren/toevoegen boekstuknr of ordernr
IF (rec.exportvariant = 'SSD1') -- SSD/Exception=>Genereren boekstuknr/freeze!
THEN
-- Sequence '01' voor boekstuknr tbv. SSD
-- Sequence '01' voor boekstuknr tbv. SSD!
SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
v_boekstuknr :=
@@ -1669,6 +1714,8 @@ BEGIN
-- Bevriezen factuur
IF (v_freeze = 1)
THEN
v_errormsg := 'Fout bij bevriezen factuur/MC';
UPDATE fin_factuur f
SET fin_factuur_statuses_key = 7 -- AV
WHERE f.fin_factuur_key = rec.fin_factuur_key;
@@ -1704,7 +1751,7 @@ BEGIN
-- Of wekelijks en woensdag
-- Of halfmaandelijks en de 14e of de 'laatste-2' dag van de maand
-- Of maandelijks en de 'laatste-2' dag van de maand
-- Of maandelijks en de 5e dag van de maand
-- Of maandelijks en de 5e dag van de maand
IF ( (rec.periode = '42' AND TO_CHAR (SYSDATE, 'D') = 4)
OR (rec.periode = '43'
AND TO_CHAR (SYSDATE, 'DD') IN
@@ -1719,7 +1766,7 @@ BEGIN
-- a. Toevoegen ordernr als hidden kenmerk
-- b. Bevriezen
-- 3. Toevoegen meta-order in eigen tabel
-- Sequence '02' voor boekstuknr tbv. SSD
-- Sequence '02' voor ordernr tbv. SSD!
SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL;
v_ordernr :=
@@ -1727,97 +1774,105 @@ BEGIN
|| '661' -- TODO: Configureerbaar maken?
|| SUBSTR ('0000' || TO_CHAR (v_count), -4);
FOR rcf IN ( SELECT x.fin_factuur_key, --x.fin_factuur_statuses_key,
x.prs_bedrijf_key
FROM (SELECT f.fin_factuur_key,
--f.fin_factuur_statuses_key,
o.mld_uitvoerende_keys prs_bedrijf_key,
DECODE (
kl4.prs_kenmerklink_waarde,
'48',
'R' || TO_CHAR (d.alg_regio_key),
'49',
'D' || TO_CHAR (d.alg_district_key),
'L' || TO_CHAR (l.alg_locatie_key))
bundeling
FROM fin_factuur f,
mld_opdr o,
mld_melding m,
alg_locatie l,
alg_district d,
prs_v_aanwezigkenmerklink kl1,
prs_v_aanwezigkenmerklink kl2,
--prs_v_aanwezigkenmerklink kl3,
prs_v_aanwezigkenmerklink kl4
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN
(6, 7) -- Akkoord/Verwerkt
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key =
m.mld_melding_key
AND m.mld_alg_locatie_key =
l.alg_locatie_key
AND l.alg_district_key =
d.alg_district_key
AND kl1.prs_kenmerklink_niveau = 'B'
AND kl1.prs_kenmerk_key = 1064 -- Klant->Regio (of bedrijfnaam=regio?)
AND d.alg_regio_key =
fac.safe_to_number (
kl1.prs_kenmerklink_waarde)
AND kl2.prs_kenmerklink_niveau = 'B'
AND kl2.prs_kenmerk_key = 1061 -- Klant->Exportvariant
AND kl1.prs_link_key =
kl2.prs_link_key
AND kl2.prs_kenmerklink_waarde = '32' -- Export als SSD
--AND kl3.prs_kenmerklink_niveau = 'B'
--AND kl3.prs_kenmerk_key = 1062 -- Klant->Exportperiode
--AND kl1.prs_link_key = kl3.prs_link_key
--AND kl3.prs_kenmerklink_waarde =
-- rec.periode
AND kl4.prs_kenmerklink_niveau = 'B'
AND kl4.prs_kenmerk_key = 1063 -- Klant->Exportbundeling
AND kl1.prs_link_key =
kl4.prs_link_key
UNION ALL
SELECT f.fin_factuur_key,
--f.fin_factuur_statuses_key,
c.cnt_prs_bedrijf_key prs_bedrijf_key,
DECODE (kl3.prs_kenmerklink_waarde,
'48', 'R0',
'49', 'D0',
'L0')
bundeling
FROM fin_factuur f,
cnt_contract c,
prs_v_afdeling_boom ab,
prs_v_aanwezigkenmerklink kl1,
--prs_v_aanwezigkenmerklink kl2,
prs_v_aanwezigkenmerklink kl3
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN
(6, 7) -- Akkoord/Verwerkt
AND f.cnt_contract_key =
c.cnt_contract_key
AND c.prs_afdeling_key_eig =
ab.prs_afdeling_key
AND kl1.prs_kenmerklink_niveau = 'B'
AND kl1.prs_kenmerk_key = 1061 -- Klant->Exportvariant
AND ab.prs_bedrijf_key =
kl1.prs_link_key
AND kl1.prs_kenmerklink_waarde = '32' -- Export als SSD
--AND kl2.prs_kenmerklink_niveau = 'B'
--AND kl2.prs_kenmerk_key = 1062 -- Klant->Exportperiode
--AND ab.prs_bedrijf_key = kl2.prs_link_key
--AND kl2.prs_kenmerklink_waarde =
-- rec.periode
AND kl3.prs_kenmerklink_niveau = 'B'
AND kl3.prs_kenmerk_key = 1063 -- Klant->Exportbundeling
AND ab.prs_bedrijf_key =
kl3.prs_link_key) x
WHERE x.bundeling = rec.bundeling
ORDER BY 1)
FOR rcf
IN ( SELECT x.fin_factuur_key,
x.fin_factuur_statuses_key,
x.prs_bedrijf_key
FROM (SELECT f.fin_factuur_key,
f.fin_factuur_statuses_key,
o.mld_uitvoerende_keys prs_bedrijf_key,
DECODE (
kl4.prs_kenmerklink_waarde,
'48',
'R' || TO_CHAR (d.alg_regio_key),
'49',
'D' || TO_CHAR (d.alg_district_key),
'L' || TO_CHAR (l.alg_locatie_key))
bundeling
FROM fin_factuur f,
mld_opdr o,
mld_melding m,
alg_locatie l,
alg_district d,
prs_v_aanwezigkenmerklink kl1,
prs_v_aanwezigkenmerklink kl2,
--prs_v_aanwezigkenmerklink kl3,
prs_v_aanwezigkenmerklink kl4
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (6, 7) -- Akkoord/Verwerkt
AND NOT EXISTS -- Geen ordernr, dus nog exporteren als borderel!
(SELECT 1
FROM fin_kenmerkfactuur
WHERE fin_kenmerkfactuur_verwijder IS NULL
AND fin_kenmerk_key = 42 -- Hidden ordernr!
AND fin_factuur_key =
f.fin_factuur_key)
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key =
l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND kl1.prs_kenmerklink_niveau = 'B'
AND kl1.prs_kenmerk_key = 1064 -- Klant->Regio (of bedrijfnaam=regio?)
AND d.alg_regio_key =
fac.safe_to_number (
kl1.prs_kenmerklink_waarde)
AND kl2.prs_kenmerklink_niveau = 'B'
AND kl2.prs_kenmerk_key = 1061 -- Klant->Exportvariant
AND kl1.prs_link_key = kl2.prs_link_key
AND kl2.prs_kenmerklink_waarde = '32' -- Export als SSD
--AND kl3.prs_kenmerklink_niveau = 'B'
--AND kl3.prs_kenmerk_key = 1062 -- Klant->Exportperiode
--AND kl1.prs_link_key = kl3.prs_link_key
--AND kl3.prs_kenmerklink_waarde =
-- rec.periode
AND kl4.prs_kenmerklink_niveau = 'B'
AND kl4.prs_kenmerk_key = 1063 -- Klant->Exportbundeling
AND kl1.prs_link_key = kl4.prs_link_key
UNION ALL
SELECT f.fin_factuur_key,
f.fin_factuur_statuses_key,
c.cnt_prs_bedrijf_key prs_bedrijf_key,
DECODE (kl3.prs_kenmerklink_waarde,
'48', 'R0',
'49', 'D0',
'L0')
bundeling
FROM fin_factuur f,
cnt_contract c,
prs_v_afdeling_boom ab,
prs_v_aanwezigkenmerklink kl1,
--prs_v_aanwezigkenmerklink kl2,
prs_v_aanwezigkenmerklink kl3
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (6, 7) -- Akkoord/Verwerkt
AND NOT EXISTS -- Geen ordernr, dus nog exporteren als borderel!
(SELECT 1
FROM fin_kenmerkfactuur
WHERE fin_kenmerkfactuur_verwijder IS NULL
AND fin_kenmerk_key = 42 -- Hidden ordernr!
AND fin_factuur_key =
f.fin_factuur_key)
AND f.cnt_contract_key = c.cnt_contract_key
AND c.prs_afdeling_key_eig =
ab.prs_afdeling_key
AND kl1.prs_kenmerklink_niveau = 'B'
AND kl1.prs_kenmerk_key = 1061 -- Klant->Exportvariant
AND ab.prs_bedrijf_key = kl1.prs_link_key
AND kl1.prs_kenmerklink_waarde = '32' -- Export als SSD
--AND kl2.prs_kenmerklink_niveau = 'B'
--AND kl2.prs_kenmerk_key = 1062 -- Klant->Exportperiode
--AND ab.prs_bedrijf_key = kl2.prs_link_key
--AND kl2.prs_kenmerklink_waarde =
-- rec.periode
AND kl3.prs_kenmerklink_niveau = 'B'
AND kl3.prs_kenmerk_key = 1063 -- Klant->Exportbundeling
AND ab.prs_bedrijf_key = kl3.prs_link_key)
x
WHERE x.bundeling = rec.bundeling
ORDER BY 1)
LOOP
-- Toevoegen boekstuknr als hidden kenmerk op factuur!
-- Toevoegen ordernr als hidden kenmerk op factuur!
v_errormsg := 'Fout bij toevoegen ordernr/SSD';
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
@@ -1825,17 +1880,22 @@ BEGIN
fin_kenmerkfactuur_waarde)
VALUES (rcf.fin_factuur_key, 42, v_ordernr);
UPDATE fin_factuur f
SET fin_factuur_statuses_key = 7 -- AV
WHERE f.fin_factuur_key = rcf.fin_factuur_key;
IF (rcf.fin_factuur_statuses_key != 7)
THEN
v_errormsg := 'Fout bij bevriezen factuur/SSD';
fac.trackaction ('FINVER',
rcf.fin_factuur_key,
NULL, -- FACILITOR
NULL,
NULL);
UPDATE fin_factuur f
SET fin_factuur_statuses_key = 7 -- AV
WHERE f.fin_factuur_key = rcf.fin_factuur_key;
regelnr := regelnr + 1;
fac.trackaction ('FINVER',
rcf.fin_factuur_key,
NULL, -- FACILITOR
NULL,
NULL);
regelnr := regelnr + 1;
END IF;
END LOOP;
v_errormsg := 'Fout bij toevoegen meta-order/SSD';
@@ -1890,6 +1950,7 @@ AS
END;
/
/* Formatted on 3-9-2014 10:12:48 (QP5 v5.136.908.31019) */
CREATE OR REPLACE PACKAGE BODY VENR
AS
PROCEDURE finish_ssdinvoices (p_ordernr IN NUMBER)
@@ -1898,33 +1959,19 @@ AS
-- 'p_ordernr'; betreffende facturen krijgen een boekstuknr!
CURSOR c1
IS
SELECT f.fin_factuur_key, ud.fac_usrdata_key
FROM fin_factuur f,
fin_kenmerkfactuur kf,
( SELECT fac_usrdata_code,
MAX (fac_usrdata_key) fac_usrdata_key
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 25
AND fac_usrdata_vervaldatum IS NULL
GROUP BY fac_usrdata_code) ud
SELECT f.fin_factuur_key
FROM fin_factuur f, fin_kenmerkfactuur kf
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key = 7 -- Verwerkt
AND kf.fin_kenmerkfactuur_verwijder IS NULL
AND kf.fin_kenmerk_key = 42 -- Hidden ordernr!
AND kf.fin_kenmerk_key = 42 -- Ordernr
AND f.fin_factuur_key = kf.fin_factuur_key
AND kf.fin_kenmerkfactuur_waarde = ud.fac_usrdata_code
AND ud.fac_usrdata_code = p_ordernr
--AND NOT EXISTS -- GEEN boekstuknr (zou zo moeten zijn)!
-- (SELECT 1
-- FROM fin_kenmerkfactuur
-- WHERE fin_kenmerkfactuur_verwijder IS NULL
-- AND fin_kenmerk_key = 41 -- Hidden boekstuknr!
-- AND fin_factuur_key = f.fin_factuur_key)
AND NOT EXISTS -- NIET gemarkeerd als exception!
AND kf.fin_kenmerkfactuur_waarde = p_ordernr
AND NOT EXISTS -- GEEN boekstuknr (= NIET gemarkeerd als exception)!
(SELECT 1
FROM fin_kenmerkfactuur
WHERE fin_kenmerkfactuur_verwijder IS NULL
AND fin_kenmerk_key = 43 -- Specifiek exporteren!
AND fin_kenmerk_key = 41 -- Boekstuknr
AND fin_factuur_key = f.fin_factuur_key)
ORDER BY 1;
@@ -1938,14 +1985,20 @@ AS
v_update NUMBER (10) := 0;
v_count NUMBER (10);
BEGIN
-- Toevoegen boekstuknr als hidden kenmerk op factuur!
v_aanduiding := '[' || p_ordernr || '] ';
v_errormsg := 'Fout bij bepalen meta-order/SSD';
SELECT fac_usrdata_key
INTO v_usrdata_key
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 25
AND fac_usrdata_vervaldatum IS NULL -- Moet zo zijn!
AND fac_usrdata_code = p_ordernr;
-- Toevoegen boekstuknr-kenmerk op 1 of meer facturen!
FOR rec IN c1
LOOP
BEGIN
v_aanduiding :=
'[' || rec.fin_factuur_key || '|' || p_ordernr || '] ';
v_usrdata_key := rec.fac_usrdata_key;
v_errormsg := 'Fout bij bepalen boekstuknr';
-- Sequence '01' voor boekstuknr tbv. SSD
@@ -1982,18 +2035,18 @@ AS
END;
END LOOP;
fac.writelog (
c_applname,
'S',
'SSD-borderel ' || p_ordernr || '/#invoices: ' || TO_CHAR (v_update),
'');
v_errormsg := 'Fout bij bijwerken vervaldatum';
UPDATE fac_usrdata
SET fac_usrdata_vervaldatum = SYSDATE
WHERE fac_usrdata_key = v_usrdata_key;
fac.writelog (
c_applname,
'S',
'SSD-borderel ' || p_ordernr || '/#invoices: ' || TO_CHAR (v_update),
'');
COMMIT;
EXCEPTION
WHEN OTHERS
@@ -2014,34 +2067,36 @@ AS
END;
/
/* Formatted on 27-8-2014 12:10:50 (QP5 v5.136.908.31019) */
/* Formatted on 3-9-2014 17:10:50 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW venr_v_rap_finish_ssdinvoices
(
hide_f_bedrijf_key,
fclt_f_bedrijf,
ordernr,
aantal,
totaal
totaal_excl,
totaal_incl
)
AS
SELECT b.prs_bedrijf_key,
b.prs_bedrijf_naam,
ud.fac_usrdata_code,
COUNT (DISTINCT f.fin_factuur_key),
SUM (fr.fin_factuurregel_totaal)
SUM (fr.fin_factuurregel_totaal),
SUM (fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw)
FROM fac_v_aanwezigusrdata ud,
prs_bedrijf b,
fin_kenmerkfactuur kf,
fin_factuur f,
fin_factuurregel fr
WHERE ud.fac_usrtab_key = 25 -- Verkoopopdrachten
AND ud.fac_usrdata_code LIKE '4661%' -- Prefix voor SSD-orders
AND ud.fac_usrdata_vervaldatum IS NULL
AND fac.safe_to_number (fac_usrdata_omschr) = b.prs_bedrijf_key
AND ud.fac_usrdata_code LIKE '4661%' -- Prefix voor SSD-orders
AND fac.safe_to_number (ud.fac_usrdata_omschr) = b.prs_bedrijf_key
AND kf.fin_kenmerkfactuur_verwijder IS NULL
AND kf.fin_kenmerk_key = 42 -- Hidden ordernr!
AND kf.fin_kenmerk_key = 42 -- Ordernr
AND ud.fac_usrdata_code = kf.fin_kenmerkfactuur_waarde
AND f.fin_factuur_statuses_key = 7 -- Verwerkt (zou zo moeten zijn)!
AND f.fin_factuur_statuses_key = 7 -- Verwerkt (moet zo zijn)!
AND kf.fin_factuur_key = f.fin_factuur_key
AND f.fin_factuur_key = fr.fin_factuur_key
GROUP BY b.prs_bedrijf_key, b.prs_bedrijf_naam, ud.fac_usrdata_code;