SKAF#18869: XML-Export naar Exact incl PDF-verwijzing
svn path=/Customer/trunk/; revision=14578
This commit is contained in:
335
SKAF/skaf.sql
335
SKAF/skaf.sql
@@ -1,7 +1,7 @@
|
||||
-- Script containing customer specific configuration sql statements for SKAF
|
||||
-- (c) 2009 SG|facilitor bv
|
||||
-- $Revision: 7 $
|
||||
-- $Modtime: 2-12-10 17:14 $
|
||||
-- $Revision: 8 $
|
||||
-- $Modtime: 4-01-11 16:47 $
|
||||
--
|
||||
-- Support: +31 53 4800710
|
||||
|
||||
@@ -1509,6 +1509,13 @@ AS
|
||||
AND f.fin_factuur_key = fb.fin_factuur_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_v_factuur_geg
|
||||
AS
|
||||
SELECT * from skaf_v_factuur_mldcnt_gegevens
|
||||
UNION
|
||||
SELECT * from skaf_v_factuur_bes_gegevens;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_v_factuur_geg_akkoord
|
||||
AS
|
||||
SELECT * from skaf_v_factuur_mldcnt_gegevens
|
||||
@@ -1519,8 +1526,7 @@ WHERE fin_factuur_statuses_key = 6;
|
||||
|
||||
|
||||
|
||||
-- De rapportage van het exportbestand die voor Exact zou worden gegenereerd.
|
||||
|
||||
-- De OUDE ascii-rapportage van het exportbestand die voor Exact zou worden gegenereerd.
|
||||
CREATE OR REPLACE VIEW skaf_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,
|
||||
@@ -1647,242 +1653,6 @@ AS
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_v_export_exact (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT REPLACE(REPLACE( 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
|
||||
|| ','
|
||||
|| empty40,CHR (13), ''), CHR (10), '<ret>'),
|
||||
(10000000 + bkstnr) * 100 + regelnummer
|
||||
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,
|
||||
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,
|
||||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw)
|
||||
bedrag
|
||||
FROM skaf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
fin_factuur_nr,
|
||||
prs_bedrijf_key,
|
||||
fin_factuur_debiteur_nr) fg
|
||||
UNION ALL
|
||||
SELECT fin_factuurregel_nr regelnummer,
|
||||
'I' dagb_type,
|
||||
'42' dagbknr,
|
||||
'' periode,
|
||||
'' bkjcode,
|
||||
TO_CHAR (fin_factuur_key) boekstuknummer,
|
||||
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,
|
||||
DECODE (ROUND( (fin_factuurregel_btw / decode(fin_factuurregel_totaal,0,0.000000001,fin_factuurregel_totaal))
|
||||
* 100),
|
||||
19,
|
||||
'4',
|
||||
6,
|
||||
'2',
|
||||
0,
|
||||
'0',
|
||||
'-1'
|
||||
)
|
||||
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 skaf_v_factuur_geg_akkoord fg
|
||||
ORDER BY bkstnr, regelnummer);
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_select_exact (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_errormsg VARCHAR (200);
|
||||
BEGIN
|
||||
v_errormsg := 'Geen akties';
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
-- Procedure om alle facturen te exporteren naar exact.
|
||||
CREATE OR REPLACE PROCEDURE skaf_export_exact (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
-- Bewaar de factuur keys in een tijdelijke tabel zodat bij het verwerken (nieuwe export)
|
||||
-- deze keys gebruikt kunnen worden.
|
||||
DELETE skaf_EXP_FACTUUR;
|
||||
|
||||
INSERT INTO skaf_EXP_FACTUUR (FIN_FACTUUR_KEY)
|
||||
( SELECT DISTINCT FIN_FACTUUR_KEY FROM skaf_v_factuur_geg_akkoord );
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
--- Facilitor Graphics / CAD ---
|
||||
|
||||
|
||||
@@ -2026,24 +1796,24 @@ CREATE OR REPLACE VIEW skaf_v_fclt_factuur_body (
|
||||
)
|
||||
AS
|
||||
SELECT DECODE(regelnummer,0,'<fin_factuur>','<fin_factuurregel>')
|
||||
|| '<fin_factuur_key>' || fin_factuur_key || '</fin_factuur_key>'
|
||||
|| '<fin_factuur_nr>' || fin_factuur_nr || '</fin_factuur_nr>'
|
||||
|| '<fin_factuur_bestand>' || fin_factuur_bestand || '</fin_factuur_bestand>'
|
||||
|| '<fin_factuur_debiteur_nr>' || fin_factuur_debiteur_nr || '</fin_factuur_debiteur_nr>'
|
||||
|| '<bes_mld_cnt_opdracht_id>' || 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>' || grootboekrekening || '</prs_kostensoort_refcode>'
|
||||
|| '<prs_leverancier_nr>' || crediteur_nr || '</prs_leverancier_nr>'
|
||||
|| '<prs_bedrijf_naam>' || 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>' || 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_bedrag>' || btw_bedrag || '</fin_factuurregel_btw_bedrag>'
|
||||
|| '<prs_kostenplaats_nr>' || prs_kostenplaats_nr || '</prs_kostenplaats_nr>'
|
||||
|| DECODE(regelnummer, 0, '', DECODE(aant_factuur_regels - regelnummer,0,'</fin_factuurregel></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_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_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,
|
||||
@@ -2158,45 +1928,13 @@ AS
|
||||
FROM skaf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key;
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
c_datum DATE;
|
||||
BEGIN
|
||||
-- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
|
||||
|
||||
-- Bewaar de factuur keys in een tijdelijke tabel zodat bij een UNDO-actie (!!)
|
||||
-- deze keys gebruikt kunnen worden om de status 'Admin. verwerkt' (=7) terug te kunnen zetten naar 'Akkoord' (=6)
|
||||
DELETE skaf_EXP_FACTUUR;
|
||||
|
||||
INSERT INTO skaf_EXP_FACTUUR (FIN_FACTUUR_KEY, SKAF_EXPORT_DATUM)
|
||||
( SELECT DISTINCT FIN_FACTUUR_KEY, SYSDATE FROM skaf_v_factuur_geg_akkoord );
|
||||
|
||||
-- En nu alle facturen die ge-exporteerd zijn, naar de status 'Admin. verwerkt' (=7) zetten,
|
||||
-- maar niet zonder eerst in de tracking op te slaan...
|
||||
|
||||
-- c_datum := SYSDATE;
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
-- Eerst de factuur in tracking zetten...
|
||||
|
||||
-- Zowel de factuur in tracking zetten als de status op verwerkt (=7) zetten
|
||||
fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL);
|
||||
|
||||
--fac.trackaction ('FINVER', cfact.fin_factuur_key, NULL, c_datum, 'Factuur geexporteerd en gearchiveerd');
|
||||
--UPDATE fin_factuur
|
||||
--SET fin_factuur_statuses_key = 7
|
||||
--WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
END LOOP;
|
||||
|
||||
--UPDATE fin_factuur
|
||||
--SET fin_factuur_statuses_key = 7
|
||||
--WHERE fin_factuur_key in
|
||||
--(SELECT f.fin_factuur_key
|
||||
-- FROM skaf_exp_factuur f, skaf_v_factuur_geg_akkoord fg
|
||||
-- WHERE f.fin_factuur_key = fg.fin_factuur_key);
|
||||
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2235,11 +1973,16 @@ SELECT REPLACE(REPLACE(f.fin_factuur_key
|
||||
|| ';'
|
||||
|| cnt_contract_key
|
||||
,CHR (13), ''), CHR (10), '<ret>'), f.fin_factuur_key
|
||||
FROM skaf_exp_factuur f,
|
||||
skaf_v_factuur_geg_akkoord fg
|
||||
WHERE f.fin_factuur_key = fg.fin_factuur_key;
|
||||
|
||||
FROM skaf_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 skaf_select_undo_exact (
|
||||
p_applname IN VARCHAR2,
|
||||
@@ -2324,7 +2067,7 @@ END;
|
||||
|
||||
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: skaf.sql $', '$Revision: 7 $', 0); END;
|
||||
BEGIN adm.systrackscript('$Workfile: skaf.sql $', '$Revision: 8 $', 0); END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user