161 lines
6.6 KiB
SQL
161 lines
6.6 KiB
SQL
-- Customer specific once-script KFHT#34512.
|
|
--
|
|
-- (c) 2016 Facilitor B.V.
|
|
--
|
|
-- Support: +31 53 4800700
|
|
SET ECHO ON
|
|
SPOOL xKFHT34512.lst
|
|
SET DEFINE OFF
|
|
|
|
-- Eenmalig de charset van de EXACT-export (key=1) op utf-8 zetten!
|
|
UPDATE fac_export_app
|
|
SET fac_export_app_charset = 'utf-8'
|
|
WHERE fac_export_app_key = 1;
|
|
|
|
-- Eenmalig de charset van de EXACT-import (key=61) op utf-8 zetten!
|
|
UPDATE fac_import_app
|
|
SET fac_import_app_charset = 'utf-8'
|
|
WHERE fac_import_app_key = 61;
|
|
|
|
-- Speciale eenmalige versie om export te draaien over periode van 1-6-2016 t/m vandaag.
|
|
-- NIET VERGETEN om daarna dagelijkse export over gisteren weer te activeren (kfht.sql)!
|
|
CREATE OR REPLACE PROCEDURE kfht_select_exact (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
CURSOR c_opdr
|
|
IS
|
|
SELECT DISTINCT
|
|
o.mld_melding_key,
|
|
o.mld_opdr_bedrijfopdr_volgnr,
|
|
sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
|
ticketnumber,
|
|
ot.mld_typeopdr_omschrijving ordertype,
|
|
a.prs_afdeling_omschrijving department,
|
|
b.prs_bedrijf_naam supplier,
|
|
SUBSTR (c.cnt_contract_nummer || DECODE (kl.jaarorder, NULL, '', '/' || kl.jaarorder), 1, 30)
|
|
contract,
|
|
td.ins_discipline_omschrijving || ' / ' || sm.mld_stdmelding_omschrijving
|
|
reporttype,
|
|
aog.alg_gebouw_code buildingcode,
|
|
kp.prs_kostenplaats_nr costcenter,
|
|
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
|
|
costunit,
|
|
o.mld_opdr_kosten costs,
|
|
b.prs_leverancier_nr supplierreference,
|
|
--TO_CHAR (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key), 'dd-mm-yyyy hh24:mi:ss')
|
|
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy')
|
|
|| 'T' || TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi:ss')
|
|
issued,
|
|
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'dd-mm-yyyy')
|
|
|| 'T' || TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'hh24:mi:ss')
|
|
closed
|
|
FROM mld_opdr o,
|
|
fac_tracking t,
|
|
mld_typeopdr ot,
|
|
prs_bedrijf b,
|
|
cnt_contract c,
|
|
prs_kostenplaats kp,
|
|
mld_melding m,
|
|
mld_stdmelding sm,
|
|
ins_tab_discipline td,
|
|
ins_srtdiscipline sd,
|
|
prs_kostensoort ksm,
|
|
prs_kostensoort ksv,
|
|
prs_perslid p,
|
|
alg_v_allonrgoed_gegevens aog,
|
|
prs_afdeling a,
|
|
(SELECT prs_link_key, prs_kenmerklink_waarde jaarorder
|
|
FROM prs_v_aanwezigkenmerklink
|
|
WHERE prs_kenmerk_key = 1060) kl -- Inkoopordernummer!
|
|
WHERE o.mld_statusopdr_key IN (6, 9, 7) -- Afgemeld/Afgerond/Verwerkt
|
|
AND o.mld_opdr_key = t.fac_tracking_refkey
|
|
AND t.fac_srtnotificatie_key IN (59, 61) -- ORDAFM/ORDUPD
|
|
--AND t.fac_tracking_datum > TRUNC (SYSDATE - 1) -- Export draait na middernacht!
|
|
--AND t.fac_tracking_datum < TRUNC (SYSDATE) -- VAN 1-1-2016 TOT VANDAAG; SPECIALE EENMALIGE VERSIE!
|
|
AND t.fac_tracking_datum BETWEEN TO_DATE ('010616', 'ddmmyy') AND TRUNC (SYSDATE) -- VAN 1-6-2016 TOT VANDAAG; SPECIALE EENMALIGE VERSIE!
|
|
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
|
AND ot.mld_typeopdr_key != 8 -- Geen Offerteaanvraag
|
|
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key -- Geen Interne opdracht, tenzij
|
|
AND b.prs_leverancier_nr IS NOT NULL -- Alleen bedrijven met leveranciernummer!
|
|
AND o.cnt_contract_key = c.cnt_contract_key(+)
|
|
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
|
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
|
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
|
AND m.prs_perslid_key = p.prs_perslid_key
|
|
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND a.prs_afdeling_key = kl.prs_link_key(+)
|
|
ORDER BY o.mld_melding_key, o.mld_opdr_bedrijfopdr_volgnr;
|
|
|
|
v_count NUMBER;
|
|
|
|
PROCEDURE add_row (p_regel IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
|
|
VALUES (SUBSTR (p_applname, 1, 12), v_count, p_regel);
|
|
|
|
v_count := v_count + 1;
|
|
END;
|
|
|
|
PROCEDURE add_element (p_tag IN VARCHAR2, p_value IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
add_row( '<'
|
|
|| p_tag
|
|
|| '>'
|
|
|| xml.char_to_html (p_value)
|
|
|| '</'
|
|
|| p_tag
|
|
|| '>');
|
|
END;
|
|
BEGIN
|
|
v_count := 0;
|
|
|
|
DELETE fac_rapport
|
|
WHERE fac_rapport_node = SUBSTR (p_applname, 1, 12);
|
|
|
|
-- Header
|
|
add_row ('<?xml version="1.0" encoding="utf-8" standalone="yes" ?>');
|
|
add_row ('<eExact>');
|
|
add_row ('<FacilitorImport>');
|
|
--add_row ('<Tickets>');
|
|
|
|
FOR rec IN c_opdr
|
|
LOOP
|
|
BEGIN
|
|
add_row ('<Ticket>');
|
|
add_element ('TicketNumber', rec.ticketnumber);
|
|
add_element ('OrderType', rec.ordertype);
|
|
add_element ('Department', rec.department);
|
|
add_element ('Supplier', rec.supplier);
|
|
add_element ('Contract', rec.contract);
|
|
add_element ('ReportType', rec.reporttype);
|
|
add_element ('BuildingCode', rec.buildingcode);
|
|
add_element ('CostCenter', rec.costcenter);
|
|
add_element ('CostUnit', rec.costunit);
|
|
add_element ('Costs', rec.costs);
|
|
add_element ('SupplierReference', rec.supplierreference);
|
|
add_element ('Issued', rec.issued);
|
|
add_element ('Closed', rec.closed);
|
|
add_row ('</Ticket>');
|
|
|
|
-- Markeer als geexporteerd?
|
|
END;
|
|
END LOOP;
|
|
|
|
--add_row ('</Tickets>');
|
|
add_row ('</FacilitorImport>');
|
|
add_row ('</eExact>');
|
|
END;
|
|
/
|
|
|
|
COMMIT;
|
|
BEGIN adm.systrackscriptId('$Id$'); END;
|
|
/
|
|
SPOOL OFF
|