1081 lines
41 KiB
SQL
1081 lines
41 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific db-configuration for KFHT.
|
|
DEFINE thisfile = 'KFHT.SQL'
|
|
DEFINE dbuser = '^KFHT'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
-- Import vanuit Strukton
|
|
/* Formatted on 22-5-2015 11:52:44 (QP5 v5.136.908.31019) */
|
|
CREATE OR REPLACE PROCEDURE kfht_import_opdrstat_strukton (p_import_key IN NUMBER)
|
|
AS
|
|
c_delim VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (4000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (1000) := '';
|
|
header_is_valid NUMBER := 0;
|
|
v_count_tot NUMBER (10) := 0;
|
|
v_count_import NUMBER (10) := 0;
|
|
v_ongeldig NUMBER (1) := 0;
|
|
-- De importvelden
|
|
v_mld_opdr_key_tekst VARCHAR2 (100);
|
|
v_mld_opdr_key NUMBER (10);
|
|
v_mld_opdr_opmerking VARCHAR2 (4000);
|
|
v_extern_nummer VARCHAR2 (100);
|
|
v_status_code VARCHAR2 (100);
|
|
v_status NUMBER (10);
|
|
v_datumtijd_tekst VARCHAR2 (100);
|
|
v_datumtijd DATE;
|
|
v_status_tekst VARCHAR2 (100);
|
|
v_opmerking VARCHAR2 (4000);
|
|
|
|
-- Overige velden:
|
|
CURSOR c1
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
BEGIN
|
|
-- Eerst opruiming
|
|
DELETE FROM kfht_imp_opdrstat_strukton;
|
|
|
|
COMMIT;
|
|
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
v_errormsg := 'Fout bij opvragen importregel';
|
|
v_aanduiding := '';
|
|
v_ongeldig := 0;
|
|
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield (v_newline, c_delim, v_mld_opdr_key_tekst);
|
|
fac.imp_getfield (v_newline, c_delim, v_extern_nummer);
|
|
fac.imp_getfield (v_newline, c_delim, v_status_code); -- typeID
|
|
fac.imp_getfield (v_newline, c_delim, v_datumtijd_tekst);
|
|
fac.imp_getfield (v_newline, c_delim, v_status_tekst);
|
|
fac.imp_getfield (v_newline, c_delim, v_opmerking);
|
|
v_opmerking := SUBSTR (v_opmerking, 1, 1000);
|
|
-- Verwijder de markering voor cr/lf die in stylesheet is toegevoegd.
|
|
v_opmerking := REPLACE (v_opmerking, '@@', CHR (13));
|
|
v_aanduiding :=
|
|
'['
|
|
|| v_mld_opdr_key_tekst
|
|
|| '|'
|
|
|| v_extern_nummer
|
|
|| '|'
|
|
|| v_status_code
|
|
|| '|'
|
|
|| v_datumtijd_tekst
|
|
|| '|'
|
|
|| v_status_tekst
|
|
|| '] ';
|
|
|
|
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
|
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
|
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
|
IF header_is_valid = 0
|
|
THEN
|
|
IF UPPER (TRIM (v_mld_opdr_key_tekst)) = 'REFERENCEID'
|
|
AND UPPER (TRIM (v_extern_nummer)) = 'SERVICEREQUESTID'
|
|
AND UPPER (TRIM (v_status_code)) = 'TYPEID'
|
|
AND UPPER (TRIM (v_datumtijd_tekst)) = 'DATETIME'
|
|
AND UPPER (TRIM (v_opmerking)) = 'REMARKS'
|
|
THEN
|
|
header_is_valid := 1;
|
|
END IF;
|
|
ELSE
|
|
v_count_tot := v_count_tot + 1;
|
|
-- Controleer alle veldwaarden
|
|
v_errormsg := 'Fout bepalen opdracht';
|
|
v_mld_opdr_key := TRIM (v_mld_opdr_key);
|
|
|
|
BEGIN
|
|
SELECT o.mld_opdr_key, o.mld_opdr_opmerking
|
|
INTO v_mld_opdr_key, v_mld_opdr_opmerking
|
|
FROM mld_opdr o,
|
|
mld_melding m,
|
|
mld_stdmelding sm,
|
|
ins_tab_discipline td,
|
|
ins_srtdiscipline sd
|
|
WHERE 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 sd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| '/'
|
|
|| o.mld_opdr_bedrijfopdr_volgnr =
|
|
v_mld_opdr_key_tekst;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_ongeldig := 1;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog (p_import_key, 'W', v_aanduiding || v_errormsg, '');
|
|
END;
|
|
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg := 'Fout bepalen status';
|
|
|
|
CASE
|
|
WHEN v_status_code = '5'
|
|
THEN
|
|
v_status := 5; -- uitgegeven
|
|
WHEN v_status_code = '10'
|
|
THEN
|
|
v_status := 8; -- geaccepteerd
|
|
WHEN v_status_code = '20' -- monteur gereed
|
|
THEN
|
|
v_status := 6; -- afgemeld
|
|
WHEN v_status_code = '25' -- specialist gereed
|
|
THEN
|
|
v_status := 6; -- afgemeld
|
|
WHEN v_status_code = '30' -- technisch gereed
|
|
THEN
|
|
v_status := 6; -- afgemeld
|
|
-- For future use
|
|
--WHEN v_status_code = '40' -- uitgeprijst
|
|
--THEN
|
|
-- v_status := 6; -- afgemeld
|
|
WHEN v_status_code = '70'
|
|
THEN
|
|
v_status := 1; -- geannuleerd
|
|
WHEN v_status_code = '80'
|
|
THEN
|
|
v_status := 1; -- afgewezen
|
|
ELSE
|
|
v_status := NULL;
|
|
v_ongeldig := 1; -- nog te bezien
|
|
END CASE;
|
|
END IF;
|
|
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg := 'Fout converteren datumtijd';
|
|
|
|
IF INSTR (v_datumtijd_tekst, '.') > 0
|
|
THEN
|
|
v_datumtijd :=
|
|
fac.safe_to_date (
|
|
REPLACE (
|
|
SUBSTR (v_datumtijd_tekst,
|
|
1,
|
|
INSTR (v_datumtijd_tekst, '.') - 1),
|
|
'T',
|
|
' '),
|
|
'yyyy-mm-dd hh24:mi:ss');
|
|
ELSE
|
|
v_datumtijd :=
|
|
fac.safe_to_date (v_datumtijd_tekst,
|
|
'yyyy-mm-dd hh24:mi:ss');
|
|
END IF;
|
|
END IF;
|
|
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg := 'Fout aanvullen opmerking';
|
|
|
|
-- controleer of de opmerking niet leeg is en of dezelfde opmerking al bij een eerdere statusovergang
|
|
-- gemeld is.
|
|
IF v_opmerking IS NOT NULL
|
|
AND INSTR (v_mld_opdr_opmerking, v_opmerking) = 0
|
|
THEN
|
|
v_opmerking :=
|
|
'['
|
|
|| v_datumtijd_tekst
|
|
|| '] - '
|
|
|| v_status_tekst
|
|
|| CHR (13)
|
|
|| CHR (10)
|
|
|| v_opmerking;
|
|
ELSE
|
|
v_opmerking :=
|
|
'[' || v_datumtijd_tekst || '] - ' || v_status_tekst;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Insert geformatteerde import record
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
BEGIN
|
|
v_errormsg := 'Fout wegschrijven statusbericht';
|
|
|
|
INSERT INTO kfht_imp_opdrstat_strukton (mld_opdr_key,
|
|
extern_nummer,
|
|
status,
|
|
datumtijd,
|
|
opmerking)
|
|
VALUES (v_mld_opdr_key,
|
|
v_extern_nummer,
|
|
v_status,
|
|
v_datumtijd,
|
|
v_opmerking);
|
|
|
|
v_count_import := v_count_import + 1;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
|
END;
|
|
ELSE
|
|
IF v_status_code <> '40' AND v_status_code <> '45'
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
|
|
IF header_is_valid = 0
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'E',
|
|
'Ongeldig importbestand',
|
|
'Geen header of header niet volgens specificatie!');
|
|
ELSE
|
|
fac.imp_writelog (
|
|
p_import_key, 'S',
|
|
'Inleesproces/#ingelezen statusberichten: ' || TO_CHAR (v_count_tot),
|
|
'');
|
|
fac.imp_writelog (
|
|
p_import_key, 'S',
|
|
'Inleesproces/#ongeldige niet ingelezen statusberichten: '
|
|
|| TO_CHAR (v_count_tot - v_count_import),
|
|
'');
|
|
END IF;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
|
'Inleesproces statusberichten afgebroken!');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE kfht_update_opdrstat_strukton (p_import_key IN NUMBER)
|
|
AS
|
|
-- Cursor loopt - in volgorde! - over alle ingelezen statusberichten.
|
|
CURSOR c1
|
|
IS
|
|
SELECT mld_opdr_key, extern_nummer, datumtijd, status, opmerking
|
|
FROM kfht_imp_opdrstat_strukton
|
|
ORDER BY 1, 3;
|
|
|
|
c_user_key NUMBER (10) := 264; -- _STRUKTON-user
|
|
c_refnr_srtkkey NUMBER (10) := 6; -- Refnr. leverancier
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_count_tot NUMBER (10) := 0;
|
|
v_count NUMBER (10) := 0;
|
|
v_mld_key NUMBER (10) := 0;
|
|
v_opdr_key NUMBER (10) := 0;
|
|
v_opdr_status NUMBER (10) := 0;
|
|
v_mld_typeopdr_key NUMBER (10);
|
|
v_mld_kenmerk_key NUMBER (10);
|
|
v_mld_kenmerkopdr_key NUMBER (10);
|
|
BEGIN
|
|
-- Loop over alle ingelezen Strukton-statusberichten.
|
|
FOR rec IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding :=
|
|
'['
|
|
|| rec.mld_opdr_key
|
|
|| '|'
|
|
|| SUBSTR (rec.opmerking, 1, 100)
|
|
|| '] ';
|
|
v_count_tot := v_count_tot + 1;
|
|
|
|
-- Key van melding/opdracht bepalen en Refnr. bij opdracht opslaan.
|
|
IF rec.mld_opdr_key IS NOT NULL
|
|
THEN
|
|
v_errormsg := 'Fout bepalen opdracht.';
|
|
|
|
SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key, mld_typeopdr_key
|
|
INTO v_mld_key, v_opdr_key, v_opdr_status, v_mld_typeopdr_key
|
|
FROM mld_opdr
|
|
WHERE mld_opdr_key = rec.mld_opdr_key;
|
|
|
|
v_errormsg := 'Fout bepalen Refnr-kenmerk.';
|
|
|
|
SELECT k.mld_kenmerk_key
|
|
INTO v_mld_kenmerk_key
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_srtkenmerk_key = c_refnr_srtkkey
|
|
AND k.mld_typeopdr_key = v_mld_typeopdr_key;
|
|
|
|
v_errormsg := 'Fout bepalen Refnr-kenmerkopdracht.';
|
|
|
|
SELECT MAX (ko.mld_kenmerkopdr_key)
|
|
INTO v_mld_kenmerkopdr_key
|
|
FROM mld_kenmerkopdr ko
|
|
WHERE ko.mld_opdr_key = v_opdr_key
|
|
AND v_mld_kenmerk_key = ko.mld_kenmerk_key;
|
|
|
|
IF v_mld_kenmerkopdr_key IS NULL
|
|
THEN
|
|
-- Kenmerk toevoegen
|
|
v_errormsg := 'Fout toevoegen Refnr-kenmerkopdracht.';
|
|
|
|
INSERT INTO mld_kenmerkopdr (mld_kenmerk_key,
|
|
mld_opdr_key,
|
|
mld_kenmerkopdr_waarde)
|
|
VALUES (v_mld_kenmerk_key, v_opdr_key, rec.extern_nummer);
|
|
ELSE
|
|
-- Kenmerk bijwerken
|
|
v_errormsg := 'Fout bijwerken Refnr-kenmerkopdracht.';
|
|
|
|
UPDATE mld_kenmerkopdr
|
|
SET mld_kenmerkopdr_waarde = rec.extern_nummer
|
|
WHERE mld_kenmerkopdr_key = v_mld_kenmerkopdr_key;
|
|
END IF;
|
|
|
|
v_errormsg := 'Fout bijwerken Opmerking (opdracht).';
|
|
|
|
v_count := LENGTH (rec.opmerking) + 5; -- Beetje speling qua lengte!
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_opmerking =
|
|
DECODE (
|
|
mld_opdr_opmerking,
|
|
NULL,
|
|
rec.opmerking,
|
|
rec.opmerking
|
|
|| CHR (13)
|
|
|| CHR (10)
|
|
|| SUBSTR (mld_opdr_opmerking, 1, (4000 - v_count)))
|
|
WHERE mld_opdr_key = v_opdr_key;
|
|
|
|
v_errormsg := 'Fout bijwerken Status.';
|
|
|
|
IF v_opdr_status <> rec.status
|
|
THEN
|
|
IF rec.status = 8 AND v_opdr_status = 5
|
|
THEN
|
|
-- Accepteer opdracht als de opdracht uitgegeven was
|
|
MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton
|
|
ELSIF rec.status = 6 AND v_opdr_status = 5
|
|
THEN
|
|
-- Meld de opdracht af als deze uitgegeven was
|
|
MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton, eerst accepteren
|
|
MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton
|
|
ELSIF rec.status = 6 AND v_opdr_status = 8
|
|
THEN
|
|
-- Meld de opdracht af als deze geaccepteerd was
|
|
MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton
|
|
ELSIF rec.status = 1 AND v_opdr_status IN (5, 8)
|
|
THEN
|
|
-- Wijs de opdracht af als deze niet/wel geaccepteerd was
|
|
MLD.setopdrachtstatus (v_opdr_key, 1, c_user_key); -- Strukton
|
|
MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0);
|
|
END IF;
|
|
|
|
IF rec.status = 6 AND v_opdr_status <> 6
|
|
THEN
|
|
-- KFNS#37965: Niet meer melding bijwerken (en afmelden was ook al niet meer)!
|
|
/*
|
|
v_errormsg := 'Fout bijwerken Opmerking (melding).';
|
|
|
|
UPDATE mld_melding m
|
|
SET mld_melding_opmerking =
|
|
DECODE (
|
|
mld_melding_opmerking,
|
|
NULL,
|
|
rec.opmerking,
|
|
rec.opmerking || CHR (13) || CHR (10)
|
|
|| SUBSTR (mld_melding_opmerking,
|
|
1,
|
|
(4000 - v_count)))
|
|
WHERE mld_melding_key = v_mld_key
|
|
AND mld_melding_status IN (4, 7)
|
|
AND NOT EXISTS
|
|
( -- Afhandeling in melding niet aanpassen voor projecten
|
|
SELECT sm.mld_stdmelding_key
|
|
FROM mld_stdmelding sm,
|
|
ins_tab_discipline td,
|
|
ins_srtdiscipline sd
|
|
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
|
|
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
|
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND sd.ins_srtdiscipline_prefix = 'QQQ');
|
|
|
|
v_errormsg := 'Fout sluiten melding.';
|
|
|
|
SELECT COUNT ( * )
|
|
INTO v_count
|
|
FROM (SELECT m.mld_melding_key,
|
|
(SELECT COUNT ( * )
|
|
FROM mld_opdr o
|
|
WHERE mld_melding_key = m.mld_melding_key)
|
|
aanw_opdr,
|
|
(SELECT COUNT ( * )
|
|
FROM mld_opdr o
|
|
WHERE mld_melding_key = m.mld_melding_key
|
|
AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9))
|
|
open_opdr
|
|
FROM mld_melding m
|
|
WHERE m.mld_melding_key = v_mld_key
|
|
AND m.mld_melding_status IN (4, 7))
|
|
niet_opgelost
|
|
WHERE aanw_opdr > 0 AND open_opdr = 0;
|
|
*/
|
|
-- Sinds AADO#30922 wordt de melding niet meer automatisch afgemeld.
|
|
MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0);
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
|
'Statusbericht-loop');
|
|
END;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
|
|
/* Formatted on 17-12-2015 12:58:02 (QP5 v5.136.908.31019) */
|
|
CREATE OR REPLACE VIEW kfht_v_export_exact (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = SUBSTR ('EXACT', 1, 12);
|
|
|
|
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 (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 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.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;
|
|
|
|
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;
|
|
/
|
|
|
|
-- Multi variant voor automatische import via gen_import van kosten uit Exact.
|
|
/* Formatted on 25-1-2016 17:40:20 (QP5 v5.136.908.31019) */
|
|
CREATE OR REPLACE PROCEDURE kfht_import_exact (p_import_key IN NUMBER)
|
|
AS
|
|
c_delim VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (1000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
header_is_valid NUMBER := 0;
|
|
v_count_tot NUMBER (10) := 0;
|
|
v_count_import NUMBER (10) := 0;
|
|
v_ongeldig NUMBER (1) := 0;
|
|
-- De importvelden
|
|
v_ticketnumber VARCHAR2 (255); -- C24
|
|
v_amount VARCHAR2 (255); -- N12,2
|
|
v_changedate VARCHAR2 (255); -- DATE
|
|
|
|
-- Overige velden:
|
|
CURSOR c1
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
BEGIN
|
|
DELETE FROM kfht_imp_exactmulti
|
|
WHERE imp_log_run <> p_import_key;
|
|
|
|
COMMIT;
|
|
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
v_errormsg := 'Fout opvragen te importeren rij';
|
|
v_aanduiding := '';
|
|
v_ongeldig := 0;
|
|
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield (v_newline, c_delim, v_ticketnumber);
|
|
fac.imp_getfield (v_newline, c_delim, v_amount);
|
|
fac.imp_getfield (v_newline, c_delim, v_changedate);
|
|
v_aanduiding :=
|
|
'['
|
|
|| v_ticketnumber
|
|
|| '|'
|
|
|| v_amount
|
|
|| '|'
|
|
|| v_changedate
|
|
|| '] ';
|
|
|
|
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
|
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
|
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
|
IF (header_is_valid = 0)
|
|
THEN
|
|
IF UPPER (TRIM (v_ticketnumber)) = 'TICKETNUMBER'
|
|
AND UPPER (TRIM (v_amount)) = 'AMOUNT'
|
|
AND UPPER (TRIM (v_changedate)) = 'CHANGEDATE'
|
|
THEN
|
|
header_is_valid := 1;
|
|
END IF;
|
|
ELSE
|
|
v_count_tot := v_count_tot + 1;
|
|
-- Controleer alle veldwaarden
|
|
v_errormsg := 'Fout inlezen ticketnumber';
|
|
v_ticketnumber := TRIM (v_ticketnumber);
|
|
|
|
IF (v_ticketnumber IS NULL)
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key, 'W', v_aanduiding || v_errormsg,
|
|
'Ticketnumber ongeldig; regel wordt overgeslagen!');
|
|
v_ongeldig := 1;
|
|
END IF;
|
|
|
|
--
|
|
v_errormsg := 'Fout inlezen amount';
|
|
v_amount := TRIM (REPLACE (v_amount, ',', '.'));
|
|
|
|
IF (fac.safe_to_number (v_amount) IS NULL)
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key, 'W', v_aanduiding || v_errormsg,
|
|
'Amount ongeldig; regel wordt overgeslagen!');
|
|
v_ongeldig := 1;
|
|
END IF;
|
|
|
|
--
|
|
v_errormsg := 'Fout inlezen changedate';
|
|
v_changedate := TRIM (v_changedate);
|
|
|
|
IF (fac.safe_to_date (v_changedate, 'dd-mm-yyyy hh24:mi:ss') IS NULL)
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key, 'W', v_aanduiding || v_errormsg,
|
|
'Changedate ongeldig; regel wordt overgeslagen!');
|
|
v_ongeldig := 1;
|
|
END IF;
|
|
|
|
-- Insert geformatteerde import record
|
|
IF (v_ongeldig = 0)
|
|
THEN
|
|
BEGIN
|
|
v_errormsg := 'Fout bij wegschrijven importregel';
|
|
|
|
INSERT INTO kfht_imp_exactmulti (imp_log_run,
|
|
ticketnumber,
|
|
amount,
|
|
changedate)
|
|
VALUES (p_import_key,
|
|
v_ticketnumber,
|
|
fac.safe_to_number (v_amount),
|
|
fac.safe_to_date (v_changedate, 'dd-mm-yyyy hh24:mi:ss'));
|
|
|
|
v_count_import := v_count_import + 1;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
|
END;
|
|
END IF;
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
|
|
IF (header_is_valid = 0)
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'E',
|
|
'Ongeldig importbestand',
|
|
'Geen header of header niet volgens specificatie!');
|
|
ELSE
|
|
fac.imp_writelog (
|
|
p_import_key, 'S',
|
|
'Inleesproces/#ingelezen importregels: ' || TO_CHAR (v_count_tot),
|
|
'');
|
|
fac.imp_writelog (
|
|
p_import_key, 'S',
|
|
'Inleesproces/#ongeldige niet ingelezen importregels: '
|
|
|| TO_CHAR (v_count_tot - v_count_import),
|
|
'');
|
|
END IF;
|
|
|
|
DELETE FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| 'ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
|
'Inleesproces kostenregels uit Exact afgebroken!');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE kfht_update_exact (p_import_key IN NUMBER)
|
|
AS
|
|
-- Cursor loopt over alle ingelezen kostenregels uit Exact.
|
|
CURSOR c1
|
|
IS
|
|
SELECT ticketnumber, -- Ticketnumber met of zonder prefix!
|
|
DECODE (fac.safe_to_number (SUBSTR (ticketnumber, 1, 1)),
|
|
NULL, TRIM (SUBSTR (ticketnumber, 2)),
|
|
ticketnumber)
|
|
opdr_id, -- Ticketnumber zonder prefix!
|
|
amount,
|
|
changedate
|
|
FROM kfht_imp_exactmulti
|
|
WHERE imp_log_run = p_import_key
|
|
ORDER BY 4, 2;
|
|
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_count_tot NUMBER (10);
|
|
v_mld_key NUMBER (10);
|
|
v_opdr_key NUMBER (10);
|
|
v_opdr_status NUMBER (10);
|
|
BEGIN
|
|
-- Loop door alle ingelezen kostenregels uit Exact en verwerk deze.
|
|
v_count_tot := 0;
|
|
|
|
FOR rec IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := '[' || rec.ticketnumber || '|' || TO_CHAR (rec.amount) || '] ';
|
|
v_count_tot := v_count_tot + 1;
|
|
v_mld_key := -1;
|
|
v_opdr_key := -1;
|
|
|
|
v_errormsg := 'Fout bepalen melding/opdracht.';
|
|
|
|
SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key
|
|
INTO v_mld_key, v_opdr_key, v_opdr_status
|
|
FROM mld_opdr
|
|
WHERE mld_typeopdr_key != 8 -- Offertaanvraag
|
|
AND mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr = rec.opdr_id;
|
|
|
|
-- Alleen iets doen als melding/opdracht succesvol is bepaald.
|
|
IF (v_mld_key > 0 AND v_opdr_key > 0)
|
|
THEN
|
|
-- Bijwerken kosten met amount.
|
|
v_errormsg := 'Fout bijwerken kosten.';
|
|
|
|
--UPDATE mld_opdr
|
|
-- SET mld_opdr_kosten = rec.amount,
|
|
-- mld_opdr_uren = 0,
|
|
-- mld_opdr_uurloon = 0,
|
|
-- mld_opdr_materiaal = 0
|
|
-- WHERE mld_opdr_key = v_opdr_key;
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_kosten = rec.amount
|
|
WHERE mld_opdr_key = v_opdr_key;
|
|
|
|
-- Bijwerken ordernr met changedate.
|
|
v_errormsg := 'Fout bijwerken ordernr.';
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_ordernr = TO_CHAR (rec.changedate, 'dd-mm-yyyy hh24:mi:ss')
|
|
WHERE mld_opdr_key = v_opdr_key;
|
|
|
|
-- Verwerken opdracht.
|
|
IF (v_opdr_status = 6 OR v_opdr_status = 9)
|
|
THEN
|
|
v_errormsg := 'Fout verwerken opdracht.';
|
|
|
|
MLD.setopdrachtstatus (v_opdr_key, 7, NULL);
|
|
END IF;
|
|
|
|
COMMIT;
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
|
'Fout verwerken kostenregels uit Exact.');
|
|
END;
|
|
END LOOP;
|
|
|
|
fac.imp_writelog (
|
|
p_import_key, 'S',
|
|
'Proces: '
|
|
|| TO_CHAR (v_count_tot)
|
|
|| ' kostenregels uit Exact afgehandeld.',
|
|
'');
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
|
|
-- Dummy export NACHTWERK!
|
|
-- KFHT#56229: Verwijderen inactieve accounts (6 maanden niet ingelogd).
|
|
CREATE OR REPLACE PROCEDURE kfht_select_nachtwerk (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_count NUMBER;
|
|
BEGIN
|
|
v_count := 0;
|
|
|
|
FOR rec
|
|
IN ( SELECT p.prs_perslid_key, p.prs_perslid_oslogin, COUNT (vp.prs_perslid_key) aant
|
|
FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys vp
|
|
WHERE TO_CHAR (SYSDATE, 'dd') = '01' -- Op 1e van de maand >180d niet ingelogd
|
|
AND p.prs_perslid_login < TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm')
|
|
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
|
|
GROUP BY p.prs_perslid_key, p.prs_perslid_oslogin
|
|
ORDER BY 1)
|
|
LOOP
|
|
BEGIN
|
|
IF rec.aant = 0
|
|
THEN
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_verwijder = SYSDATE
|
|
WHERE prs_perslid_key = rec.prs_perslid_key;
|
|
|
|
v_count := v_count + 1;
|
|
ELSE
|
|
fac.writelog (p_applname, 'I',
|
|
'[' || rec.prs_perslid_oslogin || ']/#Verplichtingen: ' || TO_CHAR (rec.aant),
|
|
'Persoon niet geïnactiveerd');
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN -- Kennelijk heeft persoon toch nog ernstige verplichtingen!
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.writelog (p_applname, 'E',
|
|
'[' || rec.prs_perslid_oslogin || ']/' || v_errormsg,
|
|
'Fout inactiveren persoon');
|
|
END;
|
|
END LOOP;
|
|
|
|
fac.writelog (p_applname, 'S', '#Personen geïnactiveerd:' || TO_CHAR (v_count), '');
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.writelog (p_applname, 'E', v_errormsg, 'Proces NACHTWERK afgebroken!');
|
|
END kfht_select_nachtwerk;
|
|
/
|
|
|
|
-- view om ASML gebouwen te notificeren bij afronden workflow rondom werkvergunning.
|
|
CREATE OR REPLACE VIEW KFHT_V_NOTI_MLD_ASMLREMINDER
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
PAR1,
|
|
PAR2,
|
|
XKEY,
|
|
XEMAIL
|
|
)
|
|
AS
|
|
SELECT 'MLDMAI',
|
|
NULL,
|
|
NULL,
|
|
'Er zullen werkzaamheden plaatsvinden betreft '
|
|
|| msd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| ' op locatie '
|
|
|| av.alg_gebouw_naam,
|
|
m.mld_melding_key,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
'operation_maintenance@asml.com'
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
mld_discipline md,
|
|
ins_srtdiscipline msd,
|
|
alg_v_onroerendgoed_gegevens av
|
|
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
|
AND md.ins_discipline_key = 208 -- Aanvraag werkvergunning
|
|
AND md.ins_srtdiscipline_key = msd.ins_srtdiscipline_key
|
|
AND m.mld_melding_key = m.mld_melding_start_key
|
|
AND m.mld_alg_onroerendgoed_keys = av.alg_onroerendgoed_keys
|
|
AND av.alg_gebouw_key IN (37,
|
|
44,
|
|
45,
|
|
39)
|
|
AND m.mld_melding_key IN
|
|
(SELECT fac_tracking_refkey
|
|
FROM fac_tracking
|
|
WHERE fac_srtnotificatie_key = 38
|
|
AND fac_tracking_datum > TRUNC (SYSDATE - 1));
|
|
|
|
CREATE OR REPLACE VIEW KFHT_V_NOTI_MLD_WVGREMINDER
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
PAR1,
|
|
PAR2,
|
|
XKEY
|
|
)
|
|
AS
|
|
SELECT 'CUST01',
|
|
NULL,
|
|
COALESCE (m.prs_perslid_key_voor, prs_perslid_key),
|
|
'Uw melding '
|
|
|| msd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| ' staat nog open ter goedkeuring',
|
|
m.mld_melding_key,
|
|
NULL,
|
|
NULL,
|
|
NULL
|
|
FROM mld_kenmerkmelding mk,
|
|
mld_kenmerk k,
|
|
mld_melding m,
|
|
mld_stdmelding sm,
|
|
mld_discipline md,
|
|
ins_srtdiscipline msd
|
|
WHERE k.mld_kenmerk_key = mk.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 122 -- Begindatum
|
|
AND k.mld_kenmerk_verwijder IS NULL
|
|
AND fac.safe_to_date (mld_kenmerkmelding_waarde, 'DD-MM-YYYY') = TRUNC (SYSDATE) + 2
|
|
AND m.mld_melding_key = mk.mld_melding_key
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
|
AND md.ins_discipline_key = 208 -- Aanvraag werkvergunning
|
|
AND md.ins_srtdiscipline_key = msd.ins_srtdiscipline_key
|
|
AND m.mld_melding_status NOT IN (1, 5, 6)
|
|
AND m.mld_melding_key = m.mld_melding_start_key;
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile |