HCAS#56970 Export servicenow
svn path=/Customer/trunk/; revision=42466
This commit is contained in:
218
HCAS/HCAS.sql
218
HCAS/HCAS.sql
@@ -191,6 +191,48 @@ AS
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (100);
|
||||
|
||||
--Onderstaande cursor verzamelt de meldingen die status 'Actie aanvrager' moeten krijgen. Dat is obv het binnenkomende opdrachtkenmerk 'Statusservicenow'.
|
||||
CURSOR actie
|
||||
IS
|
||||
SELECT mld.mld_melding_key
|
||||
FROM fac_tracking t,
|
||||
mld_opdr o,
|
||||
mld_melding mld,
|
||||
mld_stdmelding sm
|
||||
WHERE sm.mld_stdmelding_key = mld.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key IN (321, 341, 342)
|
||||
AND mld.mld_melding_key = o.mld_melding_key
|
||||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = 61 -- ORDUPD
|
||||
AND INSTR (t.fac_tracking_oms,
|
||||
'Statusservicenow: (leeg) --> Pending Customer') > 0
|
||||
AND ( (SELECT fac.safe_to_number (
|
||||
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) <
|
||||
fac.safe_to_number (
|
||||
TO_CHAR (t.fac_tracking_datum, 'yyyymmddhh24miss'))
|
||||
OR ( (SELECT fac.safe_to_number (
|
||||
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) IS NULL))
|
||||
GROUP BY mld.mld_melding_key;
|
||||
|
||||
-- Dit haalt het externnummer op van een opdrachtkenmerk indien externnr bij de melding nog leeg is
|
||||
CURSOR externnr
|
||||
IS
|
||||
@@ -216,73 +258,119 @@ AS
|
||||
--Onderstaande cursor verzamelt de gegevens om te bepalen welke meldingen nieuwe opmerkingen heeft en die verzonden kunnen worden naar Servicenow
|
||||
CURSOR sync
|
||||
IS
|
||||
SELECT mld.mld_melding_key,
|
||||
sm.mld_ins_discipline_key,
|
||||
mn.mld_melding_note_aanmaak,
|
||||
fac.safe_to_number (
|
||||
TO_CHAR (mld_melding_note_aanmaak, 'yyyymmddhh24miss'))
|
||||
AS note,
|
||||
(SELECT fac.safe_to_number (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
|
||||
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
|
||||
AS sync_key
|
||||
FROM mld_melding mld,
|
||||
mld_melding_note mn,
|
||||
mld_stdmelding sm,
|
||||
mld_kenmerk km
|
||||
WHERE mn.mld_melding_key = mld.mld_melding_key
|
||||
AND sm.mld_stdmelding_key = mld.mld_stdmelding_key
|
||||
AND km.mld_stdmelding_key = sm.mld_ins_discipline_key
|
||||
AND km.mld_srtkenmerk_key = 541
|
||||
AND sm.mld_ins_discipline_key IN (321, 341, 342) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
|
||||
-- AND mld.mld_melding_key = 73362
|
||||
AND ( (SELECT fac.safe_to_number (
|
||||
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) <
|
||||
fac.safe_to_number(TO_CHAR (mld_melding_note_aanmaak,
|
||||
'yyyymmddhh24miss'))
|
||||
OR ( (SELECT fac.safe_to_number (
|
||||
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) IS NULL))
|
||||
ORDER BY mld_melding_key, mld_melding_note_aanmaak ASC;
|
||||
SELECT mld_melding_key,
|
||||
mld_ins_discipline_key,
|
||||
mld_melding_note_aanmaak,
|
||||
fac.safe_to_number (
|
||||
TO_CHAR (mld_melding_note_aanmaak, 'yyyymmddhh24miss'))
|
||||
AS note,
|
||||
sync,
|
||||
sync_key
|
||||
FROM ( SELECT mld_melding_key,
|
||||
mld_ins_discipline_key,
|
||||
MAX (mld_melding_note_aanmaak)
|
||||
AS mld_melding_note_aanmaak,
|
||||
sync,
|
||||
sync_key
|
||||
FROM ( SELECT mld.mld_melding_key,
|
||||
sm.mld_ins_discipline_key,
|
||||
mn.mld_melding_note_aanmaak,
|
||||
(SELECT fac.safe_to_number (
|
||||
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
|
||||
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
|
||||
AS sync_key
|
||||
FROM mld_melding mld,
|
||||
mld_melding_note mn,
|
||||
mld_stdmelding sm,
|
||||
mld_kenmerk km
|
||||
WHERE mn.mld_melding_key = mld.mld_melding_key
|
||||
AND sm.mld_stdmelding_key =
|
||||
mld.mld_stdmelding_key
|
||||
AND km.mld_stdmelding_key =
|
||||
sm.mld_ins_discipline_key
|
||||
AND km.mld_srtkenmerk_key = 541
|
||||
AND sm.mld_ins_discipline_key IN (321, 341, 342) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
|
||||
-- AND mld.mld_melding_key = 73362
|
||||
AND ( (SELECT fac.safe_to_number (
|
||||
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) <
|
||||
fac.safe_to_number(TO_CHAR (
|
||||
mld_melding_note_aanmaak,
|
||||
'yyyymmddhh24miss'))
|
||||
OR ( (SELECT fac.safe_to_number(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) IS NULL))
|
||||
ORDER BY mld_melding_key, mld_melding_note_aanmaak ASC)
|
||||
GROUP BY mld_melding_key,
|
||||
mld_ins_discipline_key,
|
||||
sync,
|
||||
sync_key);
|
||||
BEGIN
|
||||
v_errorhint := 'init';
|
||||
|
||||
-- We zetten de status van de melding nog op 'Actie aanvrager' indien Servicenow na laatste bericht vanuit Facilitor hierom vraag.
|
||||
FOR rec IN actie
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint :=
|
||||
'Status melding naar Actie aanvrager voor melding '
|
||||
|| rec.mld_melding_key;
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_actiecode = 2
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Hier vullen we het externnr bij de melding, zodra deze (als kenmerk) bij de opdracht binnenkomt vanuit Servicenow
|
||||
FOR rec IN externnr
|
||||
LOOP
|
||||
@@ -350,8 +438,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
----- Rapportage-views -----------------------------------------------------------------------------
|
||||
|
||||
CREATE OR REPLACE VIEW hcas_v_rap_qrc_ins_mld
|
||||
|
||||
Reference in New Issue
Block a user