NYBU#30645 RES/FIN: Inzet nieuwe verkoopfactuurtabel voor CODA-export reserveringen

svn path=/Customer/; revision=23552
This commit is contained in:
Peter Koerhuis
2014-12-03 16:21:06 +00:00
parent 6a3f7262e9
commit 8842af4483

230
onces/NYBU/nybu20.sql Normal file
View File

@@ -0,0 +1,230 @@
-- Customer specific once-script NYBU.
-- Vooral NYBU#30645, gebruik fin_verkoopfactuur voor facturatie RES
--
-- Support: +31 53 4800700
SET ECHO ON
SPOOL xNYBU20.lst
SET DEFINE OFF
-- Rapportage voor inzage in verkoopfactuurtabel
-- USER02 = 84
CREATE OR REPLACE VIEW nybu_v_rap_fin_verkoopfactuur AS SELECT 1 x FROM DUAL;
INSERT INTO fac_usrrap
(fac_usrrap_omschrijving, fac_usrrap_view_name,
fac_usrrap_in_huidige_locatie,
fac_usrrap_template, fac_usrrap_macro,
fac_usrrap_vraagbegindatum, fac_usrrap_vraageinddatum,
fac_usrrap_functie,
fac_usrrap_info,
fac_functie_key,
fac_usrrap_autorefresh
)
VALUES ('FIN: Verkoopfacturen', 'nybu_v_rap_fin_verkoopfactuur',
NULL,
NULL, NULL,
0, 0,
0,
'Niet zonder filters gebruiken!',
84,
0
);
-- Wat boekhouding: deze view gebruiken we niet meer.
DROP VIEW nybu_v_res_crediteringen;
-- Initi<74>le vulling verkoopfactuurtabel. Crediteringen verliepen o.b.v. flexkenmerken waarin
-- de gefactureerde bedragen per deelreserveringn werden bijgehouden (excl BTW, BTW laag, BTW hoog)
-- Voortaan worden daarvoor de verkoopfactuurregels gebruikt, maar dan moeten die er wel zijn.
-- Daarom eenmalig verkoopfactuurregels aanmaken o.b.v. die flexkenmerken.
-- (Vind alle deelreserveringen met een gefactureerd bedrag excl btw. Maak een "ex BTW"-regel, plus
-- een "BTW hoog"-regel en een "BTW laag"-regel (indien van toepassing)
DELETE fin_verkoopfactuur;
INSERT INTO fin_verkoopfactuur (
fin_verkoopfactuur_id,
fin_verkoopfactuur_datum,
fin_verkoopfactuur_omschr,
fin_verkoopfactuur_xmlnode,
fin_verkoopfactuur_refkey,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaatsgrp_oms,
prs_kostensoort_oms,
prs_debiteur_naam,
fin_verkoopfactuur_bedrag,
fin_verkoopfactuur_btw,
fin_btwtabelwaarde_code,
fin_btwtabelwaarde_oms,
fin_btwtabelwaarde_perc,
fin_verkoopfactuur_maand,
fin_verkoopfactuur_n1,
fin_verkoopfactuur_n2,
fin_verkoopfactuur_c1,
fin_verkoopfactuur_c2,
fin_verkoopfactuur_c3,
fin_verkoopfactuur_d1
)
SELECT 'migratie',
exp_datum,
omschrijving,
'reservering',
res_rsv_ruimte_key,
proj,
proj,
kostenplaats,
grootboek,
deb_nr,
bedrag_ex,
btw_bedrag,
btw_code,
btw_code,
btw,
periode,
inex,
0, -- debet
reservering,
klant,
referentie,
res_rsv_ruimte_van
FROM (
WITH base AS (
SELECT COALESCE(b.prs_bedrijf_naam, k.prs_kostenplaats_omschrijving) klant,
rr.res_rsv_ruimte_van,
TO_CHAR(rr.res_rsv_ruimte_van, 'YYYYMM') periode,
ks.prs_kostensoort_oms grootboek,
kg.prs_kostenplaatsgrp_key kostenplaats_key,
TRIM( SUBSTR(kg.prs_kostenplaatsgrp_oms, 1, 7) ) kostenplaats,
COALESCE(b.prs_leverancier_nr, k.prs_kostenplaats_nr) deb_nr,
k.prs_kostenplaats_key proj_key,
k.prs_kostenplaats_nr proj,
0 btw,
ks.prs_kostensoort_btw,
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrtab_key = 42
AND fac.safe_to_number(fac_usrdata_code) = 0) btw_code,
rr.res_reservering_key res_key,
rr.res_rsv_ruimte_volgnr res_volgnr,
kref.res_kenmerkreservering_waarde referentie,
rr.res_reservering_key||'/'||rr.res_rsv_ruimte_volgnr reservering,
rr.res_rsv_ruimte_key,
DECODE(kref.res_kenmerkreservering_waarde,
NULL,'',
kref.res_kenmerkreservering_waarde||' ')
|| rr.res_rsv_ruimte_omschrijving descr,
rr.res_reservering_key||'/'||rr.res_rsv_ruimte_volgnr||' - excl BTW' omschrijving,
fac.safe_to_number(exp_excl.res_kenmerkreservering_waarde) bedrag_ex,
0 btw_bedrag,
k.prs_kostenplaats_extern inex,
COALESCE( TO_DATE(exp_datum.res_kenmerkreservering_waarde, 'DD-MM-YYYY HH24:MI:SS'),
SYSDATE) exp_datum
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r,
res_discipline di,
prs_kostensoort ks,
prs_kostenplaats k,
prs_kostenplaatsgrp kg,
(SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE k.res_srtkenmerk_key = 121 AND kw.res_kenmerk_key = k.res_kenmerk_key
AND kw.res_kenmerkwaarde_verwijder IS NULL
AND k.res_kenmerk_verwijder IS NULL) kref,
(SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE k.res_srtkenmerk_key = 81 AND kw.res_kenmerk_key = k.res_kenmerk_key
AND kw.res_kenmerkwaarde_verwijder IS NULL
AND k.res_kenmerk_verwijder IS NULL) comp,
(SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE k.res_srtkenmerk_key = 201 AND kw.res_kenmerk_key = k.res_kenmerk_key
AND kw.res_kenmerkwaarde_verwijder IS NULL
AND k.res_kenmerk_verwijder IS NULL) exp_excl,
(SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE k.res_srtkenmerk_key = 202
AND kw.res_kenmerk_key = k.res_kenmerk_key
AND kw.res_kenmerkwaarde_verwijder IS NULL
AND k.res_kenmerk_verwijder IS NULL) exp_datum,
prs_bedrijf b
WHERE ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
AND r.res_ruimte_key = ro.res_ruimte_key
AND di.ins_discipline_key = r.res_discipline_key
AND ks.prs_kostensoort_key(+) = di.prs_kostensoort_key
AND k.prs_kostenplaats_key = rr.prs_kostenplaats_key
AND kg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key
AND kref.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key
AND comp.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key
AND b.prs_bedrijf_key(+) = fac.safe_to_number(comp.res_kenmerkreservering_waarde)
AND exp_excl.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND exp_datum.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key
)
SELECT *
FROM base
UNION ALL
SELECT klant,
res_rsv_ruimte_van,
periode,
grootboek,
kostenplaats_key,
kostenplaats,
deb_nr,
proj_key,
proj,
21 btw,
prs_kostensoort_btw,
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrtab_key = 42
AND fac.safe_to_number(fac_usrdata_code) = 21) btw_code,
res_key,
res_volgnr,
referentie,
reservering,
b.res_rsv_ruimte_key,
descr,
reservering||' - BTW 21%' omschrijving,
0 bedrag_ex,
fac.safe_to_number(exp_hoog.res_kenmerkreservering_waarde) btw_bedrag,
inex,
exp_datum
FROM base b,
(SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE k.res_srtkenmerk_key = 222 AND kw.res_kenmerk_key = k.res_kenmerk_key
AND kw.res_kenmerkwaarde_verwijder IS NULL
AND k.res_kenmerk_verwijder IS NULL) exp_hoog
WHERE exp_hoog.res_rsv_ruimte_key = b.res_rsv_ruimte_key
UNION ALL
SELECT klant,
res_rsv_ruimte_van,
periode,
grootboek,
kostenplaats_key,
kostenplaats,
deb_nr,
proj_key,
proj,
21 btw,
prs_kostensoort_btw,
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrtab_key = 42
AND fac.safe_to_number(fac_usrdata_code) = 6) btw_code,
res_key,
res_volgnr,
referentie,
reservering,
b.res_rsv_ruimte_key,
descr,
reservering||' - BTW 6%' omschrijving,
0 bedrag_ex,
fac.safe_to_number(exp_hoog.res_kenmerkreservering_waarde) btw_bedrag,
inex,
exp_datum
FROM base b,
(SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE k.res_srtkenmerk_key = 221 AND kw.res_kenmerk_key = k.res_kenmerk_key
AND kw.res_kenmerkwaarde_verwijder IS NULL
AND k.res_kenmerk_verwijder IS NULL) exp_hoog
WHERE exp_hoog.res_rsv_ruimte_key = b.res_rsv_ruimte_key
)
ORDER BY reservering, omschrijving DESC;
BEGIN adm.systrackscriptId('$Id$'); END;
/
COMMIT;
SPOOL OFF
@nybu.sql