HCAS#80082 SERVICENOW export is erg traag

svn path=/Customer/trunk/; revision=62545
This commit is contained in:
Sander Schepers
2023-11-09 15:49:21 +00:00
parent c63034881b
commit fe90d79c8d

View File

@@ -261,17 +261,16 @@ AS
AND mld.mld_melding_actiecode <> 2
AND INSTR (t.fac_tracking_oms,
'Statusservicenow: (leeg) --> Pending Customer') > 0
AND ( (SELECT fac.safe_to_number (
sync.mld_kenmerkmelding_waarde)
AND ( (SELECT fac.safe_to_date (
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
FROM mld_kenmerkmelding sync,
mld_kenmerk km
WHERE sync.mld_melding_key = mld.mld_melding_key
AND km.mld_kenmerk_key = sync.mld_kenmerk_key
AND km.mld_srtkenmerk_key = 541) <
fac.safe_to_number (
TO_CHAR (t.fac_tracking_datum, 'yyyymmddhh24miss'))
OR ( (SELECT fac.safe_to_number (
sync.mld_kenmerkmelding_waarde)
t.fac_tracking_datum
OR ( (SELECT fac.safe_to_date (
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
FROM mld_kenmerkmelding sync,
mld_kenmerk km
WHERE sync.mld_melding_key = mld.mld_melding_key
@@ -290,16 +289,14 @@ AS
mld_opdr o,
mld_stdmelding sm,
mld_kenmerkopdr ko,
mld_kenmerk km,
mld_srtkenmerk skm
mld_kenmerk km
WHERE m.mld_melding_key = o.mld_melding_key
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
AND sm.mld_ins_discipline_key IN (321, 341, 342) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
AND m.mld_melding_externnr IS NULL
AND o.mld_opdr_key = ko.mld_opdr_key
AND km.mld_kenmerk_key = ko.mld_kenmerk_key
AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 405; --Kenmerksoort 'Externnr'
AND km.mld_srtkenmerk_key = 405; --Kenmerksoort 'Externnr'
--Onderstaande cursor verzamelt de gegevens om te bepalen welke meldingen nieuwe opmerkingen heeft en die verzonden kunnen worden naar Servicenow
CURSOR sync
@@ -324,26 +321,20 @@ AS
sync.mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key = sync.mld_melding_key
AND m.mld_melding_key = mld.mld_melding_key
AND km.mld_kenmerk_key = sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
AND km.mld_srtkenmerk_key = 541) -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
AS sync,
(SELECT sync.mld_kenmerkmelding_key
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key = sync.mld_melding_key
AND m.mld_melding_key = mld.mld_melding_key
AND km.mld_kenmerk_key = sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
AND km.mld_srtkenmerk_key = 541) -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
AS sync_key
FROM mld_melding mld, mld_stdmelding sm, fac_bijlagen att
WHERE sm.mld_stdmelding_key = mld.mld_stdmelding_key
@@ -351,23 +342,18 @@ AS
AND mld.mld_melding_status IN (2, 3, 4, 7)
AND att.fac_bijlagen_refkey = mld.mld_melding_key
AND att.fac_bijlagen_verwijder IS NULL
AND ( (SELECT fac.safe_to_number (
sync.mld_kenmerkmelding_waarde)
AND ( (SELECT fac.safe_to_date (
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key = sync.mld_melding_key
AND m.mld_melding_key =
mld.mld_melding_key
AND km.mld_kenmerk_key =
sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) < -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
fac.safe_to_number(TO_CHAR (
fac_bijlagen_aanmaak,
'yyyymmddhh24miss'))) -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
AND km.mld_srtkenmerk_key = 541) < -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
fac_bijlagen_aanmaak)
UNION ALL
SELECT mld.mld_melding_key,
sm.mld_ins_discipline_key,
@@ -376,26 +362,20 @@ AS
sync.mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key = sync.mld_melding_key
AND m.mld_melding_key = mld.mld_melding_key
AND km.mld_kenmerk_key = sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) -- Kenmerksoort tbv synchronisatie van opmerkingen naar Servicenow
AND km.mld_srtkenmerk_key = 541) -- Kenmerksoort tbv synchronisatie van opmerkingen naar Servicenow
AS sync,
(SELECT sync.mld_kenmerkmelding_key
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key = sync.mld_melding_key
AND m.mld_melding_key = mld.mld_melding_key
AND km.mld_kenmerk_key = sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) -- Kenmerksoort tbv synchronisatie van opmerkingen naar Servicenow
AND km.mld_srtkenmerk_key = 541) -- Kenmerksoort tbv synchronisatie van opmerkingen naar Servicenow
AS sync_key
FROM mld_melding mld,
mld_melding_note mn,
@@ -409,28 +389,22 @@ AS
AND mld.mld_melding_key = o.mld_melding_key -- Enkel SyncServicenow bijwerken indien er ook een opdracht is.
AND sm.mld_ins_discipline_key IN (321, 341, 342) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
AND mld.mld_melding_status IN (2, 3, 4, 7)
AND ( (SELECT fac.safe_to_number (
sync.mld_kenmerkmelding_waarde)
AND ( (SELECT fac.safe_to_date (
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key = sync.mld_melding_key
AND m.mld_melding_key =
mld.mld_melding_key
AND km.mld_kenmerk_key =
sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) <
fac.safe_to_number(TO_CHAR (
mld_melding_note_aanmaak,
'yyyymmddhh24miss'))
OR ( (SELECT fac.safe_to_number (
sync.mld_kenmerkmelding_waarde)
AND km.mld_srtkenmerk_key = 541) <
mld_melding_note_aanmaak
OR ( (SELECT fac.safe_to_date (
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
FROM mld_kenmerkmelding sync,
mld_kenmerk km,
mld_srtkenmerk skm,
mld_melding m
WHERE m.mld_melding_key =
sync.mld_melding_key
@@ -438,9 +412,7 @@ AS
mld.mld_melding_key
AND km.mld_kenmerk_key =
sync.mld_kenmerk_key
AND skm.mld_srtkenmerk_key =
km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 541) IS NULL))
AND km.mld_srtkenmerk_key = 541) IS NULL))
ORDER BY mld_melding_key, mld_melding_note_aanmaak ASC)
GROUP BY mld_melding_key,
mld_ins_discipline_key,
@@ -471,15 +443,13 @@ AS
mld_opdr o,
mld_stdmelding sm,
mld_kenmerkopdr ko,
mld_kenmerk km,
mld_srtkenmerk skm
mld_kenmerk km
WHERE m.mld_melding_key = o.mld_melding_key
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
AND sm.mld_ins_discipline_key IN (321, 341, 342) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
AND o.mld_opdr_key = ko.mld_opdr_key
AND km.mld_kenmerk_key = ko.mld_kenmerk_key
AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 404 --Kenmerksoort 'Locatiecode'
AND km.mld_srtkenmerk_key = 404 --Kenmerksoort 'Locatiecode'
AND ( (ko.mld_kenmerkopdr_waarde <>
(SELECT alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk
@@ -503,8 +473,7 @@ AS
mld_opdr o,
mld_stdmelding sm,
mld_kenmerkopdr ko,
mld_kenmerk km,
mld_srtkenmerk skm
mld_kenmerk km
WHERE m.mld_melding_key = o.mld_melding_key
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
AND sm.mld_ins_discipline_key IN (321, 341, 342) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
@@ -512,8 +481,7 @@ AS
AND o.mld_opdr_bedrijfopdr_volgnr = 1 -- Enkel voor de eerste opdracht, normaal ook altijd maar een opdracht per melding.
AND o.mld_opdr_key = ko.mld_opdr_key
AND km.mld_kenmerk_key = ko.mld_kenmerk_key
AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND skm.mld_srtkenmerk_key = 402; --Kenmerksoort 'Short_description'
AND km.mld_srtkenmerk_key = 402; --Kenmerksoort 'Short_description'
BEGIN
v_errorhint := 'init';
v_lengte := 0;