KFHT#60175 EXACT-export+import/Diverse wijzigingen

svn path=/Customer/trunk/; revision=48361
This commit is contained in:
Maarten van der Heide
2020-10-01 15:26:17 +00:00
parent 5c5b18fd88
commit c0724f33ec

View File

@@ -413,13 +413,16 @@ AS
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,
--a.prs_afdeling_omschrijving department, -- KFHT#60175: Verwijderen Department!
b.prs_bedrijf_naam supplier,
--SUBSTR (c.cnt_contract_nummer || DECODE (kl.jaarinkoopnr, NULL, '', '/' || kl.jaarinkoopnr), 1, 30)
DECODE (o.prs_kostenplaats_key,
38, SUBSTR (COALESCE (c.cnt_contract_nummer, ko.opdrinkoopnr), 1, 30), -- HTCE (300002)
SUBSTR (c.cnt_contract_nummer || DECODE (COALESCE (ko.opdrinkoopnr, kl.jaarinkoopnr), NULL, '', '/' || COALESCE (ko.opdrinkoopnr, kl.jaarinkoopnr)), 1, 30))
contract,
--DECODE (o.prs_kostenplaats_key,
-- 38, SUBSTR (COALESCE (c.cnt_contract_nummer, ko.opdrinkoopnr), 1, 30), -- HTCE (300002)
-- SUBSTR (c.cnt_contract_nummer || DECODE (COALESCE (ko.opdrinkoopnr, kl.jaarinkoopnr), NULL, '', '/' || COALESCE (ko.opdrinkoopnr, kl.jaarinkoopnr)), 1, 30))
DECODE (kl.jaarinkoopnr,
NULL, SUBSTR (c.cnt_contract_nummer || '|' || ko.opdrinkoopnr, 1, 30),
kl.jaarinkoopnr)
contract, -- KFHT#60175: Anders gaan vullen Contract!
td.ins_discipline_omschrijving || ' / ' || sm.mld_stdmelding_omschrijving
reporttype,
aog.alg_gebouw_code buildingcode,
@@ -432,11 +435,15 @@ AS
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,
DECODE (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
NULL, NULL,
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,
os.mld_statusopdr_omschrijving orderstatus -- KFHT#60175: Toevoegen Orderstatus!
FROM fac_tracking t,
fac_srtnotificatie sn,
mld_opdr o,
mld_typeopdr ot,
prs_bedrijf b,
cnt_contract c,
@@ -455,92 +462,16 @@ AS
WHERE prs_kenmerk_key = 1060) kl, -- Inkoopordernummer
(SELECT mld_opdr_key, mld_kenmerkopdr_waarde opdrinkoopnr
FROM mld_v_aanwezigkenmerkopdr
WHERE mld_kenmerk_key = 17) ko -- Inkooporder
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!
WHERE mld_kenmerk_key = 17) ko, -- Inkooporder
mld_statusopdr os
WHERE t.fac_tracking_datum > TRUNC (SYSDATE - 1) -- Export draait na middernacht!
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
AND t.fac_tracking_refkey = o.mld_opdr_key -- KFHT#60175: Geen restrictie meer op opdrachtstatus (daarmee bij elke wijziging van status)!
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND ot.mld_typeopdr_key != 8 -- Geen Offerteaanvraag
--AND ot.mld_typeopdr_key != 8 -- KFHT#60175: Geen restrictie meer op opdrachttype (daarmee ook 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.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
AND m.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_afdeling_key = kl.prs_link_key(+)
AND o.mld_opdr_key = ko.mld_opdr_key(+)
ORDER BY o.mld_melding_key, o.mld_opdr_bedrijfopdr_volgnr;
/* KFHT#60175: NIEUW???
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.jaarinkoopnr, NULL, '', '/' || kl.jaarinkoopnr), 1, 30)
DECODE (o.prs_kostenplaats_key,
38, SUBSTR (COALESCE (c.cnt_contract_nummer, ko.opdrinkoopnr), 1, 30), -- HTCE (300002)
SUBSTR (c.cnt_contract_nummer || DECODE (COALESCE (ko.opdrinkoopnr, kl.jaarinkoopnr), NULL, '', '/' || COALESCE (ko.opdrinkoopnr, kl.jaarinkoopnr)), 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,
alg_v_allonrgoed_gegevens aog,
prs_perslid p,
prs_afdeling a,
(SELECT prs_link_key, prs_kenmerklink_waarde jaarinkoopnr
FROM prs_v_aanwezigkenmerklink
WHERE prs_kenmerk_key = 1060) kl, -- Inkoopordernummer
(SELECT mld_opdr_key, mld_kenmerkopdr_waarde opdrinkoopnr
FROM mld_v_aanwezigkenmerkopdr
WHERE mld_kenmerk_key = 17) ko -- Inkooporder
WHERE o.mld_statusopdr_key IN (1, 2, 6, 9, 7) -- KFHT#60175: Afgewezen/Niet akkoord/Afgemeld/Afgerond/Verwerkt
AND o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key IN (59, 61, 64, 65, 70, 73, 76) -- KFHT#60175: ORDAFM/ORDUPD/ORDFNO/ORDREJ/ORDCAN/ORDGNO/ORDONO
AND t.fac_tracking_datum > TRUNC (SYSDATE - 1) -- Export draait na middernacht!
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
--AND ot.mld_typeopdr_key != 8 -- KFHT#60175: Geen restrictie meer op opdrachttype anders dan Offerteaanvraag!
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key -- Geen Interne opdracht, tenzij
--AND b.prs_leverancier_nr IS NOT NULL -- KFHT#60175: Geen restrictie meer op leveranciernummer!
--AND b.prs_leverancier_nr IS NOT NULL -- KFHT#60175: Geen restrictie meer op leveranciernummer (daarmee ook zonder leveranciernummer)!
AND o.cnt_contract_key = c.cnt_contract_key(+)
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) -- KFHT#60175: Geen restrictie meer op kostenplaats (daarmee ook Contractopdracht, Garantieopdracht, Offerte aanvraag, Klacht en Interne opdracht)!
AND o.mld_melding_key = m.mld_melding_key
@@ -554,8 +485,9 @@ AS
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_afdeling_key = kl.prs_link_key(+)
AND o.mld_opdr_key = ko.mld_opdr_key(+)
AND o.mld_statusopdr_key = os.mld_statusopdr_key(+)
ORDER BY o.mld_melding_key, o.mld_opdr_bedrijfopdr_volgnr;
*/
v_count NUMBER;
PROCEDURE add_row (p_regel IN VARCHAR2)
@@ -596,9 +528,9 @@ BEGIN
add_row ('<Ticket>');
add_element ('TicketNumber', rec.ticketnumber);
add_element ('OrderType', rec.ordertype);
add_element ('Department', rec.department);
--add_element ('Department', rec.department); -- KFHT#60175: Verwijderen Department!
add_element ('Supplier', rec.supplier);
add_element ('Contract', rec.contract);
add_element ('Contract', rec.contract); -- KFHT#60175: Anders gaan vullen Contract!
add_element ('ReportType', rec.reporttype);
add_element ('BuildingCode', rec.buildingcode);
add_element ('CostCenter', rec.costcenter);
@@ -607,6 +539,7 @@ BEGIN
add_element ('SupplierReference', rec.supplierreference);
add_element ('Issued', rec.issued);
add_element ('Closed', rec.closed);
add_element ('Orderstatus', rec.orderstatus); -- KFHT#60175: Toevoegen Orderstatus!
add_row ('</Ticket>');
-- Markeer als geexporteerd?
@@ -790,6 +723,7 @@ AS
v_mld_key NUMBER (10);
v_opdr_key NUMBER (10);
v_opdr_status NUMBER (10);
v_typeopdr_key NUMBER (10);
BEGIN
-- Loop door alle ingelezen kostenregels uit Exact en verwerk deze.
v_count_tot := 0;
@@ -805,11 +739,10 @@ BEGIN
v_errormsg := 'Fout bepalen melding/opdracht.';
BEGIN
SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key
INTO v_mld_key, v_opdr_key, v_opdr_status
SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key, mld_typeopdr_key
INTO v_mld_key, v_opdr_key, v_opdr_status, v_typeopdr_key
FROM mld_opdr
WHERE mld_typeopdr_key != 8 -- Offertaanvraag
AND mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr = rec.opdr_id;
WHERE mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr = rec.opdr_id;
EXCEPTION
WHEN OTHERS
THEN
@@ -847,7 +780,7 @@ BEGIN
WHERE mld_opdr_key = v_opdr_key;
-- Verwerken opdracht.
IF (v_opdr_status = 6 OR v_opdr_status = 9)
IF (v_opdr_status = 6 OR v_opdr_status = 9) AND v_typeopdr_key != 8
THEN
v_errormsg := 'Fout verwerken opdracht.';