Files
Customer/AA/AAIT/aait.sql
Arthur Egberink 095ce2c000 AAIT#57262 -- Volledig afschakelen omgevingen
svn path=/Customer/trunk/; revision=42495
2019-05-14 07:47:22 +00:00

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