SUTF#24543 koppeling Exact
svn path=/Customer/trunk/; revision=15639
This commit is contained in:
620
SUTF/sutf.sql
620
SUTF/sutf.sql
@@ -1380,24 +1380,642 @@ END;
|
||||
/
|
||||
|
||||
|
||||
------
|
||||
------ FACTUURIMPORT / KOPPELING XTRACTOR
|
||||
------
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_import_factuur (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(50);
|
||||
BEGIN
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8';
|
||||
|
||||
--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);document(8);debiteurnr(9);opmerking(10);btw_verlegd(11);betaalkenmerk(12)
|
||||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;14;15;16;7;8;9;0'
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8;9;10;11;12;0;0;0;0';
|
||||
fac_import_factuur_body(p_import_key, v_seq_of_columns);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_post_processing_factuur (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_kenmerk_key NUMBER(10);
|
||||
BEGIN
|
||||
--
|
||||
v_kenmerk_key := 1234;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_update_factuur (p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
-- Standaard FCLT verwerk import facturen
|
||||
fac_update_factuur (p_import_key);
|
||||
-- CUST: post processing voor verwerking van kenmerk 'Betalingskenmerk'
|
||||
sutf_post_processing_factuur (p_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
------
|
||||
------ FACTUUREXPORT / KOPPELING EXACT
|
||||
------
|
||||
|
||||
-- View waarin bij de factuur met fin_factuur_key het bijbehorende factuurbestand (PDF) geldt.
|
||||
CREATE OR REPLACE VIEW sutf_v_factuur_bestand (fin_factuur_key, fin_factuur_bestand)
|
||||
AS
|
||||
SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
|
||||
AND fin_kenmerk_key = 1;
|
||||
|
||||
-- View waarin bij de factuur met fin_factuur_key het bijbehorende betaalreferentie of betaalkenmerk geldt.
|
||||
CREATE OR REPLACE VIEW sutf_v_factuur_betaalref (fin_factuur_key, fin_factuur_betaalref)
|
||||
AS
|
||||
SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
|
||||
AND fin_kenmerk_key = 21;
|
||||
|
||||
|
||||
|
||||
-- view tbv export naar exact
|
||||
CREATE OR REPLACE VIEW sutf_v_factuur_mldcnt_gegevens (
|
||||
fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_boekmaand,
|
||||
fin_factuur_nr,
|
||||
fin_factuur_bestand,
|
||||
prs_bedrijf_key,
|
||||
fin_factuurregel_totaal,
|
||||
fin_factuurregel_btw,
|
||||
fin_factuurregel_btw_perc,
|
||||
fin_btwtabelwaarde_btwcode,
|
||||
fin_factuurregel_nr,
|
||||
fin_factuurregel_omschrijving,
|
||||
fin_factuur_debiteur_nr,
|
||||
fin_factuur_betaalref,
|
||||
project_nummer,
|
||||
prs_kostensoort_refcode,
|
||||
prs_kostenplaats_nr,
|
||||
bes_opdr_key,
|
||||
mld_opdr_key,
|
||||
cnt_contract_key,
|
||||
fin_factuur_statuses_key
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT f.fin_factuur_key,
|
||||
COALESCE (TO_CHAR (cnt_contract_nummer),
|
||||
(SELECT sd.ins_srtdiscipline_prefix
|
||||
|| m.mld_melding_key
|
||||
|| '/'
|
||||
|| o.mld_opdr_bedrijfopdr_volgnr
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding std,
|
||||
ins_tab_discipline d,
|
||||
ins_srtdiscipline sd
|
||||
WHERE m.mld_melding_key = o.mld_melding_key
|
||||
AND 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)
|
||||
)
|
||||
opdracht_id,
|
||||
f.fin_factuur_datum,
|
||||
f.fin_factuur_boekmaand,
|
||||
f.fin_factuur_nr,
|
||||
fb.fin_factuur_bestand,
|
||||
COALESCE (b_c.prs_bedrijf_key, b_o.prs_bedrijf_key) prs_bedrijf_key,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
btw.fin_btwtabelwaarde_perc,
|
||||
btw.fin_btwtabelwaarde_code,
|
||||
fr.fin_factuurregel_nr,
|
||||
fr.fin_factuurregel_omschrijving,
|
||||
f.fin_factuur_debiteur_nr,
|
||||
fbr.fin_factuur_betaalref,
|
||||
NULL projectnummer,
|
||||
COALESCE(ks_regel.prs_kostensoort_refcode,ks.prs_kostensoort_refcode),
|
||||
COALESCE (kp_c.prs_kostenplaats_nr, kp_o.prs_kostenplaats_nr) prs_kostenplaats_nr,
|
||||
NULL bes_opdr_key,
|
||||
o.mld_opdr_key,
|
||||
c.cnt_contract_key,
|
||||
f.fin_factuur_statuses_key
|
||||
FROM fin_factuur f,
|
||||
sutf_v_factuur_bestand fb,
|
||||
sutf_v_factuur_betaalref fbr,
|
||||
fin_factuurregel fr,
|
||||
fin_btwtabelwaarde btw,
|
||||
mld_opdr o,
|
||||
mld_typeopdr ot,
|
||||
cnt_contract c,
|
||||
prs_bedrijf b_o,
|
||||
prs_bedrijf b_c,
|
||||
prs_kostensoort ks,
|
||||
prs_kostensoort ks_regel,
|
||||
prs_kostenplaats kp_c,
|
||||
prs_kostenplaats kp_o
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
|
||||
AND f.fin_factuur_key = fb.fin_factuur_key(+)
|
||||
AND f.fin_factuur_key = fbr.fin_factuur_key(+)
|
||||
AND f.bes_bestelopdr_key is null
|
||||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||||
AND o.prs_kostenplaats_key = kp_o.prs_kostenplaats_key (+)
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
|
||||
AND f.cnt_contract_key = c.cnt_contract_key(+)
|
||||
AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
|
||||
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
|
||||
AND c.prs_kostenplaats_key = kp_c.prs_kostenplaats_key (+)
|
||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW sutf_v_factuur_bes_gegevens (
|
||||
fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_boekmaand,
|
||||
fin_factuur_nr,
|
||||
fin_factuur_bestand,
|
||||
prs_bedrijf_key,
|
||||
fin_factuurregel_totaal,
|
||||
fin_factuurregel_btw,
|
||||
fin_factuurregel_btw_perc,
|
||||
fin_btwtabelwaarde_btwcode,
|
||||
fin_factuurregel_nr,
|
||||
fin_factuurregel_omschrijving,
|
||||
fin_factuur_debiteur_nr,
|
||||
fin_factuur_betaalref,
|
||||
project_nummer,
|
||||
prs_kostensoort_refcode,
|
||||
prs_kostenplaats_nr,
|
||||
bes_opdr_key,
|
||||
mld_opdr_key,
|
||||
cnt_contract_key,
|
||||
fin_factuur_statuses_key
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT f.fin_factuur_key,
|
||||
TO_CHAR (bo.bes_bestelopdr_id) opdracht_id,
|
||||
f.fin_factuur_datum,
|
||||
f.fin_factuur_boekmaand,
|
||||
f.fin_factuur_nr,
|
||||
fb.fin_factuur_bestand,
|
||||
b.prs_bedrijf_key,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
btw.fin_btwtabelwaarde_perc,
|
||||
btw.fin_btwtabelwaarde_code,
|
||||
fr.fin_factuurregel_nr,
|
||||
fr.fin_factuurregel_omschrijving,
|
||||
f.fin_factuur_debiteur_nr,
|
||||
fbr.fin_factuur_betaalref,
|
||||
NULL projectnummer,
|
||||
COALESCE(ks_regel.prs_kostensoort_refcode,ks.prs_kostensoort_refcode),
|
||||
kp.prs_kostenplaats_nr,
|
||||
bo.bes_bestelopdr_key bes_opdr_key,
|
||||
NULL mld_opdr_key,
|
||||
NULL cnt_contract_key,
|
||||
f.fin_factuur_statuses_key
|
||||
FROM bes_bestelopdr bo,
|
||||
prs_bedrijf b,
|
||||
bes_bestelling bes,
|
||||
bes_bestelopdr_item boi,
|
||||
bes_bestelling_item bi,
|
||||
fin_factuur f,
|
||||
sutf_v_factuur_bestand fb,
|
||||
sutf_v_factuur_betaalref fbr,
|
||||
fin_factuurregel fr,
|
||||
fin_btwtabelwaarde btw,
|
||||
prs_kostensoort ks,
|
||||
prs_kostensoort ks_regel,
|
||||
prs_kostenplaats kp
|
||||
WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key
|
||||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||||
AND bes.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND kp.prs_kostenplaats_key = bes.prs_kostenplaats_key
|
||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
||||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
|
||||
AND f.fin_factuur_key = fb.fin_factuur_key(+)
|
||||
AND f.fin_factuur_key = fbr.fin_factuur_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW sutf_v_factuur_geg
|
||||
AS
|
||||
SELECT * from sutf_v_factuur_mldcnt_gegevens
|
||||
UNION
|
||||
SELECT * from sutf_v_factuur_bes_gegevens;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW sutf_v_factuur_geg_akkoord
|
||||
AS
|
||||
SELECT * from sutf_v_factuur_mldcnt_gegevens
|
||||
WHERE fin_factuur_statuses_key = 6
|
||||
UNION
|
||||
SELECT * from sutf_v_factuur_bes_gegevens
|
||||
WHERE fin_factuur_statuses_key = 6;
|
||||
|
||||
|
||||
|
||||
-- De OUDE ascii-rapportage van het exportbestand die voor Exact zou worden gegenereerd.
|
||||
CREATE OR REPLACE VIEW sutf_v_rap_exact
|
||||
(regelnummer,dagb_type, dagbknr, periode, bkjcode, bkstnr, oms25, datum, empty9, debnr,
|
||||
crdnr, empty12, bedrag, drbk_in_val, valcode, koers, kredbep, bdrkredbep, vervdatfak, vervdatkrd,
|
||||
empty21, empty22, weeknummer, betaalref, betwijze, grek_bdr, empty27, empty28, empty29, empty30,
|
||||
empty31, transsubtype, empty33, empty34, empty35, empty36, empty37, empty38, projectnr, field40)
|
||||
AS
|
||||
SELECT regelnummer,dagb_type, dagbknr, periode, bkjcode, bkstnr, oms25, datum, empty9, debnr,
|
||||
crdnr, empty12, bedrag, drbk_in_val, valcode, koers, kredbep, bdrkredbep, vervdatfak, vervdatkrd,
|
||||
empty21, empty22, weeknummer, betaalref, betwijze, grek_bdr, empty27, empty28, empty29, empty30,
|
||||
empty31, transsubtype, empty33, empty34, empty35, empty36, empty37, empty38, projectnr, '!'
|
||||
FROM (SELECT 0 regelnummer,
|
||||
'I' dagb_type,
|
||||
'42' dagbknr,
|
||||
'' periode,
|
||||
'' bkjcode,
|
||||
TO_CHAR (fin_factuur_key) bkstnr,
|
||||
opdracht_id oms25,
|
||||
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
|
||||
'' empty9,
|
||||
'' debnr,
|
||||
(SELECT prs_leverancier_nr
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key)
|
||||
crdnr,
|
||||
'' empty12,
|
||||
REPLACE (TO_CHAR (bedrag), ',', '.') bedrag,
|
||||
'' drbk_in_val,
|
||||
'' valcode,
|
||||
'' koers,
|
||||
'' kredbep,
|
||||
'' bdrkredbep,
|
||||
'' vervdatfak,
|
||||
'' vervdatkrd,
|
||||
'' empty21,
|
||||
'' empty22,
|
||||
'' weeknummer,
|
||||
COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) betaalref,
|
||||
'' betwijze,
|
||||
'' grek_bdr,
|
||||
'' empty27,
|
||||
'' empty28,
|
||||
'' empty29,
|
||||
'' empty30,
|
||||
'' empty31,
|
||||
'' transsubtype,
|
||||
'' empty33,
|
||||
'' empty34,
|
||||
'' empty35,
|
||||
'' empty36,
|
||||
'' empty37,
|
||||
'' empty38,
|
||||
'' projectnr,
|
||||
'!' empty40
|
||||
FROM (SELECT fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_nr,
|
||||
prs_bedrijf_key,
|
||||
fin_factuur_debiteur_nr,
|
||||
fin_factuur_betaalref,
|
||||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw)
|
||||
bedrag
|
||||
FROM sutf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_nr,
|
||||
prs_bedrijf_key,
|
||||
fin_factuur_debiteur_nr,
|
||||
fin_factuur_betaalref) fg
|
||||
UNION ALL
|
||||
SELECT fin_factuurregel_nr regelnummer,
|
||||
'I' dagb_type,
|
||||
'42' dagbknr,
|
||||
'' periode,
|
||||
'' bkjcode,
|
||||
TO_CHAR (fin_factuur_key) boekstuknummer,
|
||||
COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) oms25,
|
||||
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
|
||||
prs_kostensoort_refcode reknr,
|
||||
'' debnr,
|
||||
(SELECT prs_leverancier_nr
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key)
|
||||
crdnr,
|
||||
'' empty12,
|
||||
REPLACE (TO_CHAR (fin_factuurregel_totaal), ',', '.') bedrag,
|
||||
'' drbk_in_val,
|
||||
'' val_code,
|
||||
'' koers,
|
||||
'' kredbep,
|
||||
'' bdrkredbep,
|
||||
'' vervdatfak,
|
||||
'' vervdatkrd,
|
||||
fin_btwtabelwaarde_btwcode btw_code,
|
||||
REPLACE (TO_CHAR (fin_factuurregel_btw), ',', '.') btw_bdr,
|
||||
'' weeknummer,
|
||||
'' empty24,
|
||||
'' empty25,
|
||||
'' empty26,
|
||||
prs_kostenplaats_nr kstplcode,
|
||||
'' kstdrcode,
|
||||
'' empty29,
|
||||
'' empty30,
|
||||
'' empty31,
|
||||
'' transsubtype,
|
||||
'' empty33,
|
||||
'' empty34,
|
||||
'' emtpy35,
|
||||
'' empty36,
|
||||
'' empty37,
|
||||
'' empty38,
|
||||
project_nummer projectnr,
|
||||
'!' empty40
|
||||
FROM sutf_v_factuur_geg_akkoord fg);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Alle waarden (zijn evt meer records) uit eigen tabel '$SYSTEM' waarvan de waarde_code met een
|
||||
-- zekere prefix begint (volgens de systeem-setting PREFIX_FCLT_FACTUUR_XML_HEADER), komen in de header vd xml terecht.
|
||||
CREATE OR REPLACE VIEW sutf_v_fclt_factuur_header (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT '<' || fac_usrdata_code || '>' || fac_usrdata_omschr || '</' || fac_usrdata_code || '>', 1
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = 101
|
||||
AND fac_usrdata_verwijder is null;
|
||||
|
||||
CREATE OR REPLACE VIEW sutf_v_fclt_factuur_body (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT DECODE(regelnummer,0,'<fin_factuur>','<fin_factuurregel>')
|
||||
|| '<fin_factuur_key>' || fin_factuur_key || '</fin_factuur_key>'
|
||||
|| '<fin_factuur_nr>' || xml.char_to_html(fin_factuur_nr) || '</fin_factuur_nr>'
|
||||
|| '<fin_factuur_bestand>' || xml.char_to_html(fin_factuur_bestand) || '</fin_factuur_bestand>'
|
||||
|| '<fin_factuur_debiteur_nr>' || xml.char_to_html(fin_factuur_debiteur_nr) || '</fin_factuur_debiteur_nr>'
|
||||
|| '<bes_mld_cnt_opdracht_id>' || xml.char_to_html(bes_mld_cnt_opdracht_id) || '</bes_mld_cnt_opdracht_id>'
|
||||
|| '<fin_factuur_datum>' || datum || '</fin_factuur_datum>'
|
||||
|| '<fin_factuur_boekmaand>' || fin_factuur_boekmaand || '</fin_factuur_boekmaand>'
|
||||
|| '<prs_kostensoort_refcode>' || xml.char_to_html(grootboekrekening) || '</prs_kostensoort_refcode>'
|
||||
|| '<prs_betaal_referentie>' || xml.char_to_html(betaalreferentie) || '</prs_betaal_referentie>'
|
||||
|| '<prs_leverancier_nr>' || xml.char_to_html(crediteur_nr) || '</prs_leverancier_nr>'
|
||||
|| '<prs_bedrijf_naam>' || xml.char_to_html(crediteur_naam) || '</prs_bedrijf_naam>'
|
||||
|| '<fin_factuur_totaal_exbtw>' || fin_factuur_totaal_exbtw || '</fin_factuur_totaal_exbtw>'
|
||||
|| '<fin_factuur_totaal_incbtw>' || fin_factuur_totaal_incbtw || '</fin_factuur_totaal_incbtw>'
|
||||
|| '<fin_factuurregel_omschrijving>' || xml.char_to_html(fin_factuurregel_omschrijving) || '</fin_factuurregel_omschrijving>'
|
||||
|| '<fin_factuurregel_totaal>' || fin_factuurregel_totaal || '</fin_factuurregel_totaal>'
|
||||
|| '<fin_factuurregel_btw_perc>' || btw_percentage || '</fin_factuurregel_btw_perc>'
|
||||
|| '<fin_factuurregel_btw_perc_code>' || xml.char_to_html(btw_code) || '</fin_factuurregel_btw_perc_code>'
|
||||
|| '<fin_factuurregel_btw_bedrag>' || btw_bedrag || '</fin_factuurregel_btw_bedrag>'
|
||||
|| '<prs_kostenplaats_nr>' || xml.char_to_html(prs_kostenplaats_nr) || '</prs_kostenplaats_nr>'
|
||||
|| DECODE(regelnummer, 0, '', DECODE(aant_factuur_regels - regelnummer,0,'</fin_factuurregel></fin_factuur>','</fin_factuurregel>'))
|
||||
,
|
||||
(10000000 + fin_factuur_key) * 100 + regelnummer
|
||||
FROM (SELECT 0 regelnummer,
|
||||
aant_factuur_regels,
|
||||
fin_factuur_key,
|
||||
fin_factuur_nr,
|
||||
fin_factuur_bestand,
|
||||
fin_factuur_debiteur_nr,
|
||||
opdracht_id bes_mld_cnt_opdracht_id,
|
||||
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
|
||||
fin_factuur_boekmaand,
|
||||
'' grootboekrekening,
|
||||
betaalreferentie,
|
||||
(SELECT prs_leverancier_nr
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_nr,
|
||||
(SELECT prs_bedrijf_naam
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_naam,
|
||||
REPLACE (TO_CHAR (ROUND(bedrag_exbtw,2)), ',', '.') fin_factuur_totaal_exbtw,
|
||||
REPLACE (TO_CHAR (ROUND(bedrag_incbtw,2)), ',', '.') fin_factuur_totaal_incbtw,
|
||||
'' fin_factuurregel_omschrijving,
|
||||
'' fin_factuurregel_totaal,
|
||||
'' btw_percentage,
|
||||
'' btw_code,
|
||||
'' btw_bedrag,
|
||||
'' prs_kostenplaats_nr
|
||||
FROM (SELECT fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_boekmaand,
|
||||
fin_factuur_nr,
|
||||
fin_factuur_bestand,
|
||||
prs_bedrijf_key,
|
||||
fin_factuur_debiteur_nr,
|
||||
COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) betaalreferentie,
|
||||
COUNT(fin_factuur_key) AS aant_factuur_regels,
|
||||
SUM (fin_factuurregel_totaal) bedrag_exbtw,
|
||||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw) bedrag_incbtw
|
||||
FROM sutf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_boekmaand,
|
||||
fin_factuur_nr,
|
||||
fin_factuur_bestand,
|
||||
prs_bedrijf_key,
|
||||
fin_factuur_debiteur_nr,
|
||||
fin_factuur_betaalref) fg
|
||||
UNION ALL
|
||||
SELECT fin_factuurregel_nr regelnummer,
|
||||
(SELECT COUNT(fin_factuur_key)
|
||||
FROM sutf_v_factuur_geg_akkoord fc
|
||||
WHERE fc.fin_factuur_key = fg.fin_factuur_key
|
||||
GROUP BY fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_nr,
|
||||
prs_bedrijf_key,
|
||||
fin_factuur_debiteur_nr) AS aant_factuur_regels,
|
||||
fin_factuur_key,
|
||||
fin_factuur_nr,
|
||||
'' fin_factuur_bestand,
|
||||
fin_factuur_debiteur_nr,
|
||||
'' bes_mld_cnt_opdracht_id,
|
||||
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
|
||||
fin_factuur_boekmaand,
|
||||
prs_kostensoort_refcode grootboekrekening,
|
||||
COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) betaalreferentie,
|
||||
(SELECT prs_leverancier_nr
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_nr,
|
||||
(SELECT prs_bedrijf_naam
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_naam,
|
||||
'' fin_factuur_totaal_exbtw,
|
||||
'' fin_factuur_totaal_incbtw,
|
||||
fin_factuurregel_omschrijving,
|
||||
REPLACE (TO_CHAR (ROUND(fin_factuurregel_totaal,2)), ',', '.') fin_factuurregel_totaal,
|
||||
TO_CHAR(fin_factuurregel_btw_perc) btw_percentage,
|
||||
fin_btwtabelwaarde_btwcode btw_code,
|
||||
REPLACE (TO_CHAR (ROUND(fin_factuurregel_btw,2)), ',', '.') btw_bedrag,
|
||||
prs_kostenplaats_nr
|
||||
FROM sutf_v_factuur_geg_akkoord fg
|
||||
ORDER BY fin_factuur_key, regelnummer);
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW sutf_v_export_fclt_factuur (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT '<xml>',0 FROM DUAL
|
||||
UNION
|
||||
SELECT result, result_order FROM sutf_v_fclt_factuur_header
|
||||
UNION
|
||||
SELECT result, result_order FROM sutf_v_fclt_factuur_body
|
||||
UNION
|
||||
SELECT '</xml>',99999999999999999999 FROM DUAL;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_export_fclt_factuur (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
|
||||
-- In cursor cfactuur alle facturen die worden geexporteerd...
|
||||
CURSOR cfactuur
|
||||
IS
|
||||
SELECT fin_factuur_key
|
||||
FROM sutf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key;
|
||||
|
||||
BEGIN
|
||||
-- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
-- Zowel de factuur in tracking zetten als de status op verwerkt (=7) zetten
|
||||
fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL);
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW sutf_v_export_undo_exact (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT REPLACE(REPLACE(f.fin_factuur_key
|
||||
|| ';'
|
||||
|| opdracht_id
|
||||
|| ';'
|
||||
|| fin_factuur_datum
|
||||
|| ';'
|
||||
|| fin_factuur_nr
|
||||
|| ';'
|
||||
|| prs_bedrijf_key
|
||||
|| ';'
|
||||
|| fin_factuurregel_totaal
|
||||
|| ';'
|
||||
|| fin_factuurregel_btw
|
||||
|| ';'
|
||||
|| fin_factuurregel_nr
|
||||
|| ';'
|
||||
|| fin_factuur_debiteur_nr
|
||||
|| ';'
|
||||
|| project_nummer
|
||||
|| ';'
|
||||
|| prs_kostensoort_refcode
|
||||
|| ';'
|
||||
|| bes_opdr_key
|
||||
|| ';'
|
||||
|| mld_opdr_key
|
||||
|| ';'
|
||||
|| cnt_contract_key
|
||||
,CHR (13), ''), CHR (10), '<ret>'), f.fin_factuur_key
|
||||
FROM sutf_v_factuur_geg f, fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code ='FINVER'
|
||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||
AND t.fac_tracking_datum >= (SELECT MAX(t1.fac_tracking_datum) - (1 / (24*60))
|
||||
FROM fac_tracking t1
|
||||
WHERE t1.fac_srtnotificatie_key = t.fac_srtnotificatie_key)
|
||||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||||
AND f.fin_factuur_statuses_key = 7;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_select_undo_exact (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_errormsg VARCHAR (200);
|
||||
BEGIN
|
||||
v_errormsg := 'Geen akties';
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
-- Procedure om alle geexporteerde facturen naar status verwerkt te zetten.
|
||||
CREATE OR REPLACE PROCEDURE sutf_export_undo_exact (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
CURSOR cfactuur
|
||||
IS
|
||||
SELECT DISTINCT f.fin_factuur_key
|
||||
FROM fac_tracking t, fac_srtnotificatie sn, fin_factuur f
|
||||
WHERE sn.fac_srtnotificatie_code ='FINVER'
|
||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||
AND t.fac_tracking_datum >= (SELECT MAX(t1.fac_tracking_datum) - (1 / (24*60))
|
||||
FROM fac_tracking t1
|
||||
WHERE t1.fac_srtnotificatie_key = t.fac_srtnotificatie_key)
|
||||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||||
AND fin_factuur_statuses_key = 7;
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
v_errormsg := 'Geen akties';
|
||||
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
-- Eerst de factuur in tracking zetten...
|
||||
-- Omdat van 7 naar 6 niet mag/geoorloofd is, lukt het niet via
|
||||
-- de reguliere functie fin.setfactuurstatus (cfact.fin_factuur_key, 6, NULL);
|
||||
|
||||
-- Dan maar zelf en custom-made:
|
||||
fac.trackaction ('FINFOK', cfact.fin_factuur_key, NULL, NULL, 'Factuur uit archief teruggezet');
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 6
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: sutf.sql $', '$Revision$', 0); END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user