2275 lines
82 KiB
SQL
2275 lines
82 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
|
|
DEFINE thisfile = 'AAIT.SQL'
|
|
DEFINE dbuser = '^AAIT'
|
|
DEFINE custid = 'AAIT'
|
|
|
|
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 ------
|
|
|
|
-- script om dagelijks terugkerende scripts aan te roepen.
|
|
CREATE OR REPLACE PROCEDURE aait_select_daily_task (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aaxx_daily_task (p_applname, p_applrun);
|
|
END;
|
|
/
|
|
|
|
-- budgettracker overrules
|
|
CREATE OR REPLACE VIEW aait_v_export_budget_tracker (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_budget_tracker;
|
|
|
|
|
|
-- export overrules
|
|
-- exact
|
|
CREATE OR REPLACE VIEW aait_v_export_exact (RESULT, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = 'EXACT';
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
-- Bij AAIT wordt in de opdracht bepaald op welke grootboekrekening (lees: kostensoort) de kosten geboekt
|
|
-- moeten worden. Dit wordt vastgelegd in srtkenmerk met key 201. Dit is een lijst met kostensoorten. Voor het
|
|
-- exporteren van de kosten wordt de kostensoort_key in de factuur gelijk gemaakt aan de kostensoort bij de
|
|
-- opdracht.
|
|
UPDATE fin_factuur f
|
|
SET prs_kostensoort_key = COALESCE((SELECT fac.safe_to_number(mld_kenmerkopdr_waarde)
|
|
FROM mld_kenmerk k, mld_kenmerkopdr ko, mld_opdr o
|
|
WHERE f.mld_opdr_key = o.mld_opdr_key
|
|
AND o.mld_opdr_key = ko.mld_opdr_key
|
|
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 201), prs_kostensoort_key) -- srtkenmerk Grootboekrekening/Kostensoort
|
|
WHERE EXISTS (SELECT fg.fin_factuur_key
|
|
FROM aaxx_v_factuur_gegevens fg, mld_kenmerkopdr ko, mld_kenmerk k
|
|
WHERE fg.fin_factuur_key = f.fin_factuur_key
|
|
AND fg.mld_opdr_key = ko.mld_opdr_key
|
|
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 201
|
|
AND fg.fin_factuur_statuses_key = 6);
|
|
aaxx_select_exact_xml (p_applname, p_applrun);
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_export_exact (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact (p_applname, p_applrun, p_filedir, p_filename);
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_verwerk_exact (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_verwerk_exact;
|
|
CREATE OR REPLACE PROCEDURE aait_export_verwerk_exact (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact(p_applname, p_applrun, p_filedir, p_filename);
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_export_verwerk_exact (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact(p_applname, p_applrun, p_filedir, p_filename);
|
|
END;
|
|
/
|
|
|
|
-- bundel catering
|
|
CREATE OR REPLACE VIEW aait_v_export_bundel_catering (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_bundel_catering;
|
|
CREATE OR REPLACE PROCEDURE aait_export_bundel_catering (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_bundel_catering(p_applname, p_applrun, p_filedir, p_filename);
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop
|
|
CREATE OR REPLACE VIEW aait_v_export_exact_verkoop (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact_verkoop (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'));
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_exact_verkoop (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'));
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop over het vorige jaar
|
|
CREATE OR REPLACE VIEW aait_v_export_exact_verkoop_vj (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact_verkoop_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_exact_verkoop_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
|
END;
|
|
/
|
|
|
|
-- exact projecturen (XML), opgesplitst naar boekhouding (eerste 3 digits kostenplaats)
|
|
CREATE OR REPLACE VIEW aait_v_export_exact_uren001 (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = SUBSTR ('EXACT_UREN001', 1, 12);
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_exact_uren007 (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = SUBSTR ('EXACT_UREN007', 1, 12);
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_exact_uren012 (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = SUBSTR ('EXACT_UREN012', 1, 12);
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_exact_uren300 (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = SUBSTR ('EXACT_UREN300', 1, 12);
|
|
|
|
-- Exportregels (XML-structuur) in fac_rapport
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact_uren001 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_uren_xml(p_applname, p_applrun, '001');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact_uren007 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_uren_xml(p_applname, p_applrun, '007');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact_uren012 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_uren_xml(p_applname, p_applrun, '012');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_select_exact_uren300 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_uren_xml(p_applname, p_applrun, '300');
|
|
END;
|
|
/
|
|
|
|
-- verwerk exact projecturen (XML)
|
|
CREATE OR REPLACE PROCEDURE aait_export_vw_exact_uren001 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '001');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_export_vw_exact_uren007 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '007');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_export_vw_exact_uren012 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '012');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_export_vw_exact_uren300 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '300');
|
|
END;
|
|
/
|
|
|
|
--------------------------------
|
|
-- import contractorders
|
|
--------------------------------
|
|
CREATE OR REPLACE PROCEDURE aait_import_contract (p_import_key IN NUMBER) IS
|
|
BEGIN
|
|
aaxx_import_contract (p_import_key);
|
|
END aait_import_contract;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_update_contract (p_import_key IN NUMBER)
|
|
AS
|
|
BEGIN
|
|
aaxx_update_contract (p_import_key);
|
|
END aait_update_contract;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_import_ruimte (p_import_key IN NUMBER)
|
|
AS
|
|
BEGIN
|
|
aaxx_import_ruimte(p_import_key);
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_update_ruimte (p_import_key IN NUMBER)
|
|
AS
|
|
BEGIN
|
|
aaxx_update_ruimte(p_import_key);
|
|
END;
|
|
/
|
|
|
|
|
|
-- personen import koppeling
|
|
CREATE OR REPLACE PROCEDURE aait_import_perslid_mut (p_import_key IN NUMBER)
|
|
AS
|
|
v_afdelingscode VARCHAR2(100);
|
|
v_persoonachternaam VARCHAR2(100);
|
|
v_tussenvoegsel VARCHAR2(100);
|
|
v_voorletters VARCHAR2(100);
|
|
v_voornaam VARCHAR2(100);
|
|
v_titel VARCHAR2(100);
|
|
v_telefoonnummer VARCHAR2(100);
|
|
v_mobiel VARCHAR2(100);
|
|
v_email VARCHAR2(100);
|
|
v_functie VARCHAR2(100);
|
|
v_loginnaam VARCHAR2(100);
|
|
v_personeelsnummer VARCHAR2(100);
|
|
v_dienstverband VARCHAR2(100);
|
|
v_uurloon VARCHAR2(100);
|
|
v_kostenplaats VARCHAR2(100);
|
|
v_header VARCHAR2(1000);
|
|
v_newline VARCHAR2(1000);
|
|
header_is_valid NUMBER := 0;
|
|
|
|
v_old_login VARCHAR2 (30);
|
|
c_delim VARCHAR2 (1) := ';';
|
|
|
|
CURSOR c1
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
-- cursor om de tussenvoegsels goed in te kunnen vullen. Deze staan nu achter de achternaam.
|
|
CURSOR c
|
|
IS
|
|
SELECT fac_usrdata_omschr, loginnaam
|
|
FROM aait_imp_perslid p, fac_usrdata u
|
|
WHERE UPPER(p.persoonachternaam) LIKE UPPER(u.fac_usrdata_omschr) || ' ' || '%'
|
|
AND fac_usrtab_key = 201
|
|
ORDER BY p.loginnaam, LENGTH (fac_usrdata_omschr) DESC;
|
|
|
|
BEGIN
|
|
v_old_login := 'QueQeLeQue';
|
|
|
|
-- Eerst opruiming
|
|
DELETE FROM aait_imp_perslid
|
|
WHERE fac_import_key <> p_import_key;
|
|
|
|
COMMIT;
|
|
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
|
|
-- Lees alle veldwaarden
|
|
v_header := v_newline;
|
|
fac.imp_getfield (v_newline, c_delim, v_afdelingscode);
|
|
fac.imp_getfield (v_newline, c_delim, v_persoonachternaam);
|
|
fac.imp_getfield (v_newline, c_delim, v_tussenvoegsel);
|
|
fac.imp_getfield (v_newline, c_delim, v_voorletters);
|
|
fac.imp_getfield (v_newline, c_delim, v_voornaam);
|
|
fac.imp_getfield (v_newline, c_delim, v_titel);
|
|
fac.imp_getfield (v_newline, c_delim, v_telefoonnummer);
|
|
fac.imp_getfield (v_newline, c_delim, v_mobiel);
|
|
fac.imp_getfield (v_newline, c_delim, v_email);
|
|
fac.imp_getfield (v_newline, c_delim, v_functie);
|
|
fac.imp_getfield (v_newline, c_delim, v_personeelsnummer);
|
|
fac.imp_getfield (v_newline, c_delim, v_loginnaam);
|
|
fac.imp_getfield (v_newline, c_delim, v_dienstverband);
|
|
fac.imp_getfield (v_newline, c_delim, v_uurloon);
|
|
fac.imp_getfield (v_newline, c_delim, v_kostenplaats);
|
|
|
|
IF (header_is_valid = 0)
|
|
THEN
|
|
IF LOWER (TRIM (v_header)) = 'afdelingscode;persoonachternaam;tussenvoegsel;voorletters;voornaam;titel aanhef;telefoonnummer;mobiel;email;functie;personeelsnummer;loginnaam;dienstverband;uurloon;kostenplaats'
|
|
OR LOWER (TRIM (v_header)) = '"afdelingscode";"persoonachternaam";"tussenvoegsel";"voorletters";"voornaam";"titel aanhef";"telefoonnummer";"mobiel";"email";"functie";"personeelsnummer";"loginnaam";"dienstverband";"uurloon";"kostenplaats"'
|
|
THEN
|
|
header_is_valid := 1;
|
|
END IF;
|
|
ELSE
|
|
INSERT INTO aait_imp_perslid (
|
|
afdelingscode,
|
|
persoonachternaam,
|
|
tussenvoegsel,
|
|
voorletters,
|
|
voornaam,
|
|
titel,
|
|
telefoonnummer,
|
|
mobiel,
|
|
email,
|
|
functie,
|
|
loginnaam,
|
|
personeelsnummer,
|
|
dienstverband,
|
|
uurloon,
|
|
kostenplaats,
|
|
fac_import_key)
|
|
VALUES (
|
|
v_afdelingscode,
|
|
v_persoonachternaam,
|
|
v_tussenvoegsel,
|
|
v_voorletters,
|
|
v_voornaam,
|
|
v_titel,
|
|
DECODE(v_telefoonnummer, 'N/A', NULL, v_telefoonnummer),
|
|
v_mobiel,
|
|
DECODE(v_email, 'N/A', NULL, v_email),
|
|
v_functie,
|
|
v_loginnaam,
|
|
v_personeelsnummer,
|
|
v_dienstverband,
|
|
v_uurloon,
|
|
to_char(fac.safe_to_number(v_kostenplaats), '00000000'),
|
|
p_import_key);
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
|
|
IF (header_is_valid = 0)
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'E',
|
|
'Ongeldige header',
|
|
'Controleer het importbestand.'
|
|
);
|
|
ELSE
|
|
-- splits de achternaam in tussenvoegsels en achternaam.
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
IF rec.loginnaam <> v_old_login
|
|
THEN
|
|
DBMS_OUTPUT.put_line (
|
|
rec.loginnaam || '-' || rec.fac_usrdata_omschr);
|
|
v_old_login := rec.loginnaam;
|
|
|
|
UPDATE aait_imp_perslid p
|
|
SET tussenvoegsel = rec.fac_usrdata_omschr,
|
|
persoonachternaam =
|
|
TRIM(SUBSTR (persoonachternaam,
|
|
LENGTH (rec.fac_usrdata_omschr) + 1))
|
|
WHERE p.loginnaam = rec.loginnaam;
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
|
|
DELETE fac_imp_perslid;
|
|
|
|
INSERT INTO fac_imp_perslid (
|
|
prs_afdeling_naam,
|
|
prs_perslid_naam,
|
|
prs_perslid_tussenvoegsel,
|
|
prs_perslid_voorletters,
|
|
prs_perslid_voornaam,
|
|
prs_perslid_titel,
|
|
prs_perslid_telefoonnr,
|
|
prs_perslid_mobiel,
|
|
prs_perslid_email,
|
|
prs_srtperslid_omschrijving,
|
|
prs_perslid_oslogin,
|
|
prs_perslid_nr)
|
|
SELECT substr(afdelingscode, 1, 10),
|
|
substr(persoonachternaam, 1, 60),
|
|
substr(tussenvoegsel, 1, 15),
|
|
substr(voorletters, 1, 10),
|
|
substr(voornaam, 1, 30),
|
|
substr(titel, 1, 15),
|
|
substr(telefoonnummer, 1, 15),
|
|
substr(mobiel, 1, 15),
|
|
substr(email, 1, 50),
|
|
substr(functie, 1, 60),
|
|
substr(loginnaam, 1, 30),
|
|
substr(personeelsnummer, 1, 16)
|
|
FROM aait_imp_perslid
|
|
WHERE fac_import_key = p_import_key;
|
|
END IF;
|
|
|
|
|
|
END aait_import_perslid_mut;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_update_perslid_mut (
|
|
p_import_key IN NUMBER
|
|
) IS
|
|
|
|
CURSOR c_del
|
|
IS
|
|
SELECT prs_perslid_key,
|
|
prs_perslid_naam,
|
|
prs_perslid_oslogin,
|
|
prs_perslid_oslogin2,
|
|
prs_perslid_login,
|
|
(SELECT COUNT ( * )
|
|
FROM prs_v_verplichting v
|
|
WHERE v.prs_perslid_key = p.prs_perslid_key)
|
|
verplichtingen
|
|
FROM prs_perslid p
|
|
WHERE NOT EXISTS
|
|
(SELECT prs_perslid_key
|
|
FROM fac_imp_perslid i
|
|
WHERE p.prs_perslid_oslogin = UPPER (i.prs_perslid_oslogin)
|
|
OR p.prs_perslid_oslogin2 = UPPER (i.prs_perslid_oslogin))
|
|
AND prs_perslid_verwijder IS NULL
|
|
AND (prs_perslid_oslogin NOT LIKE '/_%' ESCAPE ('/')
|
|
OR prs_perslid_oslogin IS NULL);
|
|
|
|
|
|
-- cursor om extra velden toe te voegen die niet in de generiek import staan
|
|
CURSOR c_extra
|
|
IS
|
|
SELECT p.prs_perslid_key, prs_perslid_naam_full, kostenplaats, dienstverband, uurloon
|
|
FROM aait_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames pf
|
|
WHERE UPPER(i.loginnaam) = p.prs_perslid_oslogin
|
|
AND p.prs_perslid_key = pf.prs_perslid_key;
|
|
|
|
v_perslid_key NUMBER;
|
|
v_perslid_nr VARCHAR2(100);
|
|
v_kostenplaats_nr VARCHAR2(100);
|
|
v_fac_groep_key NUMBER;
|
|
v_count NUMBER;
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO v_count
|
|
FROM fac_imp_perslid;
|
|
|
|
IF v_count > 100 THEN
|
|
|
|
BEGIN
|
|
SELECT fac_groep_key
|
|
INTO v_fac_groep_key
|
|
FROM fac_groep
|
|
WHERE UPPER (fac_groep_omschrijving) = 'AAFM MEDEWERKER';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
INSERT INTO fac_groep (fac_groep_omschrijving)
|
|
VALUES ('AAFM Medewerker')
|
|
RETURNING fac_groep_key
|
|
INTO v_fac_groep_key;
|
|
END;
|
|
|
|
-- generic update
|
|
aaxx.fac_gen_update_perslid (p_import_key, 'LOGIN', 0, '');
|
|
|
|
-- extra velden toevoegen aan de persoon
|
|
FOR rec IN c_extra
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := rec.prs_perslid_naam_full||' ('
|
|
|| rec.kostenplaats||', '||rec.dienstverband||', '||rec.uurloon||')';
|
|
UPDATE prs_perslid p
|
|
SET prs_perslid_uurloon = fac.safe_to_number(replace(rec.uurloon,',','.')),
|
|
prs_perslid_dienstverband = fac.safe_to_number(replace(rec.dienstverband, ',','.'))
|
|
WHERE p.prs_perslid_key = rec.prs_perslid_key;
|
|
|
|
aaxx.set_prs_kenmerk (p_import_key, 'P', 2, rec.prs_perslid_key, rec.kostenplaats);
|
|
|
|
-- voeg de persoon toe aan de groep AAFM-projecturen als deze al niet tot de groep behoort.
|
|
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
|
SELECT g.fac_groep_key, p.prs_perslid_key
|
|
FROM prs_perslid p, fac_groep g
|
|
WHERE p.prs_perslid_key = rec.prs_perslid_key
|
|
AND g.fac_groep_key = v_fac_groep_key
|
|
AND NOT EXISTS (
|
|
SELECT fac_gebruikersgroep_key
|
|
FROM fac_gebruikersgroep gg
|
|
WHERE gg.fac_groep_key = g.fac_groep_key
|
|
AND gg.prs_perslid_key = p.prs_perslid_key);
|
|
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,
|
|
'Fout bij bijwerken persoon.'
|
|
);
|
|
END;
|
|
END LOOP;
|
|
|
|
|
|
|
|
FOR rec IN c_del
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := rec.prs_perslid_naam||' ('
|
|
|| rec.prs_perslid_oslogin||'/'||rec.prs_perslid_oslogin2||')';
|
|
|
|
UPDATE prs_perslid p
|
|
SET prs_perslid_oslogin = NULL,
|
|
prs_perslid_oslogin2 = NULL
|
|
WHERE p.prs_perslid_key = rec.prs_perslid_key;
|
|
|
|
DELETE fac_gebruikersgroep
|
|
WHERE prs_perslid_key = rec.prs_perslid_key
|
|
AND fac_groep_key = v_fac_groep_key;
|
|
|
|
IF rec.verplichtingen = 0 THEN
|
|
UPDATE prs_perslid p
|
|
SET prs_perslid_verwijder = sysdate
|
|
WHERE p.prs_perslid_key = rec.prs_perslid_key;
|
|
ELSE
|
|
UPDATE prs_perslid p
|
|
SET prs_perslid_naam = substr('Inactief ' || prs_perslid_naam, 1,60)
|
|
WHERE p.prs_perslid_key = rec.prs_perslid_key
|
|
AND p.prs_perslid_naam not like 'Inactief%';
|
|
END IF;
|
|
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,
|
|
'Fout bij verwijderen persoon.'
|
|
);
|
|
END;
|
|
END LOOP;
|
|
|
|
-- Plaats de key van de personen in het importbestand. De prs_perslid_key vanuit de AAIT
|
|
-- omgeving wordt als sleutel in de andere omgevingingen gebruikt.
|
|
-- Hetzelfde met de APIKEY. Die is niet voor de syncronisatie gebruiken omdat hij niet
|
|
-- (altijd) is ingevuld (niet bij verwijderder personen bijvoorbeeld)
|
|
UPDATE aait_imp_perslid i
|
|
SET prs_perslid_key =
|
|
(SELECT prs_perslid_key
|
|
FROM prs_perslid p
|
|
WHERE p.prs_perslid_oslogin = UPPER(loginnaam)),
|
|
prs_perslid_apikey =
|
|
(SELECT prs_perslid_apikey
|
|
FROM prs_perslid p
|
|
WHERE p.prs_perslid_oslogin = UPPER(loginnaam)),
|
|
uurloon_intern =
|
|
(SELECT prs_kenmerklink_waarde
|
|
FROM prs_perslid p, prs_kenmerklink kl
|
|
WHERE p.prs_perslid_key = kl.prs_link_key
|
|
AND kl.prs_kenmerk_key = 6 -- Uurloon intern
|
|
AND p.prs_perslid_oslogin = UPPER(loginnaam)),
|
|
distributie =
|
|
(SELECT prs_kenmerklink_waarde
|
|
FROM prs_perslid p, prs_kenmerklink kl
|
|
WHERE p.prs_perslid_key = kl.prs_link_key
|
|
AND kl.prs_kenmerk_key = 1080 -- Distributie
|
|
AND p.prs_perslid_oslogin = UPPER(loginnaam));
|
|
END IF;
|
|
|
|
END aait_update_perslid_mut;
|
|
/
|
|
|
|
-- Andere account mogen ook gebruik maken van deze data
|
|
-- Er is globaal gedaan:
|
|
-- GRANT SELECT ON aait_imp_perslid TO PUBLIC;
|
|
|
|
-- AAIT#24873: Rapportage bezoekers op scherm
|
|
-- kenmerk key 1000: afspraak is prive (dus niet op infobord)
|
|
CREATE OR REPLACE VIEW aait_v_rap_infobord
|
|
AS
|
|
SELECT * FROM aaxx_v_rap_infobord;
|
|
|
|
-- AAIT#30008:OVERRULE van de defaultview gebruikt voor het infobord (fac_usrrap met key 12)
|
|
-- zonder "offset > -60"
|
|
CREATE OR REPLACE VIEW aait_v_rap_infobordframe
|
|
(
|
|
tijd,
|
|
kamer,
|
|
omschrijving,
|
|
voorzitter,
|
|
hide_f_alg_locatie_key,
|
|
hide_f_alg_gebouw_key,
|
|
hide_f_alg_verdieping_key
|
|
)
|
|
AS
|
|
SELECT tijd_van || '-' || tijd_tot,
|
|
ruimte,
|
|
omschrijving,
|
|
gastheer,
|
|
alg_locatie_key,
|
|
alg_gebouw_key,
|
|
alg_verdieping_key
|
|
FROM res_v_rap_infobord
|
|
WHERE (status = 'Definitief' OR status = 'Optie') AND aktief <> 'passed';
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_rap_bezoekers
|
|
AS
|
|
SELECT * FROM aaxx_v_rap_infobord;
|
|
|
|
|
|
-- view om temperatuurgegevens in de ruimte te plaatsen
|
|
-- ins_srtdeel_key = 1781 -- temp sensoren
|
|
CREATE OR REPLACE VIEW aait_v_label_temp
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT r.alg_ruimte_key,
|
|
alg_ruimte_nr
|
|
|| DECODE (
|
|
MAX (ins_deel_state),
|
|
NULL,
|
|
NULL,
|
|
'[br]'
|
|
|| MAX(fac.safe_to_number (
|
|
REPLACE (ins_deel_state, ',', '.')))
|
|
|| CHR (176)
|
|
|| 'C')
|
|
FROM (SELECT ins_alg_ruimte_key, ins_deel_state
|
|
FROM ins_deel
|
|
WHERE ins_srtdeel_key = 1781) d, alg_ruimte r
|
|
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key(+)
|
|
GROUP BY r.alg_ruimte_key, r.alg_ruimte_nr;
|
|
|
|
--
|
|
-- WP SENSOREN
|
|
--
|
|
|
|
-- als we ruimte informatie gecombineerd met object informatie willen laten zien hebben we ook een dummy ins_deel_key nodig
|
|
CREATE OR REPLACE VIEW aait_v_thema_srtruimtesensor
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
ins_deel_key
|
|
)
|
|
AS
|
|
SELECT alg_ruimte_key,
|
|
waarde,
|
|
(SELECT MAX (ins_deel_key)
|
|
FROM ins_deel d
|
|
WHERE ins_alg_ruimte_key = alg_ruimte_key
|
|
AND d.ins_srtdeel_key = 1521)
|
|
dummy_sensor
|
|
FROM cad_v_thema_srtruimtesensor;
|
|
|
|
CREATE OR REPLACE VIEW aait_v_thema_wp_sensor
|
|
(
|
|
ins_deel_key,
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT ins_deel_key,
|
|
ins_alg_ruimte_key,
|
|
DECODE (ins_deel_state,
|
|
1, '01',
|
|
DECODE (rrd.res_rsv_deel_key, NULL, '10', '02'))
|
|
FROM ins_deel d,
|
|
res_deel rd,
|
|
(SELECT res_rsv_deel_key, res_deel_key
|
|
FROM res_rsv_deel
|
|
WHERE SYSDATE BETWEEN res_rsv_deel_van AND res_rsv_deel_tot) rrd
|
|
WHERE ins_discipline_key = 1402
|
|
AND d.ins_deel_key = rd.res_ins_deel_key(+)
|
|
AND rd.res_deel_key = rrd.res_deel_key(+);
|
|
|
|
-- toon bij werkplek objecten geen label info
|
|
CREATE OR REPLACE VIEW aait_v_label_ins_empty
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
ins_deel_key
|
|
)
|
|
AS
|
|
SELECT alg_ruimte_key, NULL waarde, ins_deel_key
|
|
FROM aait_v_thema_wp_sensor;
|
|
|
|
|
|
CREATE OR REPLACE VIEW AAIT_V_RAP_FACTUUR_GOEDKEURING
|
|
(
|
|
FCLT_D_DATUM_GOEDKEURING,
|
|
APPROVER,
|
|
FIN_FACTUUR_KEY,
|
|
FIN_FACTUUR_NR,
|
|
PRS_BEDRIJF_NAAM,
|
|
PRS_BEDRIJF_BEZOEK_ADRES,
|
|
PRS_BEDRIJF_TELEFOON,
|
|
PRS_BEDRIJF_FAX,
|
|
FIN_FACTUUR_DATUM,
|
|
FIN_FACTUUR_AANMAAK,
|
|
FIN_FACTUUR_TOTAAL,
|
|
FIN_FACTUUR_BTW,
|
|
MODULE,
|
|
ORDERNUMMER,
|
|
ORDERDATUM,
|
|
OMSCHRIJVING,
|
|
ORDERSTATUS,
|
|
ORDERBEDRAG,
|
|
PRS_KOSTENSOORT_OPMERKING,
|
|
PRS_KOSTENSOORT_OMS,
|
|
PRS_KOSTENPLAATS_NR,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
|
CALLER
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (fac.gettrackingdate ('FINFOK', g.fin_factuur_key),
|
|
'dd-mm-yyyy')
|
|
fclt_d_datum_acc,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all
|
|
WHERE prs_perslid_key =
|
|
fac.gettrackinguserkey ('FINFOK', f.fin_factuur_key))
|
|
approver,
|
|
g.fin_factuur_key,
|
|
g.fin_factuur_nr,
|
|
prs_bedrijf_naam,
|
|
prs_bedrijf_bezoek_adres,
|
|
prs_bedrijf_telefoon,
|
|
prs_bedrijf_fax,
|
|
TO_CHAR (g.fin_factuur_datum, 'dd-mm-yyyy'),
|
|
TO_CHAR (fac.gettrackingdate ('FINNEW', g.fin_factuur_key),
|
|
'dd-mm-yyyy')
|
|
fin_factuur_aanmaak,
|
|
fin_factuur_totaal,
|
|
fin_factuur_totaal + fin_factuur_totaal_btw,
|
|
module,
|
|
ordernummer,
|
|
TO_CHAR (orderdatum, 'dd-mm-yyyy'),
|
|
omschrijving,
|
|
orderstatus,
|
|
orderbedrag,
|
|
prs_kostensoort_opmerking,
|
|
ks.prs_kostensoort_oms,
|
|
prs_kostenplaats_nr,
|
|
prs_kostenplaats_omschrijving,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all
|
|
WHERE prs_perslid_key = caller)
|
|
FROM aaxx_v_factuur_gegevens g,
|
|
prs_bedrijf b,
|
|
fin_factuur f,
|
|
( SELECT 'BES' module,
|
|
bo.bes_bestelopdr_key,
|
|
NULL mld_opdr_key,
|
|
NULL cnt_contract_key,
|
|
bo.bes_bestelopdr_id ordernummer,
|
|
bes_bestelopdr_datum orderdatum,
|
|
bes.bestelopdr_tooltip (bo.bes_bestelopdr_key) omschrijving,
|
|
bes_bestelopdrstatuses_omschr orderstatus,
|
|
SUM (bi.bes_bestelling_item_brutoprijs) orderbedrag,
|
|
b.prs_perslid_key caller
|
|
FROM bes_bestelopdr bo,
|
|
bes_bestelopdr_item boi,
|
|
bes_bestelling_item bi,
|
|
bes_bestelling b,
|
|
bes_bestelopdrstatuses s
|
|
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
|
AND boi.bes_bestelopdr_item_key =
|
|
bi.bes_bestelopdr_item_key
|
|
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
|
AND bo.bes_bestelopdr_status = s.bes_bestelopdrstatuses_key
|
|
GROUP BY bo.bes_bestelopdr_key,
|
|
bo.bes_bestelopdr_id,
|
|
bes_bestelopdr_datum,
|
|
bes_bestelopdrstatuses_omschr,
|
|
b.prs_perslid_key
|
|
UNION ALL
|
|
SELECT 'MLD',
|
|
NULL,
|
|
mld_opdr_key,
|
|
NULL,
|
|
ins_srtdiscipline_prefix
|
|
|| o.mld_melding_key
|
|
|| '/'
|
|
|| mld_opdr_bedrijfopdr_volgnr,
|
|
mld_opdr_datumbegin,
|
|
mld_opdr_omschrijving,
|
|
mld_statusopdr_omschrijving,
|
|
mld_opdr_kosten,
|
|
m.prs_perslid_key
|
|
FROM mld_opdr o,
|
|
mld_melding m,
|
|
mld_stdmelding std,
|
|
mld_statusopdr s,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd
|
|
WHERE o.mld_melding_key = m.mld_melding_key
|
|
AND o.mld_statusopdr_key = s.mld_statusopdr_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND sd.ins_srtdiscipline_prefix = 'IT'
|
|
UNION ALL
|
|
SELECT 'CNT',
|
|
NULL,
|
|
NULL,
|
|
cnt_contract_key,
|
|
cnt_contract_nummer_intern
|
|
|| '.'
|
|
|| COALESCE (cnt_contract_versie, '0'),
|
|
cnt_contract_looptijd_van,
|
|
cnt_contract_document,
|
|
DECODE (
|
|
SIGN (cnt_contract_looptijd_van - SYSDATE),
|
|
1,
|
|
'Toekomst',
|
|
-1,
|
|
DECODE (SIGN (cnt_contract_looptijd_tot - SYSDATE),
|
|
1, 'Actueel',
|
|
-1, 'Verlopen')),
|
|
cnt_contract_termijnkosten,
|
|
prs_perslid_key_beh
|
|
FROM cnt_contract c,
|
|
prs_v_afdeling_boom a
|
|
WHERE c.prs_afdeling_key_eig = a.prs_afdeling_key
|
|
AND a.prs_afdeling_key1 = 173) order_geg, -- STAFF afdeling
|
|
prs_kostenplaats k,
|
|
prs_kostensoort ks
|
|
WHERE ( g.mld_opdr_key = order_geg.mld_opdr_key
|
|
OR g.cnt_contract_key = order_geg.cnt_contract_key
|
|
OR g.bes_bestelopdr_key = order_geg.bes_bestelopdr_key)
|
|
AND g.prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND g.fin_factuur_key = f.fin_factuur_key
|
|
AND g.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND g.prs_kostensoort_key = ks.prs_kostensoort_key
|
|
AND f.fin_factuur_statuses_key IN (6, 7);
|
|
|
|
CREATE OR REPLACE VIEW aait_v_noti_ordreminder
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
par1,
|
|
par2,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT 'CUST01',
|
|
'',
|
|
prs.getkpverantwoordelijke (o.prs_kostenplaats_key,
|
|
2,
|
|
m.prs_perslid_key)
|
|
budgethouder,
|
|
'REMINDER: '
|
|
|| COUNT (o.mld_opdr_key)
|
|
|| ' Service Request'
|
|
|| DECODE (COUNT (o.mld_opdr_key), 1, '', 's'),
|
|
MIN (o.mld_opdr_key), -- Dummy key, althans een willekeurige; nog testen of dit werkt???
|
|
NULL,
|
|
NULL,
|
|
NULL
|
|
FROM mld_opdr o, mld_melding m
|
|
WHERE o.mld_statusopdr_key = 3 AND o.mld_melding_key = m.mld_melding_key
|
|
GROUP BY prs.getkpverantwoordelijke (o.prs_kostenplaats_key,
|
|
2,
|
|
m.prs_perslid_key);
|
|
|
|
CREATE OR REPLACE VIEW AAIT_V_NOTI_FINREMINDER
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
PAR1,
|
|
PAR2,
|
|
XKEY
|
|
)
|
|
AS
|
|
SELECT 'FININF',
|
|
'',
|
|
546, -- Mr. Hartley
|
|
'Fiatteringsverzoek voor '
|
|
|| COUNT (f.fin_factuur_key)
|
|
|| DECODE (COUNT (f.fin_factuur_key), 1, ' factuur.', ' facturen.'),
|
|
MIN (f.fin_factuur_key), -- Dummy key, althans een willekeurige; FSN#19425
|
|
NULL,
|
|
NULL,
|
|
NULL
|
|
FROM fin_factuur f
|
|
WHERE f.fin_factuur_statuses_key =
|
|
DECODE (TO_CHAR (SYSDATE, 'D'), 1, 99, 7, 99, 2) -- notificatie niet versturen in het weekend
|
|
AND f.fin_factuur_verwijder IS NULL
|
|
GROUP BY fin_factuur_statuses_key;
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_kostensoort (
|
|
prs_kostensoort_key,
|
|
prs_kostensoort_omschrijving
|
|
)
|
|
AS
|
|
SELECT prs_kostensoort_key,
|
|
prs_kostensoort_oms || '-' || prs_kostensoort_opmerking
|
|
FROM prs_kostensoort;
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_mobile_phones (
|
|
ins_srtdeel_key,
|
|
ins_srtdeel_omschrijving
|
|
)
|
|
AS
|
|
SELECT ins_srtdeel_key, ins_srtdeel_omschrijving
|
|
FROM ins_srtdeel
|
|
WHERE ins_srtdeel_code_upper = 'MO' AND ins_srtdeel_verwijder IS NULL
|
|
ORDER BY ins_srtdeel_omschrijving;
|
|
|
|
CREATE OR REPLACE VIEW aait_v_laptops (
|
|
ins_srtdeel_key,
|
|
ins_srtdeel_omschrijving
|
|
)
|
|
AS
|
|
SELECT ins_srtdeel_key, ins_srtdeel_omschrijving
|
|
FROM ins_srtdeel
|
|
WHERE ins_srtdeel_code_upper = 'LP' AND ins_srtdeel_verwijder IS NULL
|
|
ORDER BY ins_srtdeel_omschrijving;
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_rap_order_corrections
|
|
(
|
|
fclt_3d_user_key,
|
|
melding,
|
|
status,
|
|
datum,
|
|
omschrijving
|
|
)
|
|
AS
|
|
SELECT gg.prs_perslid_key,
|
|
m.mld_melding_key,
|
|
s.mld_statuses_omschrijving,
|
|
m.mld_melding_datum,
|
|
m.mld_melding_omschrijving
|
|
FROM mld_melding m,
|
|
mld_statuses s,
|
|
mld_stdmelding std,
|
|
fac_groep gr,
|
|
fac_functie f,
|
|
fac_groeprechten g,
|
|
fac_gebruikersgroep gg,
|
|
alg_v_allonroerendgoed aog,
|
|
prs_v_perslidwerkplek_gegevens pwg
|
|
WHERE std.mld_ins_discipline_key = 441 -- order corrections
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND m.mld_melding_status = s.mld_statuses_key
|
|
AND g.fac_functie_key = f.fac_functie_key
|
|
AND f.fac_functie_code = 'WEB_MLDBO3'
|
|
AND g.ins_discipline_key = std.mld_ins_discipline_key
|
|
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
|
AND pwg.alg_gebouw_key = aog.alg_gebouw_key
|
|
AND pwg.prs_perslid_key = gg.prs_perslid_key
|
|
AND g.fac_groep_key = gg.fac_groep_key
|
|
AND gg.fac_groep_key = gr.fac_groep_key
|
|
AND gr.fac_groep_omschrijving <> '_Admin'
|
|
AND m.mld_melding_status IN (2, 3) -- ingevoerd en ingezien
|
|
UNION ALL
|
|
SELECT gg.prs_perslid_key,
|
|
m.mld_melding_key,
|
|
s.mld_statuses_omschrijving,
|
|
m.mld_melding_datum,
|
|
m.mld_melding_omschrijving
|
|
FROM mld_melding m,
|
|
mld_stdmelding std,
|
|
mld_statuses s,
|
|
fac_groep gr,
|
|
fac_functie f,
|
|
fac_groeprechten g,
|
|
fac_gebruikersgroep gg,
|
|
alg_v_allonroerendgoed aog,
|
|
prs_v_perslidwerkplek_gegevens pwg
|
|
WHERE std.mld_ins_discipline_key = 441 -- order corrections
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND m.mld_melding_status = s.mld_statuses_key
|
|
AND g.fac_functie_key = f.fac_functie_key
|
|
AND f.fac_functie_code = 'WEB_MLDBO2'
|
|
AND g.ins_discipline_key = std.mld_ins_discipline_key
|
|
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
|
AND pwg.alg_gebouw_key = aog.alg_gebouw_key
|
|
AND pwg.prs_perslid_key = gg.prs_perslid_key
|
|
AND g.fac_groep_key = gg.fac_groep_key
|
|
AND gg.fac_groep_key = gr.fac_groep_key
|
|
AND gr.fac_groep_omschrijving <> '_Admin'
|
|
AND m.mld_melding_status IN (4);
|
|
-- geaccepteerd
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_noti_ordercorr (
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
par1,
|
|
par2,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT 'FACUSR',
|
|
'',
|
|
fclt_3d_user_key,
|
|
'Facilitor: There are ' || count(*) || ' Order Correction Request(s) assigned to you.',
|
|
341, -- key van rapport aait_v_rap_order_corrections
|
|
'',
|
|
'',
|
|
NULL
|
|
FROM aait_v_rap_order_corrections
|
|
GROUP BY fclt_3d_user_key;
|
|
|
|
CREATE OR REPLACE VIEW aait_v_noti_bes_accept (
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
par1,
|
|
par2,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT DISTINCT 'BESAP1',
|
|
'',
|
|
546,
|
|
'',
|
|
b.bes_bestelling_key,
|
|
'',
|
|
'',
|
|
NULL
|
|
FROM fac_v_webgebruiker g,
|
|
bes_discipline bd,
|
|
bes_bestelling b,
|
|
bes_bestelling_item bi,
|
|
bes_srtdeel sd,
|
|
bes_srtgroep sg,
|
|
( SELECT fac_tracking_refkey,
|
|
MAX (fac_tracking_datum) fac_tracking_datum
|
|
FROM fac_tracking t, fac_srtnotificatie sn
|
|
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
|
AND fac_srtnotificatie_code <> 'BESMAI'
|
|
AND fac_srtnotificatie_xmlnode = 'bestelling'
|
|
GROUP BY fac_tracking_refkey) tr
|
|
WHERE g.prs_perslid_key = 546 -- Derek Hartley
|
|
AND bd.ins_discipline_key = g.ins_discipline_key
|
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key -- 5.1.0
|
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key -- 5.1.0
|
|
AND sg.ins_discipline_key = g.ins_discipline_key
|
|
AND b.bes_bestelling_status = 3 -- gefiatteerd
|
|
AND tr.fac_tracking_refkey = b.bes_bestelling_key
|
|
AND tr.fac_tracking_datum > sysdate -1;
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE aait_select_status_com4 (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
-- Cursor loopt - in volgorde! - over alle kenmerken
|
|
CURSOR c
|
|
IS
|
|
SELECT ko.mld_kenmerkopdr_key,
|
|
ko.mld_kenmerkopdr_waarde,
|
|
o.mld_melding_key,
|
|
o.mld_opdr_key,
|
|
o.mld_statusopdr_key
|
|
FROM mld_kenmerkopdr ko,
|
|
mld_kenmerk k,
|
|
mld_srtkenmerk sk,
|
|
mld_opdr o
|
|
WHERE o.mld_opdr_key = ko.mld_opdr_key
|
|
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
|
AND sk.mld_srtkenmerk_omschrijving = 'Classificatie uit import'
|
|
ORDER BY mld_kenmerkopdr_aanmaak;
|
|
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_count NUMBER (10);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_soort_call VARCHAR2 (100);
|
|
v_categorie VARCHAR2 (100);
|
|
v_subcategorie VARCHAR2 (100);
|
|
v_msg_type VARCHAR2 (100); -- AFM of UPD
|
|
v_status VARCHAR2 (100);
|
|
v_statusregel VARCHAR2 (200);
|
|
v_api_user_key prs_perslid.prs_perslid_key%TYPE;
|
|
v_prefix ins_srtdiscipline.ins_srtdiscipline_prefix%TYPE;
|
|
v_vakgroep ins_tab_discipline.ins_discipline_omschrijving%TYPE;
|
|
v_stdmelding mld_stdmelding.mld_stdmelding_omschrijving%TYPE;
|
|
v_discipline_key ins_tab_discipline.ins_discipline_key%TYPE;
|
|
v_stdmelding_key mld_stdmelding.mld_stdmelding_key%TYPE;
|
|
v_track_info fac_tracking.fac_tracking_oms%TYPE;
|
|
BEGIN
|
|
SELECT prs_perslid_key
|
|
INTO v_api_user_key
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_naam = 'COM4 koppeling';
|
|
|
|
-- Loop door alle geimporteerde opdrachtstatusberichten en verwerk deze.
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := '[' || rec.mld_kenmerkopdr_waarde || '] ';
|
|
v_statusregel := rec.mld_kenmerkopdr_waarde;
|
|
|
|
fac.imp_getfield (v_statusregel, ';', v_soort_call);
|
|
fac.imp_getfield (v_statusregel, ';', v_categorie);
|
|
fac.imp_getfield (v_statusregel, ';', v_subcategorie);
|
|
fac.imp_getfield (v_statusregel, ';', v_msg_type); -- AFM of UPD
|
|
fac.imp_getfield (v_statusregel, ';', v_status);
|
|
|
|
-- Accepteer opdracht (als msg_type=UPD en nog niet al geaccepteerd)!
|
|
IF (v_msg_type = 'UPD' AND rec.mld_statusopdr_key = 5)
|
|
THEN
|
|
v_errormsg := 'Fout bij accepteren opdracht.';
|
|
|
|
mld.setopdrachtstatus (rec.mld_opdr_key, 8, v_api_user_key); -- api user
|
|
|
|
COMMIT;
|
|
END IF;
|
|
|
|
-- Probeer de melding om te hangen naar de classificatie die COM4IT er aan toegekend heeft.
|
|
BEGIN
|
|
IF v_soort_call IS NOT NULL
|
|
AND v_categorie IS NOT NULL
|
|
AND v_subcategorie IS NOT NULL
|
|
THEN
|
|
v_errormsg := 'Bepalen huidige gegevens.';
|
|
|
|
SELECT 'Melding '
|
|
|| sd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| ' ('
|
|
|| ins_discipline_omschrijving
|
|
|| '/'
|
|
|| mld_stdmelding_omschrijving
|
|
|| ') is gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Melding: '
|
|
|| std.mld_stdmelding_omschrijving
|
|
|| ' --> '
|
|
INTO v_track_info
|
|
FROM mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd,
|
|
mld_melding m
|
|
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
|
AND d.ins_discipline_key = std.mld_ins_discipline_key
|
|
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
|
AND m.mld_melding_key = rec.mld_melding_key;
|
|
|
|
v_errormsg := 'Bepalen vakgroeptype.';
|
|
|
|
CASE v_soort_call
|
|
WHEN 'Storing'
|
|
THEN
|
|
v_prefix := 'ST';
|
|
WHEN 'Change'
|
|
THEN
|
|
v_prefix := 'SA';
|
|
WHEN 'Informatieverzoek'
|
|
THEN
|
|
v_prefix := 'IV';
|
|
WHEN 'Klacht'
|
|
THEN
|
|
v_prefix := 'KL';
|
|
WHEN 'Wens'
|
|
THEN
|
|
v_prefix := 'SA';
|
|
WHEN 'Onderhoud'
|
|
THEN
|
|
v_prefix := 'SA';
|
|
WHEN 'Project'
|
|
THEN
|
|
v_prefix := 'PR';
|
|
WHEN 'Verkoop'
|
|
THEN
|
|
v_prefix := 'SA';
|
|
END CASE;
|
|
|
|
v_errormsg := 'Bepalen vakgroep.';
|
|
|
|
IF INSTR (v_categorie, '-') = 2
|
|
AND fac.safe_to_number (SUBSTR (v_categorie, 1, 1)) IS NOT NULL
|
|
THEN
|
|
v_vakgroep := SUBSTR (v_categorie, 3);
|
|
ELSE
|
|
v_vakgroep := v_categorie;
|
|
END IF;
|
|
|
|
v_errormsg := 'Bepalen stdmelding.';
|
|
|
|
IF INSTR (v_subcategorie, '-') = 2
|
|
AND fac.safe_to_number (SUBSTR (v_subcategorie, 1, 1)) IS NOT NULL
|
|
THEN
|
|
v_stdmelding := SUBSTR (v_subcategorie, 3);
|
|
ELSE
|
|
v_stdmelding := v_subcategorie;
|
|
END IF;
|
|
|
|
v_errormsg := 'Opzoeken vakgroep en stdmelding keys.';
|
|
|
|
SELECT mld_ins_discipline_key, mld_stdmelding_key
|
|
INTO v_discipline_key, v_stdmelding_key
|
|
FROM mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd
|
|
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
|
AND d.ins_discipline_key = std.mld_ins_discipline_key
|
|
AND UPPER (sd.ins_srtdiscipline_prefix) = UPPER (v_prefix)
|
|
AND UPPER (d.ins_discipline_omschrijving) =
|
|
UPPER (v_vakgroep)
|
|
AND UPPER (std.mld_stdmelding_omschrijving) =
|
|
UPPER (v_stdmelding)
|
|
AND std.mld_stdmelding_verwijder IS NULL
|
|
AND d.ins_discipline_verwijder IS NULL
|
|
AND sd.ins_srtdiscipline_verwijder IS NULL;
|
|
|
|
v_errormsg := 'Omhangen vakgroep en stdmelding keys.';
|
|
|
|
UPDATE mld_melding
|
|
SET mld_stdmelding_key = v_stdmelding_key
|
|
WHERE mld_melding_key = rec.mld_melding_key;
|
|
|
|
INSERT INTO fac_tracking (fac_srtnotificatie_key,
|
|
fac_tracking_oms,
|
|
fac_tracking_refkey,
|
|
prs_perslid_key)
|
|
VALUES (28,
|
|
v_track_info || v_stdmelding,
|
|
rec.mld_melding_key,
|
|
v_api_user_key);
|
|
|
|
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.writelog (p_applname,
|
|
'W',
|
|
v_aanduiding || v_errormsg,
|
|
'Fout bij omhangen opdrachtstatusbericht.');
|
|
|
|
INSERT INTO fac_tracking (fac_srtnotificatie_key,
|
|
fac_tracking_oms,
|
|
fac_tracking_refkey,
|
|
prs_perslid_key)
|
|
VALUES (28,
|
|
'Fout bij omhangen melding: ' || v_aanduiding,
|
|
rec.mld_melding_key,
|
|
v_api_user_key);
|
|
END;
|
|
|
|
-- Sluit opdracht (als msg_type=AFM); de bovenliggende melding wordt
|
|
-- tevens gesloten als het de laatste opdracht is!
|
|
-- Let op: het veld status kan vanuit COM4 de waarde Niet Opgelost meekrijgen. In dat
|
|
-- geval gaan we niet afmelden.
|
|
IF v_msg_type = 'AFM'
|
|
THEN
|
|
-- opdracht wordt tegenwoordig in de mld_opdrsoap al afgemeld. De melding moet
|
|
-- nog wel afgemeld worden.
|
|
IF rec.mld_statusopdr_key = 5 OR rec.mld_statusopdr_key = 8
|
|
THEN
|
|
v_errormsg := 'Fout bij sluiten opdracht.';
|
|
mld.setopdrachtstatus (rec.mld_opdr_key, 6, v_api_user_key); -- api user
|
|
COMMIT;
|
|
END IF;
|
|
|
|
IF v_status <> 'Niet opgelost'
|
|
THEN
|
|
v_errormsg := 'Fout bij 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 = rec.mld_melding_key
|
|
AND m.mld_melding_status IN (4, 7)) niet_opgelost
|
|
WHERE aanw_opdr > 0 AND open_opdr = 0;
|
|
|
|
IF (v_count = 1)
|
|
THEN
|
|
mld.setmeldingstatus (rec.mld_melding_key,
|
|
5,
|
|
v_api_user_key); -- api_user
|
|
mld.mld_nextworkflowstep (rec.mld_melding_key, 1); -- Succes
|
|
COMMIT;
|
|
END IF;
|
|
ELSE
|
|
BEGIN
|
|
mld.updatemeldingstatus (rec.mld_melding_key,
|
|
0,
|
|
v_api_user_key);
|
|
END;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- pas de operking aan bij de melding. Nu we hier afmelden heeft de api geen mldbof rechten meer.
|
|
UPDATE mld_melding
|
|
SET mld_melding_opmerking =
|
|
(SELECT mld_opdr_opmerking
|
|
FROM mld_opdr o
|
|
WHERE o.mld_opdr_key = rec.mld_opdr_key)
|
|
WHERE mld_melding_key = rec.mld_melding_key;
|
|
|
|
-- als we het werk gedaan hebben mogen we het kenmerk verwijderen.
|
|
DELETE mld_kenmerkopdr WHERE mld_kenmerkopdr_key = rec.mld_kenmerkopdr_key;
|
|
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.writelog (p_applname,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Fout bij verwerken opdrachtstatusbericht.');
|
|
END;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
|
|
-- export om opdrachten aan te maken bij meldingen met auto-order die onderdeel
|
|
-- uitmaken van een workflow. Bijkomend voordeel is dat deze functie ook de
|
|
-- opdrachten aanmaakt bij meldingen met auto-order waarbij abusievelijk geen
|
|
-- opdracht aangemaakt is.
|
|
CREATE OR REPLACE PROCEDURE aait_export_autoorder (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
CURSOR c
|
|
IS
|
|
SELECT m.mld_melding_key,
|
|
m.prs_kostenplaats_key,
|
|
m.mld_melding_omschrijving,
|
|
MAX (bdl.prs_bedrijf_key) prs_bedrijf_key,
|
|
std.mld_typeopdr_key,
|
|
m.mld_melding_einddatum,
|
|
m.mld_melding_status
|
|
FROM mld_melding m,
|
|
mld_stdmelding std,
|
|
prs_dienst d,
|
|
prs_bedrijfdienstlocatie bdl
|
|
WHERE m.mld_melding_status IN (2, 3, 4) -- Ingevoerd, Ingezien, Geaccepteerd
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_stdmelding_autoorder = 1
|
|
AND std.prs_dienst_key = bdl.prs_dienst_key
|
|
AND mld_melding_datum > SYSDATE - 1 -- voorkom dat oude meldingen ineens verstuurd gaan worden
|
|
AND mld_melding_datum < SYSDATE - (1/96) -- voorkom dat meldingen die nog bezig zijn met aanmaken al aangepast worden.
|
|
AND std.mld_typeopdr_key IS NOT NULL
|
|
AND NOT EXISTS (SELECT mld_melding_key
|
|
FROM mld_opdr o
|
|
WHERE mld_melding_key = m.mld_melding_key)
|
|
GROUP BY mld_melding_key,
|
|
prs_kostenplaats_key,
|
|
mld_melding_omschrijving,
|
|
mld_typeopdr_key,
|
|
mld_melding_einddatum,
|
|
mld_melding_status;
|
|
|
|
CURSOR c_flex (c_melding_key NUMBER)
|
|
IS
|
|
SELECT sk.mld_srtkenmerk_kenmerktype,
|
|
sk.mld_srtkenmerk_omschrijving,
|
|
DECODE (
|
|
sk.mld_srtkenmerk_kenmerktype,
|
|
'S',
|
|
fac.getdomeinwaarde (sk.fac_kenmerkdomein_key,
|
|
mld_kenmerkmelding_waarde),
|
|
'R',
|
|
fac.getdomeinwaarde (sk.fac_kenmerkdomein_key,
|
|
mld_kenmerkmelding_waarde),
|
|
mld_kenmerkmelding_waarde) waarde
|
|
FROM mld_kenmerkmelding km, mld_kenmerk k, mld_srtkenmerk sk
|
|
WHERE mld_melding_key = c_melding_key
|
|
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
|
ORDER BY k.mld_kenmerk_volgnummer;
|
|
|
|
v_opdr_key NUMBER;
|
|
v_notificatie_code VARCHAR2(20);
|
|
v_mld_opdr_bedrijfopdr_volgnr NUMBER;
|
|
v_melding_omschrijving VARCHAR2(4000);
|
|
BEGIN
|
|
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
-- eerst even de status naar geaccepteerd zetten.
|
|
IF rec.mld_melding_status <> 4 THEN
|
|
MLD.setmeldingstatus (rec.mld_melding_key, 4, 4); -- Geaccepteerd, Facilitor
|
|
END IF;
|
|
|
|
v_melding_omschrijving := NULL;
|
|
FOR rec_flex IN c_flex(rec.mld_melding_key)
|
|
LOOP
|
|
BEGIN
|
|
v_melding_omschrijving := v_melding_omschrijving || rec_flex.mld_srtkenmerk_omschrijving || ': ' || rec_flex.waarde || chr(10);
|
|
END;
|
|
END LOOP;
|
|
|
|
v_mld_opdr_bedrijfopdr_volgnr := mld.BepaalOpdrMeldingVolgnr (rec.mld_melding_key);
|
|
|
|
INSERT INTO mld_opdr (mld_melding_key
|
|
, prs_kostenplaats_key
|
|
, mld_typeopdr_key
|
|
, prs_perslid_key
|
|
, mld_uitvoerende_keys
|
|
, mld_opdr_datumbegin
|
|
, mld_opdr_einddatum
|
|
, mld_opdr_module
|
|
, mld_opdr_omschrijving
|
|
, mld_opdr_bedrijfopdr_volgnr
|
|
, mld_opdr_teverzenden)
|
|
VALUES ( rec.mld_melding_key
|
|
, rec.prs_kostenplaats_key
|
|
, rec.mld_typeopdr_key
|
|
, 4 -- facilitor
|
|
, rec.prs_bedrijf_key
|
|
, SYSDATE
|
|
, rec.mld_melding_einddatum
|
|
, 'MLD'
|
|
, v_melding_omschrijving || rec.mld_melding_omschrijving
|
|
, v_mld_opdr_bedrijfopdr_volgnr
|
|
, 1)
|
|
RETURNING mld_opdr_key INTO v_opdr_key;
|
|
|
|
MLD.setopdrachtstatus(v_opdr_key , 5, 4); -- uitgegeven, Facilitor
|
|
|
|
SELECT DECODE (u.type, 'P', 'ORDMLI', 'ORDMLE')
|
|
INTO v_notificatie_code
|
|
FROM mld_v_uitvoerende u
|
|
WHERE u.mld_uitvoerende_key = rec.prs_bedrijf_key;
|
|
|
|
FAC.trackaction(v_notificatie_code, v_opdr_key, 4, NULL, NULL);
|
|
|
|
-- update melding status
|
|
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4); -- facilitor
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (p_applname
|
|
, 'E'
|
|
, 'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')'
|
|
, 'Fout bij aanmaken opdracht: ' || rec.mld_melding_key);
|
|
|
|
END;
|
|
END LOOP;
|
|
END aait_export_autoorder;
|
|
/
|
|
|
|
|
|
-- packages tbv rapportages
|
|
CREATE OR REPLACE PACKAGE AAIT_RAP
|
|
AS
|
|
-- PACKAGES voor de Connexxion specifieke rapportages
|
|
TYPE t_cursor IS REF CURSOR;
|
|
|
|
PROCEDURE afmeld_user (user_key IN NUMBER,
|
|
p_datum_van IN VARCHAR2,
|
|
p_datum_tot IN VARCHAR2,
|
|
p_cursor OUT t_cursor);
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PACKAGE BODY AAIT_RAP
|
|
AS
|
|
--
|
|
--Rapportages
|
|
--
|
|
PROCEDURE afmeld_user (user_key IN NUMBER,
|
|
p_datum_van IN VARCHAR2, -- Let wel: formaat '13-05-2005'
|
|
p_datum_tot IN VARCHAR2,
|
|
p_cursor OUT t_cursor)
|
|
AS
|
|
v_datum_van DATE;
|
|
v_datum_tot DATE;
|
|
v_alg_level_read NUMBER;
|
|
BEGIN
|
|
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
|
|
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
|
|
|
|
OPEN p_cursor FOR
|
|
SELECT prs_perslid_naam_full,
|
|
d.ins_discipline_omschrijving,
|
|
COUNT (mld_melding_key)
|
|
FROM fac_tracking t,
|
|
prs_v_perslid_fullnames_all pf,
|
|
mld_melding m,
|
|
mld_stdmelding std,
|
|
ins_tab_discipline d
|
|
WHERE fac_srtnotificatie_key = 22 --mldafm
|
|
AND t.prs_perslid_key = pf.prs_perslid_key
|
|
AND fac_tracking_refkey = m.mld_melding_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key = 22 -- IT helpdesk
|
|
AND fac_tracking_datum BETWEEN v_datum_van AND v_datum_tot
|
|
GROUP BY prs_perslid_naam_full, ins_discipline_omschrijving;
|
|
END;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW aait_v_graph_citrix_melding
|
|
(
|
|
FCLT_XAS_,
|
|
FCLT_YAS_,
|
|
FCLT_URL,
|
|
FCLT_3D_DISCIPLINE_KEY
|
|
)
|
|
AS
|
|
SELECT mld_stdmelding_omschrijving,
|
|
COUNT (mld_stdmelding_omschrijving) aantal,
|
|
'appl/mld/mld_search.asp?urole=fo&autosearch=1&stdm_str=',
|
|
std.mld_stdmelding_key
|
|
FROM mld_melding m, mld_stdmelding std
|
|
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = 421 -- Citrix (AAFM)
|
|
AND mld_melding_status IN (2, 3, 4, 7, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
|
GROUP BY std.mld_stdmelding_key, mld_stdmelding_omschrijving;
|
|
|
|
CREATE OR REPLACE VIEW aait_v_afdelingniv12
|
|
(
|
|
prs_afdeling_key,
|
|
omschrijving
|
|
)
|
|
AS
|
|
SELECT a1.prs_afdeling_key,
|
|
a1.prs_afdeling_naam
|
|
|| ' ['
|
|
|| a1.prs_afdeling_omschrijving
|
|
|| ']'
|
|
FROM PRS_AFDELING a1
|
|
WHERE a1.prs_afdeling_parentkey IS NULL
|
|
AND a1.prs_afdeling_verwijder IS NULL
|
|
UNION ALL
|
|
SELECT a2.prs_afdeling_key,
|
|
a2.prs_afdeling_naam
|
|
|| ' ['
|
|
|| a2.prs_afdeling_omschrijving
|
|
|| ']'
|
|
FROM PRS_AFDELING a1, PRS_AFDELING a2
|
|
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
|
|
AND a1.prs_afdeling_parentkey IS NULL
|
|
AND a2.prs_afdeling_verwijder IS NULL;
|
|
|
|
|
|
-- AAIT#26399: Overkoepelende view over alle dekkingstabellen!
|
|
-- Let Op. Het account moet ook toegevoegd worden aan het bestand cust/AAIT/export/gen_export_exact_dekking.bat
|
|
CREATE OR REPLACE VIEW aait_v_exp_uren_dekking
|
|
AS
|
|
SELECT 'AAAH' afn_account, r.* FROM AAAH.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAAR' afn_account, r.* FROM AAAR.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AADB' afn_account, r.* FROM AADB.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AADO' afn_account, r.* FROM AADO.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AADS' afn_account, r.* FROM AADS.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAES' afn_account, r.* FROM AAES.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAGN' afn_account, r.* FROM AAGN.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAHB' afn_account, r.* FROM AAHB.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAIT' afn_account, r.* FROM AAIT.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAPM' afn_account, r.* FROM AAPM.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AARW' afn_account, r.* FROM AARW.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AASA' afn_account, r.* FROM AASA.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'AAVG' afn_account, r.* FROM AAVG.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'EXPO' afn_account, r.* FROM EXPO.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'INLO' afn_account, r.* FROM INLO.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'NMMS' afn_account, r.* FROM NMMS.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'RABO' afn_account, r.* FROM RABO.aaxx_exp_uren_dekking r
|
|
UNION ALL
|
|
SELECT 'SMKA' afn_account, r.* FROM SMKA.aaxx_exp_uren_dekking r;
|
|
|
|
-- Exportregels (XML-structuur) in fac_rapport
|
|
CREATE OR REPLACE PROCEDURE aait_select_uren_dekking_xml (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_account IN VARCHAR2
|
|
)
|
|
AS
|
|
CURSOR c
|
|
IS
|
|
WITH lastexp
|
|
AS (SELECT fac_usrdata_vervaldatum
|
|
FROM fac_usrdata
|
|
WHERE fac_usrtab_key = 16 -- Last dekking-exp
|
|
AND fac_usrdata_verwijder IS NULL
|
|
AND fac_usrdata_code = p_account
|
|
UNION ALL
|
|
SELECT TO_DATE ('01-09-2013', 'dd-mm-yyyy')
|
|
fac_usrdata_vervaldatum -- Eind september gestart
|
|
FROM DUAL
|
|
WHERE NOT EXISTS
|
|
(SELECT 1
|
|
FROM fac_usrdata
|
|
WHERE fac_usrtab_key = 16
|
|
AND fac_usrdata_verwijder IS NULL
|
|
AND fac_usrdata_code = p_account))
|
|
SELECT r.*,
|
|
DECODE (r.projecttype,
|
|
'5130976', '5130977',
|
|
'5101200', '4130977',
|
|
'4130976', '5130977',
|
|
'4370901', '5130994',
|
|
'4370904', '4130994',
|
|
'0100024', '5130995',
|
|
'4130990', '5130991',
|
|
NULL)
|
|
coveringcode
|
|
FROM aait_v_exp_uren_dekking r, lastexp
|
|
WHERE UPPER (r.lev_account) = UPPER (p_account)
|
|
AND r.aanmaak > lastexp.fac_usrdata_vervaldatum;
|
|
|
|
v_bestand VARCHAR2 (12);
|
|
v_order_count NUMBER;
|
|
v_amount_sum NUMBER (10, 2);
|
|
BEGIN
|
|
-- Altijd opruiming "buffer"-tabel ter voorkoming opnieuw exporteren van
|
|
-- hetzelfde bestand!
|
|
v_bestand := 'UREN_DEKKING'; --SUBSTR (p_applname, 1, 12);
|
|
DELETE fac_rapport
|
|
WHERE fac_rapport_node = v_bestand;
|
|
|
|
v_order_count := 0;
|
|
v_amount_sum := 0;
|
|
|
|
-- Opruiming log (een maand later)!
|
|
DELETE FROM imp_log
|
|
WHERE imp_log_applicatie = p_applname;
|
|
|
|
-- header
|
|
aaxx_add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
|
aaxx_add_xml_row (v_bestand, '<eExact>');
|
|
aaxx_add_xml_row (v_bestand, '<GLEntries>');
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
aaxx_add_xml_row (v_bestand, '<GLEntry>');
|
|
aaxx_add_xml_row (v_bestand, '<Journal code="24" type="M"/>');
|
|
aaxx_add_xml_row (v_bestand, '<FinEntryLine>');
|
|
aaxx_add_xml_element (v_bestand, 'Date', TO_CHAR(rec.mld_opdr_uren_datum, 'yyyy-mm-dd') );
|
|
|
|
--aaxx_add_xml_row (v_bestand, '<GLAccount code="' || rec.projecttype_code || '"/>');
|
|
--aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
--aaxx_add_xml_row (v_bestand, '<Costcenter code="' || rec.prs_kostenplaats_nr || '"/>');
|
|
--aaxx_add_xml_row (v_bestand, '<Resource number="'|| rec.aafm_perslid_nr ||'"/>');
|
|
--aaxx_add_xml_row (v_bestand, '<Project code="' || rec.meldingnr || '" type="I" status="A">');
|
|
-- aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
--aaxx_add_xml_row (v_bestand, '</Project>');
|
|
aaxx_add_xml_row (v_bestand, '<GLAccount code="'||rec.rek_courant||'"/>');
|
|
aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
aaxx_add_xml_row (v_bestand, '<Costcenter code="' || rec.kostenplaats || '"/>');
|
|
aaxx_add_xml_row (v_bestand, '<Resource number="'|| rec.perslid_nr ||'"/>');
|
|
aaxx_add_xml_row (v_bestand, '<Project code="' || rec.projectcode || '" type="I" status="A">');
|
|
aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
aaxx_add_xml_row (v_bestand, '</Project>');
|
|
|
|
aaxx_add_xml_element (v_bestand, 'Quantity', TO_CHAR(rec.uren_besteed) );
|
|
aaxx_add_xml_row (v_bestand, '<Amount>');
|
|
aaxx_add_xml_row (v_bestand, '<Currency code="EUR"/>');
|
|
aaxx_add_xml_element (v_bestand, 'Debit', TO_CHAR(rec.uren_besteed*rec.uurtarief) );
|
|
aaxx_add_xml_element (v_bestand, 'Credit', '0');
|
|
aaxx_add_xml_row (v_bestand, '</Amount>');
|
|
aaxx_add_xml_row (v_bestand, '<FinReferences>');
|
|
aaxx_add_xml_element (v_bestand, 'DocumentDate', TO_CHAR(SYSDATE, 'YYYY-MM-DD') );
|
|
aaxx_add_xml_row (v_bestand, '</FinReferences>');
|
|
aaxx_add_xml_row (v_bestand, '</FinEntryLine>');
|
|
IF rec.uurtarief IS NULL
|
|
THEN
|
|
fac.writelog (p_applname, 'W', 'Geen uurtarief voor persoon nr ' || rec.perslid_nr, '');
|
|
END IF;
|
|
v_amount_sum := v_amount_sum + rec.uren_besteed * COALESCE(rec.uurtarief, 0);
|
|
aaxx_add_xml_row (v_bestand, '<FinEntryLine>');
|
|
|
|
--aaxx_add_xml_row (v_bestand, '<GLAccount code="'||rec.rek_courant||'"/>');
|
|
--aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
--aaxx_add_xml_row (v_bestand, '<Costcenter code="' || coalesce(rec.projectkpn_opdr, rec.projectkpn_perslid) || '"/>');
|
|
--aaxx_add_xml_row (v_bestand, '<Resource number="'|| rec.aafm_perslid_nr ||'"/>');
|
|
--aaxx_add_xml_row (v_bestand, '<Project code="' || rec.meldingnr || '" type="I" status="A">');
|
|
-- aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
--aaxx_add_xml_row (v_bestand, '</Project>');
|
|
aaxx_add_xml_row (v_bestand, '<GLAccount code="' || rec.coveringcode || '"/>');
|
|
aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
aaxx_add_xml_row (v_bestand, '<Costcenter code="' || rec.kostenplaats || '"/>');
|
|
aaxx_add_xml_row (v_bestand, '<Resource number="'|| rec.perslid_nr ||'"/>');
|
|
aaxx_add_xml_row (v_bestand, '<Project code="' || rec.projectcode || '" type="I" status="A">');
|
|
aaxx_add_xml_element (v_bestand, 'Description', rec.projectnaam);
|
|
aaxx_add_xml_row (v_bestand, '</Project>');
|
|
|
|
aaxx_add_xml_element (v_bestand, 'Quantity', '-'||TO_CHAR(rec.uren_besteed) );
|
|
aaxx_add_xml_row (v_bestand, '<Amount>');
|
|
aaxx_add_xml_row (v_bestand, '<Currency code="EUR"/>');
|
|
aaxx_add_xml_element (v_bestand, 'Debit', '0');
|
|
aaxx_add_xml_element (v_bestand, 'Credit', TO_CHAR(rec.uren_besteed*rec.uurtarief) );
|
|
aaxx_add_xml_row (v_bestand, '</Amount>');
|
|
aaxx_add_xml_row (v_bestand, '<FinReferences>');
|
|
--aaxx_add_xml_element (v_bestand, 'DocumentDate', SYSDATE);
|
|
aaxx_add_xml_element (v_bestand, 'DocumentDate', TO_CHAR(SYSDATE, 'YYYY-MM-DD') );
|
|
aaxx_add_xml_row (v_bestand, '</FinReferences>');
|
|
aaxx_add_xml_row (v_bestand, '</FinEntryLine>');
|
|
aaxx_add_xml_row (v_bestand, '</GLEntry>');
|
|
END;
|
|
|
|
v_order_count := v_order_count + 1;
|
|
END LOOP;
|
|
|
|
aaxx_add_xml_row (v_bestand, '</GLEntries>');
|
|
aaxx_add_xml_row (v_bestand, '</eExact>');
|
|
fac.writelog (p_applname, 'S', 'Exact export uitgevoerd. Aantal regels: ' || v_order_count || ' Totaal bedrag: ' || v_amount_sum, '');
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (
|
|
p_applname,
|
|
'E',
|
|
'Proces UREN_DEKKING-export afgebroken!',
|
|
'ORACLE (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 200) || ')'
|
|
);
|
|
END;
|
|
/
|
|
|
|
-- AAIT#26399: Registreer tijdstip waarop laatste 'uren_dekking'-export voor
|
|
-- account succesvol is afgehandeld middels entry in eigen tabel
|
|
-- waarvoor de Vervaldatum dan op SYSDATE wordt gezet!
|
|
CREATE OR REPLACE PROCEDURE aait_upsert_last_dekking_exp (
|
|
p_account IN VARCHAR2
|
|
)
|
|
AS
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT ( * )
|
|
INTO v_count
|
|
FROM fac_usrdata
|
|
WHERE fac_usrtab_key = 16 -- Last dekking-exp
|
|
AND fac_usrdata_verwijder IS NULL
|
|
AND fac_usrdata_code = p_account;
|
|
|
|
IF (v_count = 0)
|
|
THEN
|
|
INSERT INTO fac_usrdata (fac_usrtab_key,
|
|
fac_usrdata_code,
|
|
fac_usrdata_omschr,
|
|
fac_usrdata_volgnr,
|
|
fac_usrdata_vervaldatum,
|
|
fac_usrdata_prijs)
|
|
VALUES (16, -- Last dekking-exp
|
|
p_account,
|
|
p_account,
|
|
NULL,
|
|
SYSDATE,
|
|
NULL);
|
|
ELSE -- v_count = 1!
|
|
UPDATE fac_usrdata
|
|
SET fac_usrdata_vervaldatum = SYSDATE
|
|
WHERE fac_usrtab_key = 16 -- Last dekking-exp
|
|
AND fac_usrdata_verwijder IS NULL
|
|
AND fac_usrdata_code = p_account;
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
-- AAIT#26399: Exact export uren-dekkingsregels (XML); 1-voor-1 per account!
|
|
CREATE OR REPLACE VIEW aait_v_export_aaah_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aaah_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Alliance'); -- AAAH
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aaah_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Alliance'); -- AAAH
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aaar_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aaar_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Arcadis'); -- AAAR
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aaar_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Arcadis'); -- AAAR
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aadb_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aadb_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'DBS'); -- AADB
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aadb_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('DBS'); -- AADB
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aado_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aado_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'DOW'); -- AADO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aado_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('DOW'); -- AADO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aads_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aads_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'DSM'); -- AADS
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aads_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('DSM'); -- AADS
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aaes_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aaes_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Essent'); -- AAES
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aaes_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Essent'); -- AAES
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aagn_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aagn_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Gemeente Nijmegen'); -- AAGN
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aagn_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Gemeente Nijmegen'); -- AAGN
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_aahb_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aahb_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Hudsons Bay'); -- AAHB
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aahb_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Hudsons Bay'); -- AAHB
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_aait_dekking001 (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aait_dekking001 (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Centraal'); -- AAIT/001=Centraal!
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aait_dekking001 (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Centraal'); -- AAIT/001=Centraal!
|
|
END;
|
|
/
|
|
-- AAIT/007=Vervallen??? NIET!
|
|
CREATE OR REPLACE VIEW aait_v_export_aait_dekking012 (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aait_dekking012 (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Project Management'); -- AAIT/012=Project Management!
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aait_dekking012 (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Project Management'); -- AAIT/012=Project Management!
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aait_dekking300 (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aait_dekking300 (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'AAFM International'); -- AAIT/300=AAFM International!
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aait_dekking300 (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('AAFM International'); -- AAIT/300=AAFM International!
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW aait_v_export_aapm_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aapm_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Park Management'); -- AAPM
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aapm_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Park Management'); -- AAPM
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aarw_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aarw_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'RWS'); -- AARW
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aarw_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('RWS'); -- AARW
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aasa_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aasa_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Sabic'); -- AASA
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aasa_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Sabic'); -- AASA
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_aavg_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_aavg_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Vlisco'); -- AAVG
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_aavg_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Vlisco'); -- AAVG
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_asms_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Asito'); -- ASMS; zie ik nergens???
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_expo_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_expo_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Segm.worksp.Diversen'); -- EXPO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_expo_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Segm.worksp.Diversen'); -- EXPO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_inlo_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_inlo_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Industrie & Logistiek'); -- INLO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_inlo_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Industrie & Logistiek'); -- INLO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_nmms_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_nmms_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'NMM'); -- NMMS
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_nmms_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('NMM'); -- NMMS
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_rabo_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_rabo_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Rabobank'); -- RABO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_rabo_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Rabobank'); -- RABO
|
|
END;
|
|
/
|
|
CREATE OR REPLACE VIEW aait_v_export_smka_dekking (result, result_order)
|
|
AS
|
|
SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'UREN_DEKKING';
|
|
CREATE OR REPLACE PROCEDURE aait_select_smka_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_select_uren_dekking_xml(p_applname, p_applrun, 'Smurfit Kappa'); -- SMKA
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aait_export_smka_dekking (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aait_upsert_last_dekking_exp ('Smurfit Kappa'); -- SMKA
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
------ 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
|