SKAF#18869: XML-Export naar Exact incl PDF-verwijzing
Eerst maar eens een tussenversie inchecken, hebben we al wat (of eigenlijk al wel het meest in VSS opgeslagen) svn path=/Customer/trunk/; revision=14520
This commit is contained in:
484
SKAF/skaf.sql
484
SKAF/skaf.sql
@@ -1,7 +1,7 @@
|
||||
-- Script containing customer specific configuration sql statements for SKAF
|
||||
-- (c) 2009 SG|facilitor bv
|
||||
-- $Revision: 6 $
|
||||
-- $Modtime: 21-10-10 16:49 $
|
||||
-- $Revision: 7 $
|
||||
-- $Modtime: 2-12-10 17:14 $
|
||||
--
|
||||
-- Support: +31 53 4800710
|
||||
|
||||
@@ -1350,27 +1350,48 @@ END skaf_update_prs;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_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 =
|
||||
(select fac.safe_to_number(fac_usrdata_omschr)
|
||||
from fac_usrdata
|
||||
where fac_usrtab_key =
|
||||
(select fac_usrtab_key
|
||||
from fac_usrtab
|
||||
where fac_usrtab_naam = '$SYSTEM')
|
||||
and fac_usrdata_code='$FIN_KENMERK_KEY_BESTAND'
|
||||
and fac_usrdata_verwijder is null
|
||||
);
|
||||
|
||||
|
||||
|
||||
-- view tbv export naar exact
|
||||
CREATE OR REPLACE VIEW skaf_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_nr,
|
||||
fin_factuurregel_omschrijving,
|
||||
fin_factuur_debiteur_nr,
|
||||
project_nummer,
|
||||
prs_kostensoort_refcode,
|
||||
prs_kostenplaats_nr,
|
||||
bes_opdr_key,
|
||||
mld_opdr_key,
|
||||
cnt_contract_key
|
||||
cnt_contract_key,
|
||||
fin_factuur_statuses_key
|
||||
)
|
||||
AS
|
||||
SELECT f.fin_factuur_key,
|
||||
SELECT DISTINCT f.fin_factuur_key,
|
||||
COALESCE (TO_CHAR (cnt_contract_nummer),
|
||||
(SELECT sd.ins_srtdiscipline_prefix
|
||||
|| m.mld_melding_key
|
||||
@@ -1386,19 +1407,24 @@ AS
|
||||
)
|
||||
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,
|
||||
fr.fin_factuurregel_nr,
|
||||
fr.fin_factuurregel_omschrijving,
|
||||
f.fin_factuur_debiteur_nr,
|
||||
NULL projectnummer,
|
||||
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
|
||||
c.cnt_contract_key,
|
||||
f.fin_factuur_statuses_key
|
||||
FROM fin_factuur f,
|
||||
skaf_v_factuur_bestand fb,
|
||||
fin_factuurregel fr,
|
||||
mld_opdr o,
|
||||
mld_typeopdr ot,
|
||||
@@ -1409,6 +1435,7 @@ AS
|
||||
prs_kostenplaats kp_c,
|
||||
prs_kostenplaats kp_o
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND f.fin_factuur_key = fb.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 (+)
|
||||
@@ -1417,49 +1444,57 @@ AS
|
||||
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 f.fin_factuur_statuses_key = 6;
|
||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_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_nr,
|
||||
fin_factuurregel_omschrijving,
|
||||
fin_factuur_debiteur_nr,
|
||||
project_nummer,
|
||||
prs_kostensoort_refcode,
|
||||
prs_kostenplaats_nr,
|
||||
bes_opdr_key,
|
||||
mld_opdr_key,
|
||||
cnt_contract_key
|
||||
cnt_contract_key,
|
||||
fin_factuur_statuses_key
|
||||
)
|
||||
AS
|
||||
SELECT f.fin_factuur_key,
|
||||
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,
|
||||
fr.fin_factuurregel_nr,
|
||||
fr.fin_factuurregel_omschrijving,
|
||||
f.fin_factuur_debiteur_nr,
|
||||
NULL projectnummer,
|
||||
ks.prs_kostensoort_refcode,
|
||||
kp.prs_kostenplaats_nr,
|
||||
bo.bes_bestelopdr_key bes_opdr_key,
|
||||
NULL mld_opdr_key,
|
||||
NULL cnt_contract_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,
|
||||
skaf_v_factuur_bestand fb,
|
||||
fin_factuurregel fr,
|
||||
prs_kostensoort ks,
|
||||
prs_kostenplaats kp
|
||||
@@ -1469,16 +1504,18 @@ AS
|
||||
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 f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||||
AND f.fin_factuur_statuses_key = 6
|
||||
AND f.fin_factuur_key = fr.fin_factuur_key;
|
||||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND f.fin_factuur_key = fb.fin_factuur_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_v_factuur_gegevens
|
||||
CREATE OR REPLACE VIEW skaf_v_factuur_geg_akkoord
|
||||
AS
|
||||
SELECT * from skaf_v_factuur_mldcnt_gegevens
|
||||
WHERE fin_factuur_statuses_key = 6
|
||||
UNION
|
||||
SELECT * from skaf_v_factuur_bes_gegevens;
|
||||
SELECT * from skaf_v_factuur_bes_gegevens
|
||||
WHERE fin_factuur_statuses_key = 6;
|
||||
|
||||
|
||||
|
||||
@@ -1545,7 +1582,7 @@ AS
|
||||
fin_factuur_debiteur_nr,
|
||||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw)
|
||||
bedrag
|
||||
FROM skaf_v_factuur_gegevens
|
||||
FROM skaf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
@@ -1606,7 +1643,7 @@ AS
|
||||
'' empty38,
|
||||
project_nummer projectnr,
|
||||
'!' empty40
|
||||
FROM skaf_v_factuur_gegevens fg);
|
||||
FROM skaf_v_factuur_geg_akkoord fg);
|
||||
|
||||
|
||||
|
||||
@@ -1746,7 +1783,7 @@ AS
|
||||
fin_factuur_debiteur_nr,
|
||||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw)
|
||||
bedrag
|
||||
FROM skaf_v_factuur_gegevens
|
||||
FROM skaf_v_factuur_geg_akkoord
|
||||
GROUP BY fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
@@ -1807,7 +1844,7 @@ AS
|
||||
'' empty38,
|
||||
project_nummer projectnr,
|
||||
'!' empty40
|
||||
FROM skaf_v_factuur_gegevens fg
|
||||
FROM skaf_v_factuur_geg_akkoord fg
|
||||
ORDER BY bkstnr, regelnummer);
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_select_exact (
|
||||
@@ -1839,85 +1876,11 @@ BEGIN
|
||||
DELETE skaf_EXP_FACTUUR;
|
||||
|
||||
INSERT INTO skaf_EXP_FACTUUR (FIN_FACTUUR_KEY)
|
||||
( SELECT DISTINCT FIN_FACTUUR_KEY FROM skaf_v_factuur_gegevens );
|
||||
( SELECT DISTINCT FIN_FACTUUR_KEY FROM skaf_v_factuur_geg_akkoord );
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_v_export_verwerk_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 skaf_exp_factuur f,
|
||||
skaf_v_factuur_gegevens fg
|
||||
WHERE f.fin_factuur_key = fg.fin_factuur_key;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_select_verwerk_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 skaf_export_verwerk_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
|
||||
v_errormsg := 'Geen akties';
|
||||
|
||||
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_gegevens fg
|
||||
WHERE f.fin_factuur_key = fg.fin_factuur_key);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
--- Facilitor Graphics / CAD ---
|
||||
@@ -2032,10 +1995,341 @@ AS
|
||||
GROUP BY fclt_f_locatie;
|
||||
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: skaf.sql $', '$Revision: 6 $', 0); END;
|
||||
|
||||
-- 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 skaf_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 =
|
||||
(SELECT fac_usrtab_key
|
||||
FROM fac_usrtab
|
||||
WHERE fac_usrtab_naam = '$SYSTEM')
|
||||
AND UPPER(fac_usrdata_code) LIKE (SELECT UPPER(fac_usrdata_omschr) || '%'
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key =
|
||||
(SELECT fac_usrtab_key
|
||||
FROM fac_usrtab
|
||||
WHERE fac_usrtab_naam = '$SYSTEM')
|
||||
AND fac_usrdata_code = '$PREFIX_FCLT_FACTUUR_XML_HEADER'
|
||||
AND fac_usrdata_verwijder is null)
|
||||
AND fac_usrdata_verwijder is null;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_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>' || 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>'))
|
||||
,
|
||||
(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,
|
||||
(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_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,
|
||||
COUNT(fin_factuur_key) AS aant_factuur_regels,
|
||||
SUM (fin_factuurregel_totaal) bedrag_exbtw,
|
||||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw) bedrag_incbtw
|
||||
FROM skaf_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) fg
|
||||
UNION ALL
|
||||
SELECT fin_factuurregel_nr regelnummer,
|
||||
(SELECT COUNT(fin_factuur_key)
|
||||
FROM skaf_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,
|
||||
(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,
|
||||
DECODE (ROUND( (fin_factuurregel_btw / decode(fin_factuurregel_totaal,0,0.000000001,fin_factuurregel_totaal))
|
||||
* 100)
|
||||
, 19,'19', 6, '6', 0, '0', '-1') btw_percentage,
|
||||
REPLACE (TO_CHAR (ROUND(fin_factuurregel_btw,2)), ',', '.') btw_bedrag,
|
||||
prs_kostenplaats_nr
|
||||
FROM skaf_v_factuur_geg_akkoord fg
|
||||
ORDER BY fin_factuur_key, regelnummer);
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_v_export_fclt_factuur (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT '<xml>',0 FROM DUAL
|
||||
UNION
|
||||
SELECT result, result_order FROM skaf_v_fclt_factuur_header
|
||||
UNION
|
||||
SELECT result, result_order FROM skaf_v_fclt_factuur_body
|
||||
UNION
|
||||
SELECT '</xml>',99999999999999999999 FROM DUAL;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_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 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...
|
||||
|
||||
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;
|
||||
/
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW skaf_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 skaf_exp_factuur f,
|
||||
skaf_v_factuur_geg_akkoord fg
|
||||
WHERE f.fin_factuur_key = fg.fin_factuur_key;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_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 skaf_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;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_import_factuur (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(50);
|
||||
BEGIN
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8';
|
||||
fac_import_factuur_body(p_applname, p_applrun, p_filedir, p_filename, v_seq_of_columns);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE skaf_update_factuur (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
fac_update_factuur (p_applname, p_applrun);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: skaf.sql $', '$Revision: 7 $', 0); END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
commit;
|
||||
|
||||
spool off
|
||||
|
||||
Reference in New Issue
Block a user