RABO#62723 -- Uitbreiding Facilitor - Axxerion koppeling - Bijlage en M-meldingen naar Axxerion
svn path=/Customer/trunk/; revision=49276
This commit is contained in:
450
AA/RABO/rabo.sql
450
AA/RABO/rabo.sql
@@ -417,40 +417,35 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
-- Bronview - ONDERHANDEN!!!!!
|
||||
-- De SA en ST:
|
||||
-- Bronview voor exportfunctie MELDING AXXERION - zie ticket 62723
|
||||
-- 1. De SA- en ST-meldingen
|
||||
---- Moeten bij aanmaken in Facilitor doorgestuurd worden naar Axxerion +
|
||||
---- Krijgen terugkoppeling met Axxerion-nr omdat ze verder in status-updates (vanuit facilitor => axxerion) moeten meelopen
|
||||
-- De MJOB-meldingen
|
||||
---- Moeten pas doorgezet worden als een Offerte is goedgekeurd.
|
||||
------ Proces: Rabo/Axxerion geeft dan namelijk nog een officieel akkoord, voordat men in Facilitor de werk-opdracht kan doorzetten
|
||||
------ In eerste instantie gaat dit akkoord via mail/telefonisch.
|
||||
------ Tzt in koppeling opnemen (echter dan dus wel buiten de andere updates houden...)
|
||||
---- Krijgen terugkoppeling met Axxerion-nr omdat ze verder in status-updates (vanuit facilitor => axxerion) moeten meelopen - NOG INBOUWEN!
|
||||
-- 2. De MJOB-meldingen
|
||||
---- Moeten pas doorgezet worden als op MJP-meldingsniveau de Motivatie is ingevuld.
|
||||
CREATE OR REPLACE VIEW rabo_v_melding_axxerion
|
||||
(
|
||||
MLD_MELDING_KEY,
|
||||
STDMELDING2, -- mld_stdmelding_omschrijving
|
||||
VAKGROEP, -- vakgroep DISCIPLINE_OMSCHRIJVING
|
||||
KWIS, -- Vakgroeptype INS_SRTDISCIPLINE_OMSCHRIJVING
|
||||
OPMERKING, -- korte omschrijving - wordt vaak niet gevuld bij RABO / uitgezet...
|
||||
REF_KEY, -- Externe nummer - ref_key axxerion
|
||||
STDMELDING2, -- mld_stdmelding_omschrijving
|
||||
VAKGROEP, -- vakgroep DISCIPLINE_OMSCHRIJVING
|
||||
KWIS, -- Vakgroeptype INS_SRTDISCIPLINE_OMSCHRIJVING
|
||||
OPMERKING, -- korte omschrijving - wordt vaak niet gevuld bij RABO / uitgezet...
|
||||
OMSCHRIJVING,
|
||||
DATUM,
|
||||
EINDDATUM,
|
||||
LOCATIE_CODE,
|
||||
LOCATIE,
|
||||
MELDING,
|
||||
MELDING, -- Voor prefix-xml
|
||||
HOOFDMELDING,
|
||||
RFQ_AANTAL, -- Aantal rfq's uitgezet....
|
||||
RFQ_UITVOERDER, -- Partij waarbij Offerte is 'afgemeld' (waar men zaken mee gaat doen..)
|
||||
RFQ_GEPLANDE_KOSTEN,
|
||||
RFQ_AANTAL, -- Aantal rfq's uitgezet, zodat je weet hoeveel bijlagen je moet ontvangen....
|
||||
RFQ_MOTIVATIE,
|
||||
-- RFQ_BTW -- Deze ook nog meenemen?
|
||||
RFQ_DATUMAKKOORD,
|
||||
RFQ_NR,
|
||||
RFQ_ID
|
||||
RFQ_GEPLANDE_KOSTEN,
|
||||
RFQ_FASE
|
||||
)
|
||||
AS
|
||||
SELECT m.mld_melding_key,
|
||||
m.mld_melding_externnr,
|
||||
v.mld_stdmelding_omschrijving,
|
||||
v.ins_discipline_omschrijving,
|
||||
v.ins_srtdiscipline_omschrijving,
|
||||
@@ -460,16 +455,13 @@ AS
|
||||
m.mld_melding_einddatum,
|
||||
'PR' || l.alg_locatie_code,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving,
|
||||
sd.ins_srtdiscipline_prefix || to_char(m.mld_melding_key) as melding,
|
||||
'MELDINGEN_' || sd.ins_srtdiscipline_prefix || '_'
|
||||
melding,
|
||||
m.mld_melding_mldgroup_key,
|
||||
NULL rfq_aantal,
|
||||
NULL rfq_uitvoerder,
|
||||
NULL rfq_geplande_kosten,
|
||||
NULL rfq_motivatie,
|
||||
-- NULL rfq_btw
|
||||
NULL rfq_datumakkoord,
|
||||
NULL rfq_nr,
|
||||
NULL rfq_id
|
||||
NULL rfq_geplande_kosten,
|
||||
NULL rfq_fase
|
||||
FROM mld_melding m, alg_locatie l, aaxx_v_dwh_mld_stdmelding v, mld_stdmelding sm, mld_discipline d, ins_srtdiscipline sd
|
||||
WHERE
|
||||
m.mld_alg_locatie_key = l.alg_locatie_key
|
||||
@@ -477,73 +469,73 @@ AS
|
||||
AND v.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
-- AND (v.ins_srtdiscipline_omschrijving = 'Storing' OR v.ins_srtdiscipline_omschrijving = 'Service Aanvraag')
|
||||
AND sd.ins_srtdiscipline_key in (4,5) -- ST en SA
|
||||
-- AND m.mld_melding_mldgroup_key IS NULL - Deze uitsluiten OF juiste meetonen
|
||||
AND m.mld_melding_key in (125397,125553,128132) -- Voor test xml ST, SA -- ON HOLD
|
||||
-- AND m.mld_melding_key in (126909, 126055, 126912, 126911)
|
||||
UNION
|
||||
SELECT m.mld_melding_key,
|
||||
m.mld_melding_externnr,
|
||||
v.mld_stdmelding_omschrijving,
|
||||
v.ins_discipline_omschrijving,
|
||||
v.ins_srtdiscipline_omschrijving,
|
||||
m.mld_melding_opmerking,
|
||||
m.mld_melding_omschrijving,
|
||||
rfq.fac_tracking_datum, -- m.mld_melding_datum,
|
||||
rfq.datum_motivatie,
|
||||
m.mld_melding_einddatum,
|
||||
'PR' || l.alg_locatie_code,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving,
|
||||
sd.ins_srtdiscipline_prefix || to_char(m.mld_melding_key) as melding,
|
||||
'MELDINGEN_' || sd.ins_srtdiscipline_prefix || '_'
|
||||
melding,
|
||||
m.mld_melding_mldgroup_key,
|
||||
rfq.aantal
|
||||
(SELECT COUNT (*)
|
||||
FROM mld_opdr o, mld_typeopdr ot
|
||||
WHERE o.mld_melding_key = m.mld_melding_key
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND o.mld_statusopdr_key not in (1,2) -- Afgekeurde en Afgewezen offertes hoeven niet naar Axxerion
|
||||
AND ot.mld_typeopdr_isofferte = 1)
|
||||
rfq_aantal,
|
||||
rfq.prs_bedrijf_naam
|
||||
rfq_uitvoerder,
|
||||
rfq.geplande_kosten
|
||||
rfq_geplande_kosten,
|
||||
rfq.motivatie
|
||||
rfq_motivatie,
|
||||
-- NULL rfq_btw
|
||||
rfq.fac_tracking_datum,
|
||||
rfq.opdrachtnr,
|
||||
rfq.mld_opdr_key
|
||||
rfq.geplande_kosten
|
||||
rfq_geplande_kosten,
|
||||
NULL rfq_fase
|
||||
FROM mld_melding m, alg_locatie l, aaxx_v_dwh_mld_stdmelding v, mld_stdmelding sm, mld_discipline d, ins_srtdiscipline sd,
|
||||
(SELECT o.mld_melding_key,
|
||||
o.mld_opdr_key,
|
||||
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||||
opdrachtnr,
|
||||
o.mld_statusopdr_key,
|
||||
v.mld_statusopdr_omschrijving,
|
||||
(SELECT COUNT (*)
|
||||
FROM mld_opdr o2, mld_typeopdr ot
|
||||
WHERE o2.mld_melding_key = o.mld_melding_key
|
||||
AND o2.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND ot.mld_typeopdr_isofferte = 1)
|
||||
aantal,
|
||||
b.prs_bedrijf_naam,
|
||||
ft.fac_tracking_datum,
|
||||
(SELECT ko.mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko, mld_kenmerk k
|
||||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||||
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 141) geplande_kosten,
|
||||
(SELECT ko.mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko, mld_kenmerk k
|
||||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||||
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 482) motivatie
|
||||
FROM mld_opdr o,
|
||||
mld_typeopdr ot,
|
||||
prs_bedrijf b,
|
||||
mld_statusopdr v,
|
||||
fac_tracking ft
|
||||
WHERE o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND mld_typeopdr_isofferte = 1
|
||||
AND o.mld_statusopdr_key = v.mld_statusopdr_key
|
||||
AND o.mld_statusopdr_key = 9
|
||||
AND o.mld_opdr_key = ft.fac_tracking_refkey
|
||||
AND ft.fac_srtnotificatie_key = 201 -- ORDOOK
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key ) rfq
|
||||
(SELECT mm.mld_melding_key,
|
||||
km.mld_kenmerkmelding_aanmaak
|
||||
datum_motivatie,
|
||||
(SELECT max(km.mld_kenmerkmelding_waarde)
|
||||
FROM mld_kenmerkmelding km
|
||||
WHERE km.mld_melding_key = k_mot.mld_melding_key
|
||||
AND km.mld_kenmerkmelding_key = k_mot.mld_kenmerkmelding_key
|
||||
) motivatie,
|
||||
(SELECT max(km.mld_kenmerkmelding_waarde)
|
||||
FROM mld_kenmerkmelding km
|
||||
WHERE km.mld_melding_key = k_kost.mld_melding_key
|
||||
AND km.mld_kenmerkmelding_key = k_kost.mld_kenmerkmelding_key
|
||||
) geplande_kosten,
|
||||
(SELECT fac.safe_to_date(km.mld_kenmerkmelding_waarde,'DD-MM-YYYY')
|
||||
FROM mld_kenmerkmelding km,
|
||||
mld_kenmerk k
|
||||
WHERE km.mld_melding_key = mm.mld_melding_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 485 -- Datum melding naar Axxerion
|
||||
) datum_axxerion
|
||||
FROM mld_melding mm, mld_kenmerkmelding km, mld_kenmerk k,
|
||||
(SELECT mld_melding_key, max(km.mld_kenmerkmelding_key) mld_kenmerkmelding_key
|
||||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 502 -- Kenmerksoort naar Motivatie Axxerion
|
||||
GROUP BY mld_melding_key) k_mot,
|
||||
(SELECT mld_melding_key, max(km.mld_kenmerkmelding_key) mld_kenmerkmelding_key
|
||||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 503 -- Kenmerksoort naar Kostenraming naar Axxerion
|
||||
GROUP BY mld_melding_key) k_kost
|
||||
WHERE
|
||||
mm.mld_melding_key = km.mld_melding_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 501 -- Checkbox MJOP-melding doorzetten naar Axxerion
|
||||
AND mm.mld_melding_key = k_mot.mld_melding_key
|
||||
AND mm.mld_melding_key = k_kost.mld_melding_key
|
||||
ORDER BY mm.mld_melding_key, km.mld_kenmerkmelding_aanmaak) rfq
|
||||
WHERE
|
||||
m.mld_alg_locatie_key = l.alg_locatie_key
|
||||
AND v.mld_stdmelding_key = m.mld_stdmelding_key
|
||||
@@ -551,10 +543,9 @@ AS
|
||||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND sd.ins_srtdiscipline_key in (61) -- MJOP
|
||||
-- AND m.mld_melding_mldgroup_key IS NULL - Deze uitsluiten OF juiste meetonen
|
||||
AND m.mld_melding_key = rfq.mld_melding_key
|
||||
AND m.mld_melding_key in (126909, 126055, 126912, 126911)
|
||||
;
|
||||
AND m.mld_melding_key = rfq.mld_melding_key
|
||||
AND (trunc(rfq.datum_motivatie) > rfq.datum_axxerion OR rfq.datum_axxerion IS NULL)
|
||||
;
|
||||
|
||||
CREATE OR REPLACE VIEW rabo_v_export_melding_axxerion (
|
||||
result,
|
||||
@@ -576,20 +567,32 @@ AS
|
||||
p_from DATE,
|
||||
p_to DATE)
|
||||
IS
|
||||
SELECT melding
|
||||
FROM rabo_v_melding_axxerion
|
||||
WHERE datum BETWEEN p_from AND p_to
|
||||
GROUP BY melding;
|
||||
|
||||
CURSOR c_mld (
|
||||
p_from DATE,
|
||||
p_to DATE,
|
||||
p_melding VARCHAR2)
|
||||
IS
|
||||
SELECT *
|
||||
FROM rabo_v_melding_axxerion
|
||||
WHERE datum BETWEEN p_from AND p_to
|
||||
AND melding = p_melding
|
||||
ORDER BY mld_melding_key;
|
||||
|
||||
v_from DATE;
|
||||
v_to DATE;
|
||||
v_melding VARCHAR2 (20);
|
||||
v_count NUMBER;
|
||||
v_externnr VARCHAR2 (10);
|
||||
v_bestand VARCHAR2 (100);
|
||||
v_empty NUMBER;
|
||||
v_mld_melding_key NUMBER (10);
|
||||
v_mld_opdr_key NUMBER (10);
|
||||
v_prefix VARCHAR2(10);
|
||||
v_prefix VARCHAR2(20);
|
||||
v_datum_axxerion VARCHAR2 (10) ;
|
||||
|
||||
|
||||
BEGIN
|
||||
@@ -633,20 +636,26 @@ BEGIN
|
||||
v_count := v_count + 1;
|
||||
END LOOP;
|
||||
|
||||
|
||||
FOR rec IN c (v_from, v_to)
|
||||
LOOP
|
||||
v_empty := 0;
|
||||
v_mld_melding_key := rec.mld_melding_key;
|
||||
v_mld_opdr_key := rec.rfq_id;
|
||||
v_datum_axxerion := TO_CHAR(TRUNC(sysdate),'DD-MM-YYYY');
|
||||
v_prefix := rec.melding || '##' ;
|
||||
v_melding := rec.melding ;
|
||||
|
||||
-- header
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<?xml version="1.0" encoding="windows-1252"?>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<facilitor>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<meldingnieuw>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<meldingennieuw>');
|
||||
|
||||
FOR rec IN c_mld (v_from, v_to, v_melding)
|
||||
LOOP
|
||||
v_mld_melding_key := rec.mld_melding_key;
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<melding key="' || rec.mld_melding_key || '">');
|
||||
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'ref_key', rec.ref_key);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix,'timestamp', TO_CHAR (rec.datum, 'dd-mm-yyyy hh24:mi'));
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'stdmelding2', rec.stdmelding2);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'kwis', rec.kwis);
|
||||
@@ -662,28 +671,33 @@ BEGIN
|
||||
|
||||
IF rec.kwis = 'MJOP' THEN
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'aantal_rfqs', rec.rfq_aantal);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'uitvoerder', rec.rfq_uitvoerder);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'kosten_gepland', rec.rfq_geplande_kosten);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'motivatie', rec.rfq_motivatie);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'rfq_nr', rec.rfq_nr);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'rfq_id', rec.rfq_id);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'datumakkoord', TO_CHAR (rec.rfq_datumakkoord, 'dd-mm-yyyy hh24:mi'));
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'kosten_gepland', rec.rfq_geplande_kosten);
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'fase', rec.rfq_fase);
|
||||
|
||||
-- tracking toevoegen aan melding en opdracht
|
||||
fac.trackaction ('#MLDINF', v_mld_melding_key, 4, NULL, 'Offerte ' || rec.rfq_nr || ' naar Axxerion doorgezet voor akkoord');
|
||||
fac.trackaction ('#ORDUPD', v_mld_opdr_key, 4, NULL, 'Offerte naar Axxerion doorgezet voor akkoord');
|
||||
-- OOK NOG DATUM-KENMERKVELD VULLEN voor/met DATUM NAAR AXXERION - Voor gebruikers + voor sturing BIJLAGEN avondrun
|
||||
fac.trackaction ('#MLDINF', v_mld_melding_key, 4, NULL, 'Motivatie offerte-selectie naar Axxerion doorgezet voor akkoord');
|
||||
|
||||
-- Ook nog datum-kenmerkveld vullen, ter info voor gebruikers + voor sturing BIJLAGE_AXXERION (bij avondrun)
|
||||
|
||||
mld.upsertmeldingkenmerk (4785 , -- v_kenmerk_key,
|
||||
v_mld_melding_key,
|
||||
v_datum_axxerion);
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</melding>');
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</meldingnieuw>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</facilitor>');
|
||||
|
||||
-- tracking op melding toevoegen
|
||||
-- tracking op ST/SA-melding toevoegen
|
||||
IF rec.kwis != 'MJOP' THEN
|
||||
fac.trackaction ('#MLDINF', v_mld_melding_key, 4, NULL, 'Melding XML naar Axxerion verzonden');
|
||||
END IF;
|
||||
|
||||
|
||||
END LOOP;
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</meldingennieuw>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</facilitor>');
|
||||
|
||||
END LOOP;
|
||||
|
||||
@@ -704,6 +718,242 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
-- Voor export dagelijks van de bijlagen van de MJOP-RFQ's die voor akkoord naar Axxerion gaan/moeten
|
||||
--- Zie ticket 62723
|
||||
--- De M-melding (MJOP melding) wordt in de dag naar Axxerion verstuurd via exportfunctie MELDING_AXXERION
|
||||
--- De bijlagen 'getekende offertes' die in de opdracht-folder 'Offerte_ondertekend' staan, moeten dook door naar Axxerion en onder die M-melding komen.
|
||||
--- OPZET: 1. Een batfile maken om fysiek alle bestanden op de SFTP te krijgen.
|
||||
---- 2. Een procedure die de bijbehorende XML ook op die SFTP map zet
|
||||
|
||||
-- Bronview
|
||||
CREATE OR REPLACE VIEW rabo_v_bijlage_axxerion
|
||||
(
|
||||
MLD_MELDING_KEY,
|
||||
FILENAME,
|
||||
DATUM_EXPORT,
|
||||
BIJLAGE -- Voor prefix XML
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
m.mld_melding_key,
|
||||
b.fac_bijlagen_filename,
|
||||
v.datum_export,
|
||||
'BIJLAGEN_' || sd.ins_srtdiscipline_prefix || '_'
|
||||
bijlage
|
||||
FROM fac_v_bijlagen b,
|
||||
mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline d,
|
||||
ins_srtdiscipline sd,
|
||||
mld_opdr o,
|
||||
mld_statusopdr so,
|
||||
(SELECT km.mld_melding_key, fac.safe_to_date(km.mld_kenmerkmelding_waarde,'dd-mm-yyyy') datum_export
|
||||
FROM mld_kenmerkmelding km,
|
||||
mld_kenmerk k
|
||||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 485 -- Datum melding naar Axxerion
|
||||
) v
|
||||
WHERE
|
||||
m.mld_melding_key = v.mld_melding_key
|
||||
AND m.mld_melding_key = o.mld_melding_key
|
||||
AND o.mld_statusopdr_key = so.mld_statusopdr_key
|
||||
AND o.mld_opdr_key = b.fac_bijlagen_refkey
|
||||
AND b.fac_bijlagen_module = 'MLD'
|
||||
AND b.fac_bijlagen_kenmerk_key = 4783 -- folder_key voor ' Offerte_ondertekend (M)'
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND sd.ins_srtdiscipline_key in (61) -- MJOP
|
||||
AND o.mld_statusopdr_key not in (1,2) -- Voor Afgewezen en Afgekeurde offertes worden geen bijlagen verstuurd.
|
||||
;
|
||||
|
||||
CREATE OR REPLACE VIEW rabo_v_export_bijlage_axxerion (
|
||||
result,
|
||||
result_order,
|
||||
bijlage
|
||||
)
|
||||
AS
|
||||
SELECT SUBSTR (fac_rapport_regel, INSTR (fac_rapport_regel, '##') + 2),
|
||||
fac_rapport_volgnr,
|
||||
SUBSTR (fac_rapport_regel, 1, INSTR (fac_rapport_regel, '##') - 1)
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = SUBSTR ('BIJLAGE_AXXERION', 1, 12) -- BIJLAGE_AXXE (12 posities is max voor fac_rappor_node)
|
||||
;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE rabo_select_bijlage_axxerion (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
CURSOR c (
|
||||
p_from DATE,
|
||||
p_to DATE)
|
||||
IS
|
||||
SELECT bijlage
|
||||
FROM rabo_v_bijlage_axxerion
|
||||
WHERE datum_export BETWEEN p_from AND p_to
|
||||
GROUP BY bijlage ;
|
||||
|
||||
CURSOR c_mld (
|
||||
p_from DATE,
|
||||
p_to DATE,
|
||||
p_bijlage VARCHAR2)
|
||||
IS
|
||||
SELECT mld_melding_key, datum_export
|
||||
FROM rabo_v_bijlage_axxerion
|
||||
WHERE datum_export BETWEEN p_from AND p_to
|
||||
AND bijlage = p_bijlage
|
||||
GROUP BY mld_melding_key, datum_export ;
|
||||
|
||||
CURSOR c_bijlage (
|
||||
p_from DATE,
|
||||
p_to DATE,
|
||||
p_mld_melding_key NUMBER)
|
||||
IS
|
||||
SELECT filename
|
||||
FROM rabo_v_bijlage_axxerion
|
||||
WHERE datum_export BETWEEN p_from AND p_to
|
||||
AND mld_melding_key = p_mld_melding_key ;
|
||||
|
||||
v_from DATE;
|
||||
v_to DATE;
|
||||
v_count NUMBER;
|
||||
v_externnr VARCHAR2 (10);
|
||||
v_bestand VARCHAR2 (100);
|
||||
v_empty NUMBER;
|
||||
v_mld_melding_key NUMBER (10);
|
||||
v_prefix VARCHAR2(20);
|
||||
v_bijlage VARCHAR2(20) ;
|
||||
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
v_empty := 1;
|
||||
v_bestand := SUBSTR (p_applname, 1, 12); -- BIJLAGE_AXXE
|
||||
|
||||
|
||||
-- de laatste synchronisatietijd wordt opgeslagen in fac_rapport met een speciale node naam eindigend op een 1.
|
||||
-- mocht deze niet gevuld zijn (initieel) dan gebruiken we het huidige uur.
|
||||
BEGIN
|
||||
SELECT fac.safe_to_date (fac_rapport_regel, 'yyyy-mm-dd') + 1 -- Volgende dag gaan we pakken
|
||||
INTO v_from
|
||||
FROM fac_rapport
|
||||
WHERE SUBSTR (v_bestand, 1, 11) || '1' = fac_rapport_node; -- BIJLAGE_AXX1
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_from := TRUNC (SYSDATE);
|
||||
END;
|
||||
|
||||
-- We exporteren in principe 1 maal per dag, alles van die dag (avondrun)
|
||||
v_to := v_from;
|
||||
|
||||
-- Eerst opruiming
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = v_bestand;
|
||||
|
||||
-- als de export een tijdje niet gedraaid is dan halen we dit weer in door de periode groter te maken.
|
||||
WHILE v_to < TRUNC(SYSDATE) AND v_count < 10
|
||||
LOOP
|
||||
v_to := v_to + 1;
|
||||
v_count := v_count + 1;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c (v_from, v_to)
|
||||
LOOP
|
||||
v_empty := 0;
|
||||
v_prefix := rec.bijlage || '##' ;
|
||||
v_bijlage := rec.bijlage ;
|
||||
|
||||
-- header
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<?xml version="1.0" encoding="windows-1252"?>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<facilitor>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<bijlagen>');
|
||||
|
||||
|
||||
FOR rec IN c_mld (v_from, v_to, v_bijlage)
|
||||
LOOP
|
||||
v_mld_melding_key := rec.mld_melding_key;
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<melding key="' || rec.mld_melding_key || '">');
|
||||
|
||||
FOR rec IN c_bijlage (v_from, v_to, v_mld_melding_key)
|
||||
LOOP
|
||||
|
||||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'filename', rec.filename);
|
||||
|
||||
END LOOP;
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</melding>');
|
||||
|
||||
-- tracking toevoegen aan melding
|
||||
fac.trackaction ('#MLDINF', v_mld_melding_key, 4, NULL, 'Bijlagen uit offerte-folders naar Axxerion doorgezet');
|
||||
|
||||
END LOOP;
|
||||
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</bijlagen>');
|
||||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</facilitor>');
|
||||
|
||||
END LOOP;
|
||||
|
||||
-- Als er niet geexporteerd is dan gaan we alle regels verwijderen
|
||||
-- zodat er niet een leeg xml bestand komt te staan met alleen de facilitor tags.
|
||||
IF v_empty = 1
|
||||
THEN
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = v_bestand;
|
||||
END IF;
|
||||
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = SUBSTR (v_bestand, 1, 11) || '1';
|
||||
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel)
|
||||
VALUES (SUBSTR (v_bestand, 1, 11) || '1', TO_CHAR (v_to, 'yyyy-mm-dd'));
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
-- View om fysiek alle bestanden op de SFTP te krijgen.
|
||||
---- Ps2. Het chcp statement (= change code page) aan begin batfile opnemen zodat de bestandsnamen met diacritic characters niet ge-encodeerd worden.
|
||||
---- Ps2. Ik gebruik hieronder voor '\' de ASCII-code (=92) om in ultra-edit syntax-interpretatie goed te krijgen.
|
||||
CREATE OR REPLACE VIEW rabo_v_export_bijlage_axxerion_pdf
|
||||
(
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
'chcp 1252>nul' result,
|
||||
0 result_order
|
||||
FROM DUAL
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
'xcopy /y /S "'
|
||||
|| 'd:\Apps\Facilitor\AAFM_DATA\RABO'
|
||||
|| CHR(92)
|
||||
|| b.fac_bijlagen_disk_directory
|
||||
|| CHR(92)
|
||||
|| b.fac_bijlagen_filename
|
||||
|| '" "d:\Apps\Facilitor\ftp_sites\RABO\bijlagen_naar_axxerion'
|
||||
|| '\"',
|
||||
b.fac_bijlagen_key result_order
|
||||
FROM fac_v_bijlagen b,
|
||||
mld_melding m,
|
||||
mld_opdr o,
|
||||
(SELECT km.mld_melding_key, fac.safe_to_date(km.mld_kenmerkmelding_waarde,'dd-mm-yyyy') datum_export
|
||||
FROM mld_kenmerkmelding km,
|
||||
mld_kenmerk k
|
||||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 485 -- Datum melding naar Axxerion
|
||||
AND fac.safe_to_date(km.mld_kenmerkmelding_waarde,'dd-mm-yyyy')=trunc(sysdate)) v
|
||||
WHERE
|
||||
m.mld_melding_key = v.mld_melding_key
|
||||
AND m.mld_melding_key = o.mld_melding_key
|
||||
AND o.mld_opdr_key = b.fac_bijlagen_refkey
|
||||
AND b.fac_bijlagen_module = 'MLD'
|
||||
AND b.fac_bijlagen_kenmerk_key = 4783 -- folder_key voor ' Offerte_ondertekend (M)'
|
||||
ORDER BY result_order;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE rabo_import_bijlagen (p_import_key IN NUMBER)
|
||||
AS
|
||||
|
||||
Reference in New Issue
Block a user