230 lines
8.7 KiB
SQL
230 lines
8.7 KiB
SQL
-- 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ë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 |