5370 lines
210 KiB
SQL
5370 lines
210 KiB
SQL
-- Script containing customer generic configuration sql statements for all PCH accounts
|
||
-- $Revision$
|
||
-- $Id$
|
||
--
|
||
|
||
DEFINE thisfile = 'PCHX.SQL'
|
||
DEFINE dbuser = 'PCHX'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||
SPOOL &fcltlogfile
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
---------------------------------------
|
||
PROMPT &fcltcusttxt
|
||
---------------------------------------
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
CREATE OR REPLACE PACKAGE PCHX
|
||
AS
|
||
PROCEDURE add_xml_row (
|
||
p_bestand IN VARCHAR2,
|
||
p_regel IN VARCHAR2);
|
||
|
||
PROCEDURE add_xml_element (
|
||
p_bestand IN VARCHAR2,
|
||
p_tag IN VARCHAR2,
|
||
p_value IN VARCHAR2);
|
||
|
||
FUNCTION get_user
|
||
RETURN VARCHAR2;
|
||
|
||
FUNCTION get_administratienr
|
||
RETURN VARCHAR2;
|
||
|
||
FUNCTION get_kenmerk (p_module IN VARCHAR2,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_link_key IN NUMBER)
|
||
RETURN VARCHAR2;
|
||
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY pchx
|
||
AS
|
||
PROCEDURE add_xml_row (p_bestand IN VARCHAR2, p_regel IN VARCHAR2)
|
||
AS
|
||
v_index NUMBER;
|
||
replace_bestand VARCHAR2 (30);
|
||
replace_regel VARCHAR2 (2000);
|
||
BEGIN
|
||
-- Indien export 'SCANSYS', dan staat in p_bestand zowel administratie+boekstknr als 'SCANSYS', gescheiden door ##
|
||
-- administratie+boekstknr zijn hierbij nodig om per factuur aparte xml-bestanden te exporteren.
|
||
-- Ook voor export 'VERPL' is dit gehanteerd, dat is de eerste export van de facturen (verplichtingen),
|
||
-- voordat de geaccordeerde facturen worden geexporteerd (scansys)
|
||
IF INSTR (p_bestand, '##') > 0
|
||
THEN
|
||
replace_bestand := SUBSTR (p_bestand, INSTR (p_bestand, '##') + 2);
|
||
ELSE
|
||
replace_bestand := p_bestand;
|
||
END IF;
|
||
|
||
IF INSTR (p_bestand, '##') > 0
|
||
THEN
|
||
replace_regel :=
|
||
SUBSTR (p_bestand, 1, INSTR (p_bestand, '##') - 1)
|
||
|| '##'
|
||
|| p_regel;
|
||
ELSE
|
||
replace_regel := p_regel;
|
||
END IF;
|
||
|
||
SELECT COALESCE (MAX (fac_rapport_volgnr), 0) + 1
|
||
INTO v_index
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = replace_bestand;
|
||
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (replace_bestand, v_index, replace_regel);
|
||
END;
|
||
|
||
PROCEDURE add_xml_element (p_bestand IN VARCHAR2,
|
||
p_tag IN VARCHAR2,
|
||
p_value IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
pchx.add_xml_row (
|
||
p_bestand,
|
||
'<'
|
||
|| p_tag
|
||
|| '>'
|
||
|| xml.char_to_html (p_value)
|
||
|| '</'
|
||
|| p_tag
|
||
|| '>');
|
||
END;
|
||
|
||
FUNCTION get_user
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_user VARCHAR2 (20);
|
||
BEGIN
|
||
v_user := UPPER (SUBSTR (USER, 1, 4));
|
||
RETURN v_user;
|
||
END;
|
||
|
||
FUNCTION get_administratienr
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_user VARCHAR2 (20);
|
||
v_adm VARCHAR2 (20);
|
||
BEGIN
|
||
v_user := get_user;
|
||
|
||
IF v_user = 'PCHA'
|
||
THEN
|
||
v_adm := '650';
|
||
END IF;
|
||
|
||
IF v_user = 'PCHD'
|
||
THEN
|
||
v_adm := '650';
|
||
END IF;
|
||
|
||
IF v_user = 'PCHH'
|
||
THEN
|
||
v_adm := '100';
|
||
END IF;
|
||
|
||
IF v_user = 'PCHP'
|
||
THEN
|
||
v_adm := '250';
|
||
END IF;
|
||
|
||
IF v_user = 'PCHS'
|
||
THEN
|
||
v_adm := '300';
|
||
END IF;
|
||
|
||
IF v_user = 'PCHY'
|
||
THEN
|
||
v_adm := '150';
|
||
END IF;
|
||
|
||
IF v_user = 'PCHW'
|
||
THEN
|
||
v_adm := '650';
|
||
END IF;
|
||
|
||
IF v_user = 'PGHE'
|
||
THEN
|
||
v_adm := '650';
|
||
END IF;
|
||
|
||
RETURN v_adm;
|
||
END;
|
||
|
||
-- interne functie om de waarde van het kenmerk te bepalen.
|
||
FUNCTION get_kenmerkwaarde (p_kenmerk_type VARCHAR2,
|
||
p_kenmerkdomein_key NUMBER,
|
||
p_kenmerk_waarde VARCHAR2)
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_result VARCHAR2 (4000);
|
||
BEGIN
|
||
IF p_kenmerk_type = 'R' OR p_kenmerk_type = 'S'
|
||
THEN
|
||
v_result :=
|
||
fac.getdomeinwaarde (p_kenmerkdomein_key, p_kenmerk_waarde);
|
||
ELSIF p_kenmerk_type = 'D'
|
||
THEN
|
||
v_result :=
|
||
TO_CHAR (fac.safe_to_date (p_kenmerk_waarde, 'dd-mm-yyyy'),
|
||
'yyyy-mm-dd');
|
||
ELSE
|
||
v_result := p_kenmerk_waarde;
|
||
END IF;
|
||
|
||
RETURN v_result;
|
||
END;
|
||
|
||
FUNCTION get_kenmerk (p_module IN VARCHAR2,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_link_key IN NUMBER)
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_kenmerk_type mld_srtkenmerk.mld_srtkenmerk_kenmerktype%TYPE;
|
||
v_kenmerk_waarde mld_kenmerkmelding.mld_kenmerkmelding_waarde%TYPE;
|
||
v_kenmerkdomein_key fac_kenmerkdomein.fac_kenmerkdomein_key%TYPE;
|
||
v_kenmerk_niveau ins_kenmerk.ins_kenmerk_niveau%TYPE;
|
||
BEGIN
|
||
CASE p_module
|
||
WHEN 'MLD'
|
||
THEN
|
||
SELECT mld_srtkenmerk_kenmerktype,
|
||
sk.fac_kenmerkdomein_key,
|
||
km.mld_kenmerkmelding_waarde
|
||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km,
|
||
mld_kenmerk k,
|
||
mld_srtkenmerk sk
|
||
WHERE km.mld_melding_key = p_link_key
|
||
AND km.mld_kenmerk_key = p_kenmerk_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key;
|
||
WHEN 'CNT'
|
||
THEN
|
||
SELECT cnt_srtkenmerk_kenmerktype,
|
||
sk.fac_kenmerkdomein_key,
|
||
kc.cnt_kenmerkcontract_waarde
|
||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE kc.cnt_contract_key = p_link_key
|
||
AND kc.cnt_kenmerk_key = p_kenmerk_key
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key;
|
||
WHEN 'ALG'
|
||
THEN
|
||
SELECT alg_kenmerk_kenmerktype,
|
||
k.fac_kenmerkdomein_key,
|
||
aogk.alg_onrgoedkenmerk_waarde
|
||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k
|
||
WHERE aogk.alg_onrgoed_key = p_link_key
|
||
AND aogk.alg_kenmerk_key = p_kenmerk_key
|
||
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key;
|
||
WHEN 'INS'
|
||
THEN
|
||
SELECT k.ins_kenmerk_niveau
|
||
INTO v_kenmerk_niveau
|
||
FROM ins_kenmerk k
|
||
WHERE ins_kenmerk_key = p_kenmerk_key;
|
||
|
||
IF v_kenmerk_niveau = 'C'
|
||
THEN
|
||
SELECT sk.ins_srtkenmerk_kenmerktype,
|
||
sk.fac_kenmerkdomein_key,
|
||
ikds.ins_kmdeelsrtcontr_waarde
|
||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||
FROM ins_kmdeelsrtcontr ikds,
|
||
ins_kenmerk k,
|
||
ins_srtkenmerk sk
|
||
WHERE ikds.ins_kmdeelsrtcontr_key = p_link_key
|
||
AND ikds.ins_kmdeelsrtcontr_verwijder IS NULL
|
||
AND ikds.ins_kenmerk_key = p_kenmerk_key
|
||
AND ikds.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
||
ELSE
|
||
SELECT sk.ins_srtkenmerk_kenmerktype,
|
||
sk.fac_kenmerkdomein_key,
|
||
ikd.ins_kenmerkdeel_waarde
|
||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||
FROM ins_kenmerkdeel ikd, ins_kenmerk k, ins_srtkenmerk sk
|
||
WHERE ikd.ins_deel_key = p_link_key
|
||
AND ikd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND ikd.ins_kenmerk_key = p_kenmerk_key
|
||
AND ikd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
||
END IF;
|
||
END CASE;
|
||
|
||
RETURN get_kenmerkwaarde (v_kenmerk_type,
|
||
v_kenmerkdomein_key,
|
||
v_kenmerk_waarde);
|
||
END;
|
||
END;
|
||
/
|
||
|
||
--=============================================================================
|
||
-- IMPORTFUNCTIES
|
||
-------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
v_seq_of_columns VARCHAR(255);
|
||
BEGIN
|
||
v_seq_of_columns := '0;0;0;0;0;0;1;2;3;5;4;0;0;0;14;7;8;9;15;12;11;13;0;6;10;0;16;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0';
|
||
prs.import_perslid(p_import_key, v_seq_of_columns, 'AFDELINGSCODE;PERSOONACHTERNAAM;TUSSENVOEGSEL;VOORLETTERS;VOORNAAM;TITEL_AANHEF;TELEFOONNUMMER;MOBIEL;EMAIL;APIKEY;FUNCTIE;PERSONEELSNUMMER;LOGINNAAM;GESLACHT;DIENSTVERBAND%');
|
||
END pchx_import_perslid;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_update_perslid (
|
||
p_import_key IN NUMBER
|
||
) IS
|
||
|
||
BEGIN
|
||
-- generic update
|
||
prs.update_perslid (p_import_key, 'APIKEY', NULL);
|
||
|
||
UPDATE prs_perslid p
|
||
SET prs_perslid_oslogin2 = (SELECT prs_kenmerk1
|
||
FROM fac_imp_perslid i
|
||
WHERE i.prs_perslid_key = p.prs_perslid_key)
|
||
WHERE EXISTS (SELECT i.prs_perslid_key
|
||
FROM fac_imp_perslid i
|
||
WHERE i.prs_perslid_key = p.prs_perslid_key);
|
||
|
||
END pchx_update_perslid;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_noti_cntreminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CNTMAI',
|
||
'',
|
||
c.prs_perslid_key_eig,
|
||
'Rapp<EFBFBD>l: '
|
||
|| fac_version_cust
|
||
|| ' Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b, fac_version
|
||
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
AND SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key);
|
||
|
||
--PCHD#33769 default reminder ook voor goedkeuringsverzoeken
|
||
CREATE OR REPLACE VIEW PCHX_V_NOTI_FINREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
PAR1,
|
||
PAR2,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT 'FININF',
|
||
'',
|
||
prs.getkpverantwoordelijke (
|
||
fin.getfactuurkostenplaats (f.fin_factuur_key),
|
||
fac.getSetting ('prs_approvemethod'),
|
||
-1
|
||
)
|
||
budgethouder,
|
||
'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 prs.getkpverantwoordelijke (
|
||
fin.getfactuurkostenplaats (f.fin_factuur_key),
|
||
fac.getSetting ('prs_approvemethod'),
|
||
-1
|
||
) <> -1 -- die kan ik geen bericht sturen
|
||
AND f.fin_factuur_statuses_key = 2
|
||
AND f.fin_factuur_verwijder IS NULL
|
||
GROUP BY prs.getkpverantwoordelijke (
|
||
fin.getfactuurkostenplaats (f.fin_factuur_key),
|
||
fac.getSetting ('prs_approvemethod'),
|
||
-1
|
||
)
|
||
UNION ALL
|
||
SELECT 'FININF',
|
||
'',
|
||
p.prs_perslid_key,
|
||
'Goedkeuringsverzoek voor ' || COUNT (f.fin_factuur_key)
|
||
|| DECODE (COUNT (f.fin_factuur_key),
|
||
1, ' factuur.',
|
||
' facturen.'),
|
||
MIN (f.fin_factuur_key),
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM fin_factuur f, prs_perslid p
|
||
WHERE prs_perslid_key_goedkeur IS NOT NULL
|
||
AND fin_factuur_statuses_key = 5
|
||
AND fin_factuur_verwijder IS NULL
|
||
AND p.prs_perslid_key = f.prs_perslid_key_goedkeur
|
||
GROUP BY prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_factuur_gegevens
|
||
(
|
||
fin_factuur_key,
|
||
opdracht_id,
|
||
fin_factuur_datum,
|
||
fin_factuur_nr,
|
||
prs_bedrijf_key_org,
|
||
prs_bedrijf_key_afw,
|
||
prs_bedrijf_key,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_key,
|
||
fin_factuur_debiteur_nr,
|
||
fin_factuur_opmerking,
|
||
fin_factuur_boekmaand,
|
||
opdr_datum,
|
||
boekstuknummer,
|
||
project_nummer,
|
||
project_naam,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_refcode,
|
||
vk_prs_kostensoort_refcode,
|
||
prs_kostensoort_key,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_org,
|
||
mld_opdr_key,
|
||
cnt_contract_key,
|
||
bes_bestelopdr_key,
|
||
fin_factuur_statuses_key,
|
||
fin_factuur_statuses_org_key,
|
||
lev_kpn,
|
||
reknr,
|
||
kstdrcode,
|
||
administratie,
|
||
afwboekdatum,
|
||
afw_kostenplaats
|
||
)
|
||
AS
|
||
SELECT f.fin_factuur_key,
|
||
DECODE (
|
||
c.cnt_contract_key,
|
||
NULL,
|
||
DECODE (
|
||
bo.bes_bestelopdr_key,
|
||
NULL,
|
||
(SELECT sd.ins_srtdiscipline_prefix
|
||
|| m.mld_melding_key
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
ins_tab_discipline d,
|
||
ins_srtdiscipline sd
|
||
WHERE m.mld_melding_key = o.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 =
|
||
sd.ins_srtdiscipline_key),
|
||
bo.bes_bestelopdr_id),
|
||
'C' || TO_CHAR (cnt_contract_nummer_intern))
|
||
opdracht_id,
|
||
DECODE (TO_CHAR (f.fin_factuur_datum, 'yyyy'),
|
||
'2010', TO_DATE ('20110102', 'YYYYMMDD'),
|
||
'2011', TO_DATE ('20120102', 'YYYYMMDD'),
|
||
f.fin_factuur_datum),
|
||
f.fin_factuur_nr,
|
||
b_f.prs_bedrijf_key prs_bedrijf_key_afw,
|
||
COALESCE (b_c.prs_bedrijf_key,
|
||
COALESCE (b_o.prs_bedrijf_key, b_b.prs_bedrijf_key))
|
||
prs_bedrijf_key_org,
|
||
COALESCE (
|
||
b_f.prs_bedrijf_key,
|
||
COALESCE (b_c.prs_bedrijf_key,
|
||
COALESCE (b_o.prs_bedrijf_key, b_b.prs_bedrijf_key)))
|
||
prs_bedrijf_key,
|
||
fin_factuurregel_omschrijving,
|
||
fr.fin_factuurregel_totaal,
|
||
COALESCE (
|
||
fr_btw.afw_btw_bedrag,
|
||
ROUND (
|
||
fr.fin_factuurregel_totaal
|
||
* DECODE (btw.fin_btwtabelwaarde_verlegd,
|
||
1, 0,
|
||
btw.fin_btwtabelwaarde_perc / 100),
|
||
2))
|
||
fin_factuurregel_btw,
|
||
btw.fin_btwtabelwaarde_code,
|
||
btw.fin_btwtabelwaarde_key,
|
||
fr.fin_factuurregel_nr,
|
||
fr.fin_factuurregel_key,
|
||
f.fin_factuur_debiteur_nr,
|
||
f.fin_factuur_opmerking,
|
||
f.fin_factuur_boekmaand,
|
||
COALESCE (
|
||
o.mld_opdr_datumbegin,
|
||
COALESCE (c.cnt_contract_looptijd_tot, bo.bes_bestelopdr_datum)),
|
||
(SELECT fin_kenmerkfactuur_waarde
|
||
FROM fin_kenmerkfactuur fk
|
||
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
||
AND fk.fin_kenmerk_key = 3)
|
||
boekstuknummer,
|
||
(SELECT fac_usrdata_code
|
||
FROM fin_kenmerkfactregel kfr, fac_usrdata ud
|
||
WHERE fin_kenmerk_key = 61
|
||
AND kfr.fin_factuurregel_key = fr.fin_factuurregel_key
|
||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||
ud.fac_usrdata_key)
|
||
projectnummer,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fin_kenmerkfactregel kfr, fac_usrdata ud
|
||
WHERE fin_kenmerk_key = 61
|
||
AND kfr.fin_factuurregel_key = fr.fin_factuurregel_key
|
||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||
ud.fac_usrdata_key)
|
||
projectnaam,
|
||
COALESCE (kr.prs_kostensoort_oms, k.prs_kostensoort_oms),
|
||
k.prs_kostensoort_refcode,
|
||
'Onbekend' vk_prs_kostensoort_refcode,
|
||
COALESCE (kr.prs_kostensoort_key, k.prs_kostensoort_key),
|
||
COALESCE (
|
||
(SELECT prs_kostenplaats_key
|
||
FROM prs_kostenplaats kpr, fin_kenmerkfactregel kfr
|
||
WHERE kfr.fin_kenmerk_key = 26
|
||
AND kfr.fin_factuurregel_key = fr.fin_factuurregel_key
|
||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||
kpr.prs_kostenplaats_key),
|
||
o.prs_kostenplaats_key,
|
||
c.prs_kostenplaats_key,
|
||
(SELECT DISTINCT b.prs_kostenplaats_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi
|
||
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))
|
||
prs_kostenplaats_key,
|
||
COALESCE (
|
||
o.prs_kostenplaats_key,
|
||
c.prs_kostenplaats_key,
|
||
(SELECT DISTINCT b.prs_kostenplaats_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi
|
||
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))
|
||
prs_kostenplaats_org,
|
||
o.mld_opdr_key,
|
||
c.cnt_contract_key,
|
||
bo.bes_bestelopdr_key,
|
||
( -- status van de factuur is ingevoerd als er facturen van dezelfde leverancier en nummer zijn
|
||
-- met status ingevoerd, afgewezen of incompleet
|
||
SELECT DECODE (COUNT ( * ), 0, f.fin_factuur_statuses_key, 2)
|
||
FROM fin_factuur f_t,
|
||
cnt_contract c_t,
|
||
bes_bestelopdr b_t,
|
||
mld_opdr o_t
|
||
WHERE f_t.fin_factuur_verwijder IS NULL
|
||
AND f_t.mld_opdr_key = o_t.mld_opdr_key(+)
|
||
AND f_t.cnt_contract_key = c_t.cnt_contract_key(+)
|
||
AND f_t.bes_bestelopdr_key = b_t.bes_bestelopdr_key(+)
|
||
AND COALESCE (
|
||
o_t.mld_uitvoerende_keys,
|
||
COALESCE (b_t.prs_bedrijf_key,
|
||
c_t.cnt_prs_bedrijf_key)) =
|
||
COALESCE (
|
||
o.mld_uitvoerende_keys,
|
||
COALESCE (bo.prs_bedrijf_key,
|
||
c.cnt_prs_bedrijf_key))
|
||
AND f.fin_factuur_nr = f_t.fin_factuur_nr
|
||
AND f_t.fin_factuur_statuses_key IN (1, 2, 3, 5) -- Afgewezen,Ingevoerd,Incompleet,TerGoedkeuring
|
||
AND f.fin_factuur_statuses_key = 6)
|
||
fin_factuur_statuses_key,
|
||
f.fin_factuur_statuses_key fin_factuur_statuses_org_key,
|
||
lk.prs_kostenplaats_nr lev_kpn,
|
||
rn.reknr,
|
||
kd.kstdrcode,
|
||
(CASE
|
||
WHEN pchx.get_user = 'PCHY'
|
||
THEN
|
||
(SELECT fin_kenmerkfactuur_waarde
|
||
FROM fin_kenmerkfactuur fk
|
||
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
||
AND fk.fin_kenmerk_key = 61)
|
||
ELSE
|
||
(SELECT fin_kenmerkfactuur_waarde
|
||
FROM fin_kenmerkfactuur fk
|
||
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
||
AND fk.fin_kenmerk_key = 2)
|
||
END) administratie,
|
||
(SELECT fac.safe_to_date (fin_kenmerkfactregel_waarde,
|
||
'DD-MM-YYYY')
|
||
afwboekdatum
|
||
FROM fin_kenmerkfactregel fkf, fin_kenmerk fk
|
||
WHERE fk.fin_kenmerk_key = fkf.fin_kenmerk_key
|
||
AND fkf.fin_kenmerkfactregel_verwijder IS NULL
|
||
AND fk.fin_kenmerk_verwijder IS NULL
|
||
AND UPPER (fk.fin_kenmerk_omschrijving) = 'AFW. BOEKDATUM'
|
||
AND fkf.fin_factuurregel_key = fr.fin_factuurregel_key)
|
||
afwboekdatum,
|
||
fr_afwk.afw_kostenplaats
|
||
FROM fin_factuur f,
|
||
fin_factuurregel fr,
|
||
fin_btwtabelwaarde btw,
|
||
mld_opdr o,
|
||
mld_typeopdr ot,
|
||
cnt_contract c,
|
||
bes_bestelopdr bo,
|
||
prs_bedrijf b_o,
|
||
prs_bedrijf b_c,
|
||
prs_bedrijf b_b,
|
||
(SELECT b.*, fin_factuur_key
|
||
FROM fin_kenmerkfactuur km, prs_bedrijf b
|
||
WHERE fin_kenmerk_key = 41
|
||
AND fac.safe_to_number (km.fin_kenmerkfactuur_waarde) =
|
||
b.prs_bedrijf_key) b_f, -- Afwijkend bedrijf
|
||
(SELECT kfr.fin_factuurregel_key,
|
||
fac.safe_to_number (fin_kenmerkfactregel_waarde)
|
||
afw_btw_bedrag
|
||
FROM fin_kenmerkfactregel kfr
|
||
WHERE fin_kenmerk_key = 4) fr_btw, -- Afwijkend btwbedrag
|
||
(SELECT frk.fin_factuurregel_key,
|
||
prs_kostenplaats_nr afw_kostenplaats
|
||
FROM fin_kenmerk k,
|
||
prs_kostenplaats kp,
|
||
fin_kenmerkfactregel frk
|
||
WHERE kp.prs_kostenplaats_key = fac.safe_to_number(frk.fin_kenmerkfactregel_waarde)
|
||
AND k.fin_kenmerk_key = frk.fin_kenmerk_key
|
||
AND frk.fin_kenmerkfactregel_verwijder IS NULL
|
||
AND k.fin_kenmerk_verwijder IS NULL
|
||
AND kp.prs_kostenplaats_verwijder IS NULL
|
||
AND k.fin_kenmerk_upper = 'AFW. KOSTENPLAATS') fr_afwk, -- Afwijkend kostenplaats
|
||
prs_kostensoort k,
|
||
prs_kostensoort kr,
|
||
prs_kostensoortgrp kg,
|
||
prs_kostenplaats lk,
|
||
pchx_v_kenm_kstdrcode kd,
|
||
pchx_v_kenm_reknr rn
|
||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
|
||
AND f.cnt_contract_key = c.cnt_contract_key(+)
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
||
AND bo.prs_bedrijf_key = b_b.prs_bedrijf_key(+)
|
||
AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
|
||
AND f.fin_factuur_key = b_f.fin_factuur_key(+)
|
||
AND f.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
||
AND k.prs_kostenplaats_key = lk.prs_kostenplaats_key(+)
|
||
AND k.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
|
||
AND fr.prs_kostensoort_key = kr.prs_kostensoort_key(+)
|
||
AND fr.fin_factuurregel_key = kd.fin_factuurregel_key(+)
|
||
AND fr.fin_factuurregel_key = rn.fin_factuurregel_key(+)
|
||
AND fr.fin_factuurregel_key = fr_btw.fin_factuurregel_key(+)
|
||
AND fr.fin_factuurregel_key = fr_afwk.fin_factuurregel_key(+)
|
||
AND f.fin_factuur_verwijder IS NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_rap_factuurgegevens
|
||
(
|
||
html_factuur_key,
|
||
fclt_f_boekstuknummer,
|
||
factuurdatum,
|
||
referentie,
|
||
factuurnummer,
|
||
bedrag,
|
||
fclt_f_bedrijf
|
||
)
|
||
AS
|
||
SELECT '<a class="details" onclick=''FcltMgr.openDetail("appl/fin/fin_factuur.asp?urole=bo&'
|
||
|| 'fin_key='
|
||
|| fin_factuur_key
|
||
|| '")''>'
|
||
|| fin_factuur_key
|
||
|| '</a>'
|
||
fin_factuur_key,
|
||
boekstuknummer,
|
||
fin_factuur_datum,
|
||
opdracht_id,
|
||
fin_factuur_nr,
|
||
SUM (fin_factuurregel_totaal) totaal,
|
||
b.prs_bedrijf_naam
|
||
FROM pchx_v_factuur_gegevens fg, prs_bedrijf b
|
||
WHERE fg.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
GROUP BY fin_factuur_key,
|
||
boekstuknummer,
|
||
opdracht_id,
|
||
fin_factuur_datum,
|
||
fin_factuur_nr,
|
||
prs_bedrijf_naam;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_rap_factuurgegevens_fin
|
||
(
|
||
fin_factuur_key,
|
||
nr,
|
||
factuurdatum,
|
||
uitvoerende,
|
||
leveranciernr,
|
||
factuurnr,
|
||
excl_btw,
|
||
incl_btw,
|
||
status,
|
||
afwbedrijf,
|
||
grootboekrekening,
|
||
kostendrager,
|
||
factuurregel_omschrijving,
|
||
afw_boekdatum
|
||
)
|
||
AS
|
||
SELECT fin_factuur_key,
|
||
TO_CHAR (fin_factuur_key),
|
||
fin_factuur_datum,
|
||
borg.prs_bedrijf_naam,
|
||
borg.prs_leverancier_nr,
|
||
fin_factuur_nr,
|
||
SUM (fin_factuurregel_totaal),
|
||
SUM (fin_factuurregel_totaal + fin_factuurregel_btw),
|
||
DECODE (fin_factuur_statuses_org_key,
|
||
1, 'Afgewezen',
|
||
2, 'Ingevoerd',
|
||
5, 'Ter goedkeuring',
|
||
6, 'Akkoord')
|
||
Status,
|
||
bafw.prs_bedrijf_naam,
|
||
reknr,
|
||
kstdrcode,
|
||
fin_factuurregel_omschrijving,
|
||
afwboekdatum
|
||
FROM pchx_v_factuur_gegevens f,
|
||
prs_bedrijf borg,
|
||
prs_bedrijf bafw
|
||
WHERE borg.prs_bedrijf_key = f.prs_bedrijf_key_org
|
||
AND bafw.prs_bedrijf_key = f.prs_bedrijf_key_afw(+)
|
||
AND f.fin_factuur_statuses_org_key IN (1, 2, 5, 6)
|
||
GROUP BY fin_factuur_key,
|
||
fin_factuur_datum,
|
||
borg.prs_bedrijf_naam,
|
||
borg.prs_leverancier_nr,
|
||
fin_factuur_nr,
|
||
fin_factuur_statuses_org_key,
|
||
bafw.prs_bedrijf_naam,
|
||
reknr,
|
||
kstdrcode,
|
||
fin_factuurregel_omschrijving,
|
||
afwboekdatum;
|
||
|
||
-------------------------------------------------------------------------------
|
||
-- EXPORTFUNCTIE - Export exact
|
||
-------------------------------------------------------------------------------
|
||
CREATE OR REPLACE VIEW pchx_v_aanwezigfactuur
|
||
(
|
||
FIN_FACTUUR_KEY,
|
||
FIN_FACTUUR_NR,
|
||
FIN_FACTUUR_TOTAAL,
|
||
FIN_FACTUUR_TOTAAL_BTW,
|
||
MLD_OPDR_KEY,
|
||
CNT_CONTRACT_KEY,
|
||
BES_BESTELOPDR_KEY,
|
||
PRS_PERSLID_KEY_USER,
|
||
FIN_FACTUUR_DATUM,
|
||
FIN_FACTUUR_BOEKMAAND,
|
||
FIN_FACTUUR_DEBITEUR_NR,
|
||
PRS_KOSTENSOORT_KEY,
|
||
FIN_FACTUUR_OPMERKING,
|
||
FIN_FACTUUR_STATUSES_KEY,
|
||
FIN_FACTUUR_VERWIJDER
|
||
)
|
||
AS
|
||
SELECT FIN_FACTUUR_KEY,
|
||
FIN_FACTUUR_NR,
|
||
FIN_FACTUUR_TOTAAL,
|
||
FIN_FACTUUR_TOTAAL_BTW,
|
||
MLD_OPDR_KEY,
|
||
CNT_CONTRACT_KEY,
|
||
BES_BESTELOPDR_KEY,
|
||
PRS_PERSLID_KEY_USER,
|
||
FIN_FACTUUR_DATUM,
|
||
FIN_FACTUUR_BOEKMAAND,
|
||
FIN_FACTUUR_DEBITEUR_NR,
|
||
PRS_KOSTENSOORT_KEY,
|
||
FIN_FACTUUR_OPMERKING,
|
||
FIN_FACTUUR_STATUSES_KEY,
|
||
FIN_FACTUUR_VERWIJDER
|
||
FROM fin_factuur
|
||
WHERE fin_factuur_verwijder IS NULL AND fin_factuur_statuses_key > 1;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_kenm_reknr
|
||
(
|
||
fin_factuurregel_key,
|
||
reknr
|
||
)
|
||
AS
|
||
SELECT fr1.fin_factuurregel_key,
|
||
COALESCE (
|
||
(SELECT fac_usrdata_code
|
||
FROM fin_kenmerkfactregel kfr1, fac_usrdata ud
|
||
WHERE fin_kenmerk_key = 24
|
||
AND kfr1.fin_factuurregel_key = fr1.fin_factuurregel_key
|
||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||
ud.fac_usrdata_key),
|
||
(SELECT fac_usrdata_code
|
||
FROM fin_kenmerkfactuur kf1, fac_usrdata ud
|
||
WHERE fin_kenmerk_key = 21
|
||
AND kf1.fin_factuur_key = fr1.fin_factuur_key
|
||
AND fac.safe_to_number (fin_kenmerkfactuur_waarde) =
|
||
ud.fac_usrdata_key))
|
||
FROM fin_factuurregel fr1;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_kenm_kstdrcode
|
||
(
|
||
fin_factuurregel_key,
|
||
kstdrcode
|
||
)
|
||
AS
|
||
SELECT fr1.fin_factuurregel_key,
|
||
COALESCE (
|
||
(SELECT fac_usrdata_code
|
||
FROM fin_kenmerkfactregel kfr1, fac_usrdata ud
|
||
WHERE fin_kenmerk_key = 25
|
||
AND kfr1.fin_factuurregel_key = fr1.fin_factuurregel_key
|
||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||
ud.fac_usrdata_key),
|
||
(SELECT fac_usrdata_code
|
||
FROM fin_kenmerkfactuur kf1, fac_usrdata ud
|
||
WHERE fin_kenmerk_key = 22
|
||
AND kf1.fin_factuur_key = fr1.fin_factuur_key
|
||
AND fac.safe_to_number (fin_kenmerkfactuur_waarde) =
|
||
ud.fac_usrdata_key))
|
||
FROM fin_factuurregel fr1;
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_bron_export_exact_xml
|
||
(
|
||
bkstnr,
|
||
fact_oms25,
|
||
regel_oms25,
|
||
regel_oms,
|
||
datum,
|
||
afw_datum,
|
||
crdnr,
|
||
projectnr,
|
||
projectnaam,
|
||
bedrag_txt,
|
||
bedrag,
|
||
bedrag_incl,
|
||
betaalref,
|
||
itemcode,
|
||
reknr,
|
||
kstdrcode,
|
||
kstplcode,
|
||
btw_code,
|
||
lev_kpn,
|
||
administratie,
|
||
fin_factuur_key,
|
||
track_verpl,
|
||
fin_factuurregel_nr,
|
||
afw_kostenplaats,
|
||
fin_factuur_statuses_key
|
||
)
|
||
AS
|
||
SELECT (SELECT fin_kenmerkfactuur_waarde kf
|
||
FROM fin_kenmerkfactuur kf
|
||
WHERE kf.fin_factuur_key = fg.fin_factuur_key
|
||
AND kf.fin_kenmerk_key = 3) -- boekstuknummer
|
||
bkstnr,
|
||
REPLACE (fin_factuur_opmerking, ',', '') fact_oms25,
|
||
opdracht_id
|
||
|| ' - '
|
||
|| REPLACE (fin_factuurregel_omschrijving, ',', '')
|
||
regel_oms25,
|
||
fin_factuurregel_omschrijving,
|
||
TO_CHAR (fin_factuur_datum, 'yyyy-mm-dd') datum,
|
||
(SELECT TO_CHAR (
|
||
fac.safe_to_date (fin_kenmerkfactregel_waarde,
|
||
'dd-mm-yyyy'),
|
||
'yyyy-mm-dd')
|
||
FROM fin_kenmerkfactregel kfr
|
||
WHERE kfr.fin_factuurregel_key = fg.fin_factuurregel_key
|
||
AND kfr.fin_kenmerk_key = 23) -- afw boekdatum
|
||
afw_datum,
|
||
(SELECT prs_leverancier_nr
|
||
FROM prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key)
|
||
crdnr,
|
||
project_nummer,
|
||
project_naam,
|
||
REPLACE (TO_CHAR (fin_factuurregel_totaal), ',', '.') bedrag_txt,
|
||
fin_factuurregel_totaal bedrag,
|
||
fin_factuurregel_totaal + fin_factuurregel_btw bedrag_incl,
|
||
fin_factuur_nr || '/' || fin_factuur_debiteur_nr betaalref,
|
||
prs_kostensoort_oms itemcode,
|
||
reknr,
|
||
kstdrcode,
|
||
(SELECT prs_kostenplaats_nr
|
||
FROM prs_kostenplaats kp
|
||
WHERE kp.prs_kostenplaats_key = fg.prs_kostenplaats_key)
|
||
kstplcode,
|
||
fin_btwtabelwaarde_code btw_code,
|
||
lev_kpn,
|
||
administratie,
|
||
fin_factuur_key,
|
||
(SELECT fac_tracking_datum
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE t.fac_tracking_refkey = fin_factuur_key
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST10')
|
||
track_verpl,
|
||
fin_factuurregel_nr,
|
||
afw_kostenplaats,
|
||
fin_factuur_statuses_key
|
||
FROM pchx_v_factuur_gegevens fg;
|
||
|
||
-------------------------------------------------------------------------------
|
||
-- EXPORTFUNCTIE - Export exact verwerk
|
||
-- Deze exportfunctie wordt ook gebruikt voor de koppeling naar Scansys
|
||
-------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_exp_verwerk_exact_adm (
|
||
result,
|
||
result_order,
|
||
administratie
|
||
)
|
||
AS
|
||
SELECT REPLACE(REPLACE(f.fin_factuur_key
|
||
|| ';'
|
||
|| opdracht_id
|
||
|| ';'
|
||
|| fin_factuur_datum
|
||
|| ';'
|
||
|| fin_factuur_nr
|
||
|| ';'
|
||
|| prs_bedrijf_key
|
||
|| ';'
|
||
|| fin_factuurregel_totaal
|
||
|| ';'
|
||
|| fin_factuurregel_btw
|
||
|| ';'
|
||
|| fin_factuurregel_nr
|
||
|| ';'
|
||
|| fin_factuur_debiteur_nr
|
||
|| ';'
|
||
|| project_nummer
|
||
|| ';'
|
||
|| prs_kostensoort_refcode
|
||
|| ';'
|
||
|| mld_opdr_key
|
||
|| ';'
|
||
|| cnt_contract_key
|
||
,CHR (13), ''), CHR (10), '<ret>'),
|
||
f.fin_factuur_key,
|
||
f.administratie
|
||
FROM pchx_exp_factuur f,
|
||
pchx_v_factuur_gegevens fg
|
||
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
||
AND fg.fin_factuur_statuses_key = 6;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_export_verwerk_exact (
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT result, result_order
|
||
FROM pchx_v_exp_verwerk_exact_adm
|
||
WHERE administratie = pchx.get_administratienr;
|
||
|
||
|
||
-- Procedure om alle geexporteerde facturen naar status verwerkt te zetten.
|
||
-- Deze procedure pchx_export_verwerk_exact_adm wordt ook gebruikt voor de koppeling naar Scansys
|
||
CREATE OR REPLACE PROCEDURE pchx_export_verwerk_exact_adm (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2,
|
||
p_administratie IN VARCHAR2
|
||
)
|
||
AS
|
||
CURSOR c_fact
|
||
IS
|
||
SELECT f.fin_factuur_key
|
||
FROM pchx_exp_factuur f
|
||
, pchx_v_factuur_gegevens fg
|
||
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
||
AND fg.fin_factuur_statuses_key = 6
|
||
AND f.administratie = p_administratie;
|
||
|
||
CURSOR c_opdr
|
||
IS
|
||
SELECT distinct fg.mld_opdr_key, mld_statusopdr_key, m.mld_melding_status, m.mld_melding_key
|
||
FROM pchx_exp_factuur f
|
||
, pchx_v_factuur_gegevens fg
|
||
, mld_opdr o
|
||
, mld_melding m
|
||
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
||
AND fg.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND fg.fin_factuur_statuses_key = 6
|
||
AND f.administratie = p_administratie;
|
||
|
||
CURSOR c_bes
|
||
IS
|
||
SELECT bo.*
|
||
FROM pchx_exp_factuur f
|
||
, pchx_v_factuur_gegevens fg
|
||
, bes_bestelopdr bo
|
||
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
||
AND fg.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND fg.fin_factuur_statuses_key = 6
|
||
AND f.administratie = p_administratie;
|
||
|
||
v_errormsg VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanvrager NUMBER;
|
||
v_bestelling_key NUMBER;
|
||
v_logdate DATE;
|
||
BEGIN
|
||
v_errormsg := 'Geen akties';
|
||
|
||
-- Facilitor user
|
||
v_aanvrager := 4;
|
||
|
||
v_logdate := SYSDATE;
|
||
|
||
FOR rec1 IN c_bes
|
||
LOOP
|
||
BEGIN
|
||
-- indien nog niet afgemeld, dan maar even afmelden.
|
||
IF rec1.bes_bestelopdr_status = 3 THEN -- in behandeling
|
||
UPDATE bes_bestelopdr
|
||
SET bes_bestelopdr_status = 4
|
||
WHERE bes_bestelopdr_key= rec1.bes_bestelopdr_key
|
||
AND bes_bestelopdr_status = 3;
|
||
END IF;
|
||
|
||
IF rec1.bes_bestelopdr_status = 5 -- bevestigd
|
||
OR rec1.bes_bestelopdr_status = 4 -- in bestelling
|
||
OR rec1.bes_bestelopdr_status = 3 THEN
|
||
|
||
UPDATE bes_bestelopdr_item B
|
||
SET bes_bestelopdr_item_aantalontv = COALESCE(bes_bestelopdr_item_aantal, 0),
|
||
bes_bestelopdr_item_ontvangen = SYSDATE
|
||
WHERE b.bes_bestelopdr_key = rec1.bes_bestelopdr_key;
|
||
|
||
UPDATE bes_bestelling_item bi
|
||
SET bes_bestelling_item_aantalontv = COALESCE(bes_bestelling_item_aantal, 0)
|
||
WHERE EXISTS (SELECT bes_bestelopdr_key
|
||
FROM bes_bestelopdr_item boi
|
||
WHERE bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND bes_bestelopdr_key = rec1.bes_bestelopdr_key);
|
||
|
||
SELECT distinct bes_bestelling_key
|
||
INTO v_bestelling_key
|
||
FROM bes_bestelling_item bi, bes_bestelopdr_item boi
|
||
WHERE bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND bes_bestelopdr_key = rec1.bes_bestelopdr_key;
|
||
|
||
bes.updatebestelopdrstatus(rec1.bes_bestelopdr_key, v_aanvrager);
|
||
bes.updatebestellingstatus(v_bestelling_key, v_aanvrager);
|
||
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
|
||
FOR rec1 IN c_opdr
|
||
LOOP
|
||
BEGIN
|
||
-- indien nog niet afgemeld, dan maar even afmelden.
|
||
IF rec1.mld_statusopdr_key <> 6 AND rec1.mld_statusopdr_key <> 7 AND rec1.mld_statusopdr_key <> 9 THEN
|
||
mld.setopdrachtstatus (rec1.mld_opdr_key, 6, v_aanvrager);
|
||
mld.setopdrachtstatus (rec1.mld_opdr_key, 9, v_aanvrager);
|
||
END IF;
|
||
|
||
UPDATE mld_opdr o
|
||
SET mld_opdr_kosten =
|
||
(SELECT SUM (fin_factuurregel_totaal)
|
||
FROM pchx_v_aanwezigfactuur f
|
||
, fin_factuurregel fr
|
||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND f.fin_factuur_statuses_key >= 6)
|
||
WHERE o.mld_opdr_key = rec1.mld_opdr_key
|
||
AND rec1.mld_melding_status IN (4, 5, 7); -- anders faalt de trigger sowieso
|
||
|
||
-- update meldingstatus
|
||
mld.updatemeldingstatusAV (rec1.mld_melding_key, 0, v_aanvrager, 0);
|
||
-- zet de status naar verwerkt (user is facilitor)
|
||
mld.setopdrachtstatus (rec1.mld_opdr_key, 7, v_aanvrager);
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rec1 IN c_fact
|
||
LOOP
|
||
BEGIN
|
||
UPDATE fin_factuur f
|
||
SET fin_factuur_statuses_key = 7
|
||
WHERE f.fin_factuur_key = rec1.fin_factuur_key;
|
||
|
||
fac.trackaction ('FINVER', rec1.fin_factuur_key, v_aanvrager, NULL, NULL);
|
||
END;
|
||
END LOOP;
|
||
DELETE pchx_exp_factuur
|
||
WHERE administratie = p_administratie;
|
||
END;
|
||
/
|
||
|
||
--Deze procedure pchx_export_verwerk_exact wordt ook gebruikt voor de koppeling naar Scansys
|
||
CREATE OR REPLACE PROCEDURE pchx_export_verwerk_exact (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
pchx_export_verwerk_exact_adm (p_applname, p_applrun, p_filedir, p_filename, pchx.get_administratienr);
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_import_factuur (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c_cursor
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
v_newline VARCHAR2 (1000); -- Import line
|
||
v_field VARCHAR2 (100); -- Import field
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_barcode VARCHAR2 (12);
|
||
BEGIN
|
||
v_fielddelimitor := ';';
|
||
|
||
DELETE pchx_imp_factuur
|
||
WHERE fac_import_key <> p_import_key;
|
||
|
||
FOR rec IN c_cursor
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec.fac_imp_file_line;
|
||
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_barcode);
|
||
|
||
IF LENGTH (v_barcode) = 12
|
||
THEN
|
||
INSERT INTO pchx_imp_factuur (fac_import_key, barcode)
|
||
VALUES (p_import_key, v_barcode);
|
||
ELSE
|
||
-- na een geldige barcode volgt altijd nog een linefeed op de volgende regel.
|
||
IF ASCII(SUBSTR(v_barcode, 1, 1)) <> 10
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Factuurimport: Geen geldige barcode aangetroffen: '
|
||
|| v_barcode,
|
||
'');
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
-- verwijder de entries uit de imp_file omdat er meerdere bestanden in <20><>n run ingelezen kunnen worden.
|
||
DELETE fac_imp_file WHERE fac_import_key = p_import_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_update_factuur (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c_cursor
|
||
IS
|
||
SELECT *
|
||
FROM pchx_imp_factuur
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
v_factuur_key NUMBER (10);
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
FOR rec IN c_cursor
|
||
LOOP
|
||
BEGIN
|
||
INSERT INTO fin_factuur (fin_factuur_statuses_key,
|
||
fin_factuur_datum,
|
||
fin_factuur_totaal_btw,
|
||
fin_factuur_nr)
|
||
VALUES (3,
|
||
SYSDATE,
|
||
0,
|
||
'XXX') -- Melding 57823, graag XXX ipv spatie, dat valt beter op bij het aanvullen van de factuur
|
||
RETURNING fin_factuur_key
|
||
INTO v_factuur_key;
|
||
|
||
-- link naar gescand document
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (v_factuur_key,
|
||
1,
|
||
'http://vbwnlmsl220/inkoopfacturen/'
|
||
|| rec.barcode
|
||
|| '.pdf');
|
||
|
||
-- administratie
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (v_factuur_key, 2, SUBSTR (rec.barcode, 2, 3));
|
||
|
||
-- boekstuknummer
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (v_factuur_key, 3, SUBSTR (rec.barcode, 5, 8));
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_rap_usrdata
|
||
(
|
||
fac_usrtab_key,
|
||
fac_usrtab_omschrijving,
|
||
fac_usrdata_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_prijs,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_parentkey,
|
||
fac_usrdata_vervaldatum
|
||
)
|
||
AS
|
||
SELECT ut.fac_usrtab_key,
|
||
ut.fac_usrtab_omschrijving,
|
||
ud.fac_usrdata_key,
|
||
ud.fac_usrdata_code,
|
||
ud.fac_usrdata_omschr,
|
||
fac_usrdata_prijs,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_parentkey,
|
||
fac_usrdata_vervaldatum
|
||
FROM fac_usrtab ut, fac_usrdata ud
|
||
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key;
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_import_usrdata (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c_cursor
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Import line
|
||
v_field VARCHAR2 (100); -- Import field
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
v_error BOOLEAN;
|
||
v_header_found BOOLEAN;
|
||
v_oracle_err_num NUMBER;
|
||
v_oracle_err_mes VARCHAR2 (200);
|
||
v_usrtab_key_txt VARCHAR2 (100);
|
||
v_usrtab_key fac_usrtab.fac_usrtab_key%TYPE;
|
||
v_usrtab_naam fac_usrtab.fac_usrtab_naam%TYPE;
|
||
v_usrdata_key_txt VARCHAR2 (100);
|
||
v_usrdata_key fac_usrdata.fac_usrdata_key%TYPE;
|
||
v_usrdata_code fac_usrdata.fac_usrdata_code%TYPE;
|
||
v_usrdata_omschr fac_usrdata.fac_usrdata_omschr%TYPE;
|
||
v_usrdata_volgnr_txt VARCHAR2 (100);
|
||
v_usrdata_volgnr fac_usrdata.fac_usrdata_volgnr%TYPE;
|
||
v_usrdata_prijs_txt VARCHAR2 (100);
|
||
v_usrdata_prijs fac_usrdata.fac_usrdata_prijs%TYPE;
|
||
v_usrdata_parentkey_txt VARCHAR2 (100);
|
||
v_usrdata_parentkey fac_usrdata.fac_usrdata_parentkey%TYPE;
|
||
v_usrdata_vervaldatum_txt VARCHAR2 (100);
|
||
v_usrdata_vervaldatum fac_usrdata.fac_usrdata_vervaldatum%TYPE;
|
||
BEGIN
|
||
v_fielddelimitor := ';';
|
||
v_header_found := FALSE;
|
||
|
||
DELETE pchx_imp_usrdata;
|
||
|
||
FOR rec IN c_cursor
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec.fac_imp_file_line;
|
||
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrtab_key_txt);
|
||
-- fac.imp_getfield (v_newline, v_fielddelimitor, v_usrtab_naam);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_key_txt);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_code);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_omschr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_prijs_txt);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_volgnr_txt);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_parentkey_txt);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_usrdata_vervaldatum_txt);
|
||
|
||
-- Skip until a valid header is found
|
||
IF UPPER (v_usrtab_key_txt) = 'FAC USRTAB KEY'
|
||
AND UPPER (v_usrdata_key_txt) = 'FAC USRDATA KEY'
|
||
AND UPPER (v_usrdata_volgnr_txt) = 'FAC USRDATA VOLGNR'
|
||
AND UPPER (v_usrdata_parentkey_txt) = 'FAC USRDATA PARENTKEY'
|
||
AND UPPER (v_usrdata_vervaldatum_txt) = 'FAC USRDATA VERVALDATUM'
|
||
THEN
|
||
-- Sla de kopregel over.
|
||
v_header_found := TRUE;
|
||
ELSIF v_header_found
|
||
THEN
|
||
v_usrtab_key := fac.safe_to_number (v_usrtab_key_txt);
|
||
v_usrdata_key := fac.safe_to_number (v_usrdata_key_txt);
|
||
v_usrdata_volgnr := fac.safe_to_number (v_usrdata_volgnr_txt);
|
||
v_usrdata_prijs := fac.safe_to_number (REPLACE (v_usrdata_prijs_txt, ',', '.'));
|
||
v_usrdata_parentkey := fac.safe_to_number (v_usrdata_parentkey_txt);
|
||
v_usrdata_vervaldatum := fac.safe_to_date (v_usrdata_vervaldatum_txt, 'dd-mm-yyyy');
|
||
|
||
INSERT INTO pchx_imp_usrdata (fac_usrtab_key,
|
||
fac_usrtab_naam,
|
||
fac_usrdata_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_prijs,
|
||
fac_usrdata_parentkey,
|
||
fac_usrdata_vervaldatum)
|
||
VALUES (v_usrtab_key,
|
||
v_usrtab_naam,
|
||
v_usrdata_key,
|
||
v_usrdata_code,
|
||
v_usrdata_omschr,
|
||
v_usrdata_volgnr,
|
||
v_usrdata_prijs,
|
||
v_usrdata_parentkey,
|
||
v_usrdata_vervaldatum);
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF NOT v_header_found
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Geen geldige header aangetroffen',
|
||
'Bestand is geen geldig eigentabel importbestand.');
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_oracle_err_num := SQLCODE;
|
||
v_oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'OTHERS (error ' || v_oracle_err_num || '/' || v_oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_update_usrdata (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT * FROM pchx_imp_usrdata;
|
||
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
IF rec.fac_usrdata_key IS NULL
|
||
THEN
|
||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_prijs,
|
||
fac_usrdata_parentkey,
|
||
fac_usrdata_vervaldatum)
|
||
VALUES (rec.fac_usrtab_key,
|
||
LPAD (rec.fac_usrdata_code, 6, '0'),
|
||
rec.fac_usrdata_omschr,
|
||
rec.fac_usrdata_volgnr,
|
||
rec.fac_usrdata_prijs,
|
||
rec.fac_usrdata_parentkey,
|
||
rec.fac_usrdata_vervaldatum);
|
||
ELSE
|
||
UPDATE fac_usrdata
|
||
SET fac_usrtab_key = rec.fac_usrtab_key,
|
||
fac_usrdata_code = LPAD (rec.fac_usrdata_code, 6, '0'),
|
||
fac_usrdata_omschr = rec.fac_usrdata_omschr,
|
||
fac_usrdata_volgnr = rec.fac_usrdata_volgnr,
|
||
fac_usrdata_prijs = rec.fac_usrdata_prijs,
|
||
fac_usrdata_parentkey = rec.fac_usrdata_parentkey,
|
||
fac_usrdata_vervaldatum = rec.fac_usrdata_vervaldatum
|
||
WHERE fac_usrdata_key = rec.fac_usrdata_key;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
-- view voor het exporteren van een catalogus. Deze kan later via de import ingelezen worden.
|
||
CREATE OR REPLACE VIEW pchx_v_imp_bes_artikel_sync
|
||
(
|
||
FCLT_F_CatalogusNaam,
|
||
Leverancier,
|
||
CatDatum,
|
||
Artikelnr,
|
||
Groep,
|
||
Omschrijving,
|
||
Prijs,
|
||
Eenheid,
|
||
Picture,
|
||
Orderaantal,
|
||
Tax,
|
||
DueDate,
|
||
Inkoopprijs,
|
||
Minimum,
|
||
Staffeltabel,
|
||
Wijzigdagen,
|
||
Annuleerdagen
|
||
)
|
||
AS
|
||
SELECT td.ins_discipline_omschrijving,
|
||
b.prs_bedrijf_naam,
|
||
TO_CHAR (td.ins_discipline_aanmaak, 'yyyymmdd'),
|
||
sd.bes_srtdeel_nr,
|
||
sg.bes_srtgroep_omschrijving,
|
||
sd.bes_srtdeel_omschrijving,
|
||
TO_CHAR (bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)),
|
||
sd.bes_srtdeel_eenheid,
|
||
sd.bes_srtdeel_image,
|
||
TO_CHAR (sd.bes_srtdeel_veelvoud),
|
||
TO_CHAR (sd.bes_srtdeel_btw),
|
||
TO_CHAR (sd.bes_srtdeel_vervaldatum, 'yyyymmdd'),
|
||
TO_CHAR (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, NULL)),
|
||
NULL,
|
||
bs.bes_staffeltabel_naam,
|
||
sd.bes_srtdeel_wijzigdagen,
|
||
sd.bes_srtdeel_annuleerdagen
|
||
FROM ins_tab_discipline td,
|
||
bes_srtgroep sg,
|
||
bes_srtdeel sd,
|
||
prs_bedrijf b,
|
||
bes_staffeltabel bs
|
||
WHERE td.ins_discipline_module = 'BES'
|
||
AND td.ins_discipline_verwijder IS NULL
|
||
AND td.ins_discipline_key = sg.ins_discipline_key
|
||
AND sg.bes_srtgroep_verwijder IS NULL
|
||
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
|
||
AND sd.bes_srtdeel_verwijder IS NULL
|
||
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND bs.bes_staffeltabel_key(+) = sd.bes_staffeltabel_key;
|
||
|
||
-- view voor bedrijfsuggest bij facturen die niet gekoppeld zijn aan een contract
|
||
-- of opdracht.
|
||
CREATE OR REPLACE VIEW pchx_v_fin_bedrijf
|
||
(
|
||
prs_bedrijf_key,
|
||
prs_bedrijf_naam,
|
||
prs_bedrijf_naam_nr,
|
||
prs_bedrijf_verwijder
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key,
|
||
prs_bedrijf_naam,
|
||
CASE
|
||
WHEN prs_leverancier_nr IS NULL THEN prs_bedrijf_naam
|
||
ELSE prs_bedrijf_naam || ' (' || prs_leverancier_nr || ')'
|
||
END,
|
||
prs_bedrijf_verwijder
|
||
FROM prs_bedrijf b
|
||
WHERE prs_bedrijf_intern IS NULL;
|
||
|
||
|
||
-------------------------------------------------------------------------------
|
||
-- EXPORTFUNCTIE - Export VERPLICHTINGEN EN SCANSYS
|
||
-------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_select_scansys_adm (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_administratie IN VARCHAR2)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT f.bkstnr,
|
||
f.datum,
|
||
MAX (f.fact_oms25) fact_oms25,
|
||
f.administratie,
|
||
f.crdnr
|
||
FROM pchx_v_bron_export_exact_xml f,
|
||
pchx_exp_factuur e
|
||
WHERE f.administratie = p_administratie
|
||
AND f.fin_factuur_key = e.fin_factuur_key
|
||
GROUP BY f.bkstnr,
|
||
f.datum,
|
||
f.administratie,
|
||
f.crdnr;
|
||
|
||
CURSOR c_sub (c_bkstnr VARCHAR2)
|
||
IS
|
||
SELECT *
|
||
FROM pchx_v_bron_export_exact_xml
|
||
WHERE administratie = p_administratie
|
||
AND bkstnr = c_bkstnr;
|
||
|
||
v_order_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_amount_sum_incl NUMBER (10, 2);
|
||
v_count NUMBER;
|
||
--v_sub_count NUMBER; --Met PCHX#63945 wordt regelnummer vanuit de xml-import aangeleverd en moet ook conform worden doorgegeven.
|
||
v_bestand VARCHAR2 (30);
|
||
v_dagboeknr VARCHAR2 (2);
|
||
BEGIN
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
v_amount_sum_incl := 0;
|
||
v_count := 0;
|
||
v_bestand := SUBSTR (p_applname, 1, 12);
|
||
|
||
-- Eerst opruiming
|
||
-- PCHX#67175 In verband met notificatie toch geen opruiming
|
||
--DELETE FROM imp_log
|
||
-- WHERE imp_log_applicatie = p_applname;
|
||
|
||
DELETE fac_rapport
|
||
WHERE fac_rapport_node = v_bestand;
|
||
|
||
-- Bewaar de factuur keys in een tijdelijke tabel zodat bij het verwerken (nieuwe export)
|
||
-- deze keys gebruikt kunnen worden.
|
||
-- Verwijder alleen de records van de geselecteerde administratie
|
||
DELETE pchx_exp_factuur e
|
||
WHERE administratie = p_administratie;
|
||
|
||
INSERT INTO pchx_exp_factuur (fin_factuur_key, administratie)
|
||
(SELECT DISTINCT fin_factuur_key, p_administratie
|
||
FROM pchx_v_bron_export_exact_xml
|
||
WHERE fin_factuur_statuses_key = 6
|
||
AND administratie = p_administratie
|
||
AND fin_factuur_statuses_key = 6
|
||
AND track_verpl IS NOT NULL);
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
--PCHX#65429: Dagboeknr verschuift vanaf 2021 naar postitie 2 & 3 van het boekstuknummer (ipv positie 3 & 4).
|
||
--Oude nog openstaande facturen (van 2020) moeten nog wel met positie 3&4, dat gaat via onderstaande case.
|
||
--Na verloop van tijd mag dit weer opgeschoond worden en mag dit altijd: v_dagboeknr := SUBSTR (rec.bkstnr, 2, 2);
|
||
CASE
|
||
WHEN SUBSTR (rec.bkstnr, 0, 2) = '20'
|
||
THEN
|
||
v_dagboeknr := SUBSTR (rec.bkstnr, 3, 2);
|
||
ELSE
|
||
v_dagboeknr := SUBSTR (rec.bkstnr, 2, 2);
|
||
END CASE;
|
||
|
||
v_bestand :=
|
||
TO_CHAR( rec.administratie
|
||
|| rec.bkstnr
|
||
|| '##'
|
||
|| SUBSTR (p_applname, 1, 12));
|
||
|
||
v_count := 1; -- dummy
|
||
|
||
IF v_count <> 0
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<?xml version="1.0" encoding="windows-1252"?>');
|
||
pchx.add_xml_row (v_bestand, '<eExact>');
|
||
pchx.add_xml_row (v_bestand, '<GLEntries>');
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<GLEntry status="E" entry="'
|
||
|| xml.char_to_html (rec.bkstnr)
|
||
|| '">');
|
||
pchx.add_xml_element (v_bestand, 'Description', rec.fact_oms25);
|
||
pchx.add_xml_element (v_bestand, 'Date', rec.datum);
|
||
pchx.add_xml_element (v_bestand,
|
||
'DocumentDate',
|
||
TO_CHAR (SYSDATE, 'YYYY-MM-DD'));
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Journal type="I" code="' || v_dagboeknr || '"/>');
|
||
--v_sub_count := 1;
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Creditor number="' || xml.char_to_html (rec.crdnr) || '"/>');
|
||
|
||
FOR rec1 IN c_sub (rec.bkstnr)
|
||
LOOP
|
||
BEGIN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<FinEntryLine number="'
|
||
|| rec1.fin_factuurregel_nr
|
||
|| '" subtype="T" type="N">');
|
||
pchx.add_xml_element (
|
||
v_bestand,
|
||
'Date',
|
||
COALESCE (rec1.afw_datum, rec1.datum));
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<GLAccount code="'
|
||
|| xml.char_to_html (rec1.reknr)
|
||
|| '"/>');
|
||
|
||
--IF pchx.get_user = 'PCHD'
|
||
--THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Project code="'
|
||
|| rec1.projectnr
|
||
|| '" type="I" status="A">');
|
||
pchx.add_xml_element (v_bestand,
|
||
'Description',
|
||
rec1.projectnaam);
|
||
pchx.add_xml_row (v_bestand, '</Project>');
|
||
--END IF;
|
||
|
||
pchx.add_xml_element (v_bestand,
|
||
'Description',
|
||
rec1.regel_oms);
|
||
|
||
--Met PCHX#63945 wordt afwijkende kostenplaats gehaald vanuit de import en daarmee van de factuurregels.
|
||
-- Voorheen kreeg PCHH altijd 0100, bij PCHA en PCHW werd dit gehaald uit projectcode en bij de overige omgeving werd kostenplaats van bestelling/contract/opdracht overgenomen.
|
||
--Met PCHX#63945 moet dit dus, voor controledoeleinden in Exact, nu van de (door Exact aangeleverde) factuurregels. CASE
|
||
IF rec1.afw_kostenplaats IS NOT NULL
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Costcenter code="'
|
||
|| xml.char_to_html (rec1.afw_kostenplaats)
|
||
|| '"/>');
|
||
END IF;
|
||
|
||
IF pchx.get_user = 'PCHD'
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Costunit code="'
|
||
|| xml.char_to_html (rec1.kstdrcode)
|
||
|| '"/>');
|
||
END IF;
|
||
|
||
IF pchx.get_user = 'PCHD'
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Item code="'
|
||
|| xml.char_to_html (rec1.itemcode)
|
||
|| '"/>');
|
||
END IF;
|
||
|
||
pchx.add_xml_row (v_bestand, '<Amount>');
|
||
pchx.add_xml_element (v_bestand, 'Debit', rec1.bedrag_txt);
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<VAT code="'
|
||
|| xml.char_to_html (rec1.btw_code)
|
||
|| '"/>');
|
||
pchx.add_xml_row (v_bestand, '</Amount>');
|
||
pchx.add_xml_row (v_bestand, '<Payment>');
|
||
pchx.add_xml_element (v_bestand,
|
||
'Reference',
|
||
rec1.betaalref);
|
||
pchx.add_xml_element (v_bestand,
|
||
'InvoiceNumber',
|
||
rec1.bkstnr);
|
||
pchx.add_xml_row (v_bestand, '</Payment>');
|
||
pchx.add_xml_row (v_bestand, '<FinReferences>');
|
||
pchx.add_xml_element (v_bestand, 'YourRef', rec1.betaalref);
|
||
pchx.add_xml_element (v_bestand,
|
||
'DocumentDate',
|
||
TO_CHAR (SYSDATE, 'YYYY-MM-DD'));
|
||
pchx.add_xml_row (v_bestand, '</FinReferences>');
|
||
pchx.add_xml_row (v_bestand, '</FinEntryLine>');
|
||
--v_sub_count := v_sub_count + 1;
|
||
v_amount_sum := v_amount_sum + rec1.bedrag;
|
||
v_amount_sum_incl := v_amount_sum_incl + rec1.bedrag_incl;
|
||
END;
|
||
END LOOP;
|
||
|
||
pchx.add_xml_row (v_bestand, '</GLEntry>');
|
||
pchx.add_xml_row (v_bestand, '</GLEntries>');
|
||
pchx.add_xml_row (v_bestand, '</eExact>');
|
||
END IF;
|
||
END;
|
||
|
||
v_order_count := v_order_count + 1;
|
||
END LOOP;
|
||
|
||
|
||
fac.writelog (
|
||
p_applname,
|
||
'S',
|
||
'Exact export uitgevoerd. Aantal regels: '
|
||
|| v_order_count
|
||
|| ' Totaal bedrag: '
|
||
|| v_amount_sum
|
||
|| ' Totaal bedrag (incl): '
|
||
|| v_amount_sum_incl,
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_select_scansys (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
pchx_select_scansys_adm (p_applname, p_applrun, pchx.get_administratienr);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_export_verpl
|
||
(
|
||
result,
|
||
result_order,
|
||
boekstuknummer
|
||
)
|
||
AS
|
||
SELECT SUBSTR (fac_rapport_regel, INSTR (fac_rapport_regel, '##') + 2),
|
||
fac_rapport_volgnr,
|
||
SUBSTR (fac_rapport_regel, 1, INSTR (fac_rapport_regel, '##') - 1)
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'VERPL';
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_export_scansys
|
||
(
|
||
result,
|
||
result_order,
|
||
boekstuknummer
|
||
)
|
||
AS
|
||
SELECT SUBSTR (fac_rapport_regel, INSTR (fac_rapport_regel, '##') + 2),
|
||
fac_rapport_volgnr,
|
||
SUBSTR (fac_rapport_regel, 1, INSTR (fac_rapport_regel, '##') - 1)
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'SCANSYS';
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_select_verpl_adm (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_administratie IN VARCHAR2)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT bkstnr,
|
||
fin_factuur_key,
|
||
datum,
|
||
MAX (fact_oms25) fact_oms25,
|
||
administratie,
|
||
crdnr
|
||
FROM pchx_v_bron_export_exact_xml
|
||
WHERE administratie = p_administratie
|
||
AND track_verpl IS NULL
|
||
AND fin_factuur_statuses_key BETWEEN 1 AND 6
|
||
GROUP BY bkstnr,
|
||
fin_factuur_key,
|
||
datum,
|
||
administratie,
|
||
crdnr;
|
||
|
||
CURSOR c_sub (
|
||
c_factuur_key IN NUMBER)
|
||
IS
|
||
SELECT *
|
||
FROM pchx_v_bron_export_exact_xml
|
||
WHERE administratie = p_administratie
|
||
AND fin_factuur_key = c_factuur_key;
|
||
|
||
v_order_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_amount_sum_incl NUMBER (10, 2);
|
||
v_count NUMBER;
|
||
--v_sub_count NUMBER; --Met PCHX#63945 wordt regelnummer vanuit de xml-import aangeleverd en moet ook conform worden doorgegeven.
|
||
v_bestand VARCHAR2 (30);
|
||
v_dagboeknr VARCHAR2 (2);
|
||
v_applname VARCHAR2 (2);
|
||
BEGIN
|
||
--Eerst maar de resultaten van vorige export opruimen
|
||
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
v_amount_sum_incl := 0;
|
||
v_count := 0;
|
||
v_bestand := SUBSTR (p_applname, 1, 12);
|
||
|
||
DELETE fac_rapport
|
||
WHERE fac_rapport_node = v_bestand;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
-- bepalen dagboeknr & boekstuknr
|
||
-- We zetten hier administratie, boekstuknummer en ## voor,
|
||
-- dit is nodig omdat de we bij het vullen van FAC_RAPPORT een toevoeging moeten hebben om
|
||
-- de unieke bestandsnamen te kunnen bepalen.
|
||
-- In add_xml_row en add_xml_element filteren we dit weer, zodat dit niet in de node komt.
|
||
|
||
--PCHX#65429: Dagboeknr verschuift vanaf 2021 naar postitie 2 & 3 van het boekstuknummer (ipv positie 3 & 4).
|
||
--Oude nog openstaande facturen (van 2020) moeten nog wel met positie 3&4, dat gaat via onderstaande case.
|
||
--Na verloop van tijd mag dit weer opgeschoond worden en mag dit altijd: v_dagboeknr := SUBSTR (rec.bkstnr, 2, 2);
|
||
CASE
|
||
WHEN SUBSTR (rec.bkstnr, 0, 2) = '20'
|
||
THEN
|
||
v_dagboeknr := SUBSTR (rec.bkstnr, 3, 2);
|
||
ELSE
|
||
v_dagboeknr := SUBSTR (rec.bkstnr, 2, 2);
|
||
END CASE;
|
||
|
||
v_bestand :=
|
||
TO_CHAR( rec.administratie
|
||
|| rec.bkstnr
|
||
|| '##'
|
||
|| SUBSTR (p_applname, 1, 12));
|
||
|
||
v_count := 1; -- dummy
|
||
|
||
IF v_count <> 0
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<?xml version="1.0" encoding="windows-1252"?>');
|
||
pchx.add_xml_row (v_bestand, '<eExact>');
|
||
pchx.add_xml_row (v_bestand, '<GLEntries>');
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<GLEntry status="E" entry="'
|
||
|| xml.char_to_html (rec.bkstnr)
|
||
|| '">');
|
||
pchx.add_xml_element (v_bestand, 'Description', rec.fact_oms25);
|
||
pchx.add_xml_element (v_bestand, 'Date', rec.datum);
|
||
pchx.add_xml_element (v_bestand,
|
||
'DocumentDate',
|
||
TO_CHAR (SYSDATE, 'YYYY-MM-DD'));
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Journal type="I" code="' || v_dagboeknr || '"/>');
|
||
--v_sub_count := 1;
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Creditor number="' || xml.char_to_html (rec.crdnr) || '"/>');
|
||
|
||
FOR rec1 IN c_sub (rec.fin_factuur_key)
|
||
LOOP
|
||
BEGIN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<FinEntryLine number="'
|
||
|| rec1.fin_factuurregel_nr
|
||
|| '" subtype="T" type="N">');
|
||
pchx.add_xml_element (
|
||
v_bestand,
|
||
'Date',
|
||
COALESCE (rec1.afw_datum, rec1.datum));
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<GLAccount code="'
|
||
|| xml.char_to_html (rec1.reknr)
|
||
|| '"/>');
|
||
|
||
IF pchx.get_user = 'PCHD'
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Project code="'
|
||
|| rec1.projectnr
|
||
|| '" type="I" status="A">');
|
||
pchx.add_xml_element (v_bestand,
|
||
'Description',
|
||
rec1.projectnaam);
|
||
pchx.add_xml_row (v_bestand, '</Project>');
|
||
END IF;
|
||
|
||
pchx.add_xml_element (v_bestand,
|
||
'Description',
|
||
rec1.regel_oms25);
|
||
|
||
--Met PCHX#63945 wordt afwijkende kostenplaats gehaald vanuit de import en daarmee van de factuurregels.
|
||
-- Voorheen kreeg PCHH altijd 0100, bij PCHA en PCHW werd dit gehaald uit projectcode en bij de overige omgeving werd kostenplaats van bestelling/contract/opdracht overgenomen.
|
||
--Met PCHX#63945 moet dit dus, voor controledoeleinden in Exact, nu van de (door Exact aangeleverde) factuurregels. CASE
|
||
IF rec1.afw_kostenplaats IS NOT NULL
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Costcenter code="'
|
||
|| xml.char_to_html (rec1.afw_kostenplaats)
|
||
|| '"/>');
|
||
END IF;
|
||
|
||
IF pchx.get_user = 'PCHD'
|
||
THEN
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<Item code="'
|
||
|| xml.char_to_html (rec1.itemcode)
|
||
|| '"/>');
|
||
END IF;
|
||
|
||
pchx.add_xml_row (v_bestand, '<Amount>');
|
||
pchx.add_xml_element (v_bestand, 'Debit', rec1.bedrag_txt);
|
||
pchx.add_xml_row (
|
||
v_bestand,
|
||
'<VAT code="'
|
||
|| xml.char_to_html (rec1.btw_code)
|
||
|| '"/>');
|
||
pchx.add_xml_row (v_bestand, '</Amount>');
|
||
pchx.add_xml_row (v_bestand, '<Payment>');
|
||
pchx.add_xml_element (v_bestand,
|
||
'Reference',
|
||
rec1.betaalref);
|
||
pchx.add_xml_element (v_bestand,
|
||
'InvoiceNumber',
|
||
rec1.bkstnr);
|
||
pchx.add_xml_row (v_bestand, '</Payment>');
|
||
pchx.add_xml_row (v_bestand, '<FinReferences>');
|
||
pchx.add_xml_element (v_bestand, 'YourRef', rec1.betaalref);
|
||
pchx.add_xml_element (v_bestand,
|
||
'DocumentDate',
|
||
TO_CHAR (SYSDATE, 'YYYY-MM-DD'));
|
||
pchx.add_xml_row (v_bestand, '</FinReferences>');
|
||
pchx.add_xml_row (v_bestand, '</FinEntryLine>');
|
||
--v_sub_count := v_sub_count + 1;
|
||
v_amount_sum := v_amount_sum + rec1.bedrag;
|
||
v_amount_sum_incl := v_amount_sum_incl + rec1.bedrag_incl;
|
||
|
||
END;
|
||
-- END IF;
|
||
END LOOP;
|
||
|
||
INSERT INTO fac_tracking (fac_tracking_refkey, fac_srtnotificatie_key, fac_tracking_oms)
|
||
SELECT rec.fin_factuur_key, fac_srtnotificatie_key, 'Verplichting verzonden naar Scansys'
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_code = 'CUST10';
|
||
|
||
pchx.add_xml_row (v_bestand, '</GLEntry>');
|
||
pchx.add_xml_row (v_bestand, '</GLEntries>');
|
||
pchx.add_xml_row (v_bestand, '</eExact>');
|
||
END IF;
|
||
END;
|
||
|
||
v_order_count := v_order_count + 1;
|
||
END LOOP;
|
||
|
||
fac.writelog (
|
||
p_applname,
|
||
'S',
|
||
'Scansys verplichtingen export uitgevoerd. Aantal regels: '
|
||
|| v_order_count
|
||
|| ' Totaal bedrag: '
|
||
|| v_amount_sum
|
||
|| ' Totaal bedrag (incl): '
|
||
|| v_amount_sum_incl,
|
||
'');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_select_verpl (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
pchx_select_verpl_adm (p_applname, p_applrun, pchx.get_administratienr);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_export_verpl (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
v_errormsg VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
-- Verwerk actie direct starten na de export
|
||
NULL;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
--------------------------------------------------------------------------------------
|
||
-- views tbv realtime monitor
|
||
--------------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_meldingpd_fm
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
volgorde
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (mld_melding_datum, 'dd'),
|
||
COUNT (mld_melding_key),
|
||
TRUNC (mld_melding_datum) - TRUNC (SYSDATE)
|
||
FROM mld_melding m
|
||
WHERE mld_melding_datum > SYSDATE - 15
|
||
AND mld_melding_datum > TO_DATE ('20131001', 'yyyymmdd')
|
||
AND mld_melding_datum < SYSDATE
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'dd'),
|
||
TRUNC (mld_melding_datum) - TRUNC (SYSDATE);
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_meldingpm_fm
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
volgorde
|
||
)
|
||
AS
|
||
SELECT DECODE (SUBSTR (TO_CHAR (mld_melding_datum, 'yyyymm'), 5),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT (mld_melding_key),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m
|
||
WHERE mld_melding_datum BETWEEN ADD_MONTHS (
|
||
TO_DATE (
|
||
TO_CHAR (SYSDATE, 'yyyymm') || '01',
|
||
'yyyymmdd'),
|
||
-11)
|
||
AND SYSDATE
|
||
AND mld_melding_datum > TO_DATE ('20131001', 'yyyymmdd')
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_openst_behand
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
fclt_yas2_,
|
||
sortering
|
||
)
|
||
AS
|
||
SELECT behandelaar,
|
||
COUNT (mld_key) - SUM (uitvoeringoptijd) telaat,
|
||
SUM (uitvoeringoptijd) op_tijd,
|
||
1 - COUNT (mld_key)
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
CASE SIGN (mld_melding_einddatum - SYSDATE)
|
||
WHEN -1 THEN 0
|
||
ELSE 1
|
||
END
|
||
uitvoeringoptijd,
|
||
DECODE (
|
||
mld_melding_flag,
|
||
1,
|
||
'FSB',
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key =
|
||
m.mld_melding_behandelaar_key))
|
||
behandelaar
|
||
FROM mld_melding m
|
||
WHERE mld_melding_status IN (2, 3, 4, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
||
)
|
||
WHERE behandelaar IS NOT NULL
|
||
GROUP BY behandelaar;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_openst_uitv
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
fclt_yas2_,
|
||
fclt_url,
|
||
sortering
|
||
)
|
||
AS
|
||
SELECT behandelaar,
|
||
COUNT (opdr_key) - SUM (uitvoeringoptijd) telaat,
|
||
SUM (uitvoeringoptijd) op_tijd,
|
||
'appl/mld/opdr_search.asp?urole=bo'
|
||
|| '&'
|
||
|| 'autosearch=1'
|
||
|| '&'
|
||
|| 'handler_key='
|
||
|| behandelaar_key,
|
||
1 - COUNT (opdr_key)
|
||
FROM (SELECT DISTINCT
|
||
o.mld_opdr_key opdr_key,
|
||
CASE SIGN (mld_opdr_einddatum - SYSDATE)
|
||
WHEN -1 THEN 0
|
||
ELSE 1
|
||
END
|
||
uitvoeringoptijd,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames pf
|
||
WHERE mld_uitvoerende_keys = pf.prs_perslid_key
|
||
UNION ALL
|
||
SELECT prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE mld_uitvoerende_keys = b.prs_bedrijf_key)
|
||
behandelaar,
|
||
o.mld_uitvoerende_keys behandelaar_key
|
||
FROM mld_opdr o
|
||
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- 3 Ter fiattering, 4 Gefiatteerd, 5 Toegekend, 8 Geaccepteerd, 10 Ter goedkeuring
|
||
)
|
||
WHERE behandelaar IS NOT NULL
|
||
GROUP BY behandelaar, behandelaar_key;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_ppi_acc (fclt_xas_, fclt_yas_)
|
||
AS
|
||
SELECT SUM (acceptoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
fac.gettrackingdate ('MLDNEW', m.mld_melding_key),
|
||
std.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
std.mld_stdmelding_t_accepttijd.eenheid)
|
||
- COALESCE (
|
||
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
|
||
fac.gettrackingdate ('MLDACP', m.mld_melding_key),
|
||
SYSDATE))
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
acceptoptijd
|
||
FROM mld_melding m, mld_discipline md, mld_stdmelding std
|
||
WHERE md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mld_melding_status IN (2, 3) -- 2-ingevoerd, 3-ingezien
|
||
);
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_ppi_uitv (fclt_xas_, fclt_yas_)
|
||
AS
|
||
SELECT SUM (uitvoeringoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
CASE
|
||
WHEN fac.gettrackingdate ('MLDREJ', m.mld_melding_key) IS NULL
|
||
THEN
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
m.mld_melding_datum,
|
||
m.mld_melding_t_uitvoertijd.tijdsduur,
|
||
m.mld_melding_t_uitvoertijd.eenheid)
|
||
- COALESCE (
|
||
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
|
||
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
|
||
SYSDATE))
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
ELSE
|
||
1
|
||
END
|
||
uitvoeringoptijd
|
||
FROM mld_melding m, mld_discipline md, mld_stdmelding std
|
||
WHERE md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mld_melding_status IN (2, 3, 4, 7, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
||
);
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_vakgroep_open
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
fclt_yas2_,
|
||
sortering,
|
||
fclt_url,
|
||
fclt_3d_discipline_key
|
||
)
|
||
AS
|
||
SELECT ins_srtdiscipline_prefix || ' '
|
||
|| lcl.x ('ins_discipline_omschrijving',
|
||
d.ins_discipline_key,
|
||
d.ins_discipline_omschrijving),
|
||
COUNT (m.mld_melding_key) - SUM (uitvoeringoptijd) telaat,
|
||
SUM (uitvoeringoptijd) op_tijd,
|
||
-1 * COUNT (m.mld_melding_key) totaal,
|
||
'appl/mld/mld_search.asp?urole=fo'
|
||
|| '&'
|
||
|| 'autosearch=1'
|
||
|| '&'
|
||
|| 'disc_key_str='
|
||
|| d.ins_discipline_key,
|
||
d.ins_discipline_key
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
ins_tab_discipline d,
|
||
ins_srtdiscipline sd,
|
||
(SELECT mld_melding_key,
|
||
CASE SIGN (mld_melding_einddatum - SYSDATE)
|
||
WHEN -1 THEN 0
|
||
ELSE 1
|
||
END
|
||
uitvoeringoptijd
|
||
FROM mld_melding m2) uitv
|
||
WHERE 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 m.mld_melding_key = uitv.mld_melding_key
|
||
AND mld_melding_status IN (2, 3, 4, 7, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
||
GROUP BY d.ins_discipline_key,
|
||
d.ins_discipline_omschrijving,
|
||
ins_srtdiscipline_prefix
|
||
ORDER BY COUNT (d.ins_discipline_omschrijving) DESC;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_fact_count
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
sortering
|
||
)
|
||
AS
|
||
SELECT prs_perslid_naam_full, COUNT ( * ), 1 - COUNT ( * )
|
||
FROM ( SELECT boekstuknummer,
|
||
prs_perslid_naam_full,
|
||
SUM (fin_factuurregel_totaal) totaal
|
||
FROM pchx_v_factuur_gegevens fg,
|
||
prs_kostenplaats k,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE fin_factuur_statuses_key = 2
|
||
AND fg.prs_kostenplaats_org = k.prs_kostenplaats_key
|
||
AND k.prs_perslid_key = pf.prs_perslid_key
|
||
GROUP BY prs_perslid_naam_full, boekstuknummer)
|
||
GROUP BY prs_perslid_naam_full;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_graph_fact_amount
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
sortering
|
||
)
|
||
AS
|
||
SELECT prs_perslid_naam_full, SUM(totaal), 1 - SUM(totaal)
|
||
FROM ( SELECT boekstuknummer,
|
||
prs_perslid_naam_full,
|
||
SUM (fin_factuurregel_totaal) totaal
|
||
FROM pchx_v_factuur_gegevens fg,
|
||
prs_kostenplaats k,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE fin_factuur_statuses_key = 2
|
||
AND fg.prs_kostenplaats_org = k.prs_kostenplaats_key
|
||
AND k.prs_perslid_key = pf.prs_perslid_key
|
||
GROUP BY prs_perslid_naam_full, boekstuknummer)
|
||
GROUP BY prs_perslid_naam_full;
|
||
|
||
CREATE OR REPLACE VIEW PCHX_V_RAP_TECH_ADRES
|
||
(
|
||
FCLT_F_BEDRIJF,
|
||
L,
|
||
U,
|
||
C,
|
||
H,
|
||
FCLT_F_KANAAL,
|
||
FCLT_F_Opdrachttype,
|
||
Adres,
|
||
Stylesheet,
|
||
Bijlage
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam,
|
||
DECODE (prs_bedrijf_leverancier, 1, 'x', NULL) L,
|
||
DECODE (prs_bedrijf_uitvoerende, 1, 'x', NULL) U,
|
||
DECODE (prs_bedrijf_contract, 1, 'x', NULL) C,
|
||
DECODE (prs_bedrijf_huurder, 1, 'x', NULL) H,
|
||
DECODE (ba.prs_bedrijfadres_type,
|
||
'B', 'Bestellingen',
|
||
'C', 'Contracten',
|
||
'O', 'Opdrachten',
|
||
NULL)
|
||
Kanaal,
|
||
DECODE (
|
||
prs_bedrijfadres_type,
|
||
'O',
|
||
DECODE (ot.mld_typeopdr_key,
|
||
NULL, 'Geen/Overige opdrachten',
|
||
ot.mld_typeopdr_omschrijving),
|
||
NULL,
|
||
'',
|
||
'N.v.t.'
|
||
)
|
||
opdrachttype,
|
||
prs_bedrijfadres_url,
|
||
prs_bedrijfadres_xsl,
|
||
prs_bedrijfadres_attachfile Bijlage
|
||
FROM prs_bedrijf b, prs_bedrijfadres ba, mld_typeopdr ot
|
||
WHERE prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_key = ba.prs_bedrijf_key(+)
|
||
AND ba.mld_typeopdr_key = ot.mld_typeopdr_key(+)
|
||
AND b.prs_bedrijf_intern IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW PCHX_V_RAP_BEDRIJFDIENSTLOC
|
||
(
|
||
FCLT_F_BEDRIJF,
|
||
L,
|
||
U,
|
||
C,
|
||
H,
|
||
FCLT_F_DIENST,
|
||
FCLT_F_LOCATIE,
|
||
FCLT_F_GEBOUW
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam,
|
||
DECODE (prs_bedrijf_leverancier, 1, 'x', NULL) L,
|
||
DECODE (prs_bedrijf_uitvoerende, 1, 'x', NULL) U,
|
||
DECODE (prs_bedrijf_contract, 1, 'x', NULL) C,
|
||
DECODE (prs_bedrijf_huurder, 1, 'x', NULL) H,
|
||
d.prs_dienst_omschrijving dienst,
|
||
l.alg_locatie_omschrijving Locatie,
|
||
'Alle' Gebouw
|
||
FROM prs_bedrijf b,
|
||
prs_bedrijfdienstlocatie bdl,
|
||
prs_dienst d,
|
||
alg_locatie l
|
||
WHERE prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
||
AND d.prs_dienst_key(+) = bdl.prs_dienst_key
|
||
AND b.prs_bedrijf_intern IS NULL
|
||
AND l.alg_locatie_key = bdl.alg_locatie_key
|
||
UNION ALL
|
||
SELECT prs_bedrijf_naam,
|
||
DECODE (prs_bedrijf_leverancier, 1, 'x', NULL) L,
|
||
DECODE (prs_bedrijf_uitvoerende, 1, 'x', NULL) U,
|
||
DECODE (prs_bedrijf_contract, 1, 'x', NULL) C,
|
||
DECODE (prs_bedrijf_huurder, 1, 'x', NULL) H,
|
||
d.prs_dienst_omschrijving dienst,
|
||
l.alg_locatie_omschrijving Locatie,
|
||
g.alg_gebouw_omschrijving Gebouw
|
||
FROM prs_bedrijf b,
|
||
prs_bedrijfdienstlocatie bdl,
|
||
prs_dienst d,
|
||
alg_locatie l,
|
||
alg_gebouw g
|
||
WHERE prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
||
AND d.prs_dienst_key(+) = bdl.prs_dienst_key
|
||
AND b.prs_bedrijf_intern IS NULL
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND g.alg_gebouw_key = bdl.alg_gebouw_key
|
||
UNION ALL
|
||
SELECT prs_bedrijf_naam,
|
||
DECODE (prs_bedrijf_leverancier, 1, 'x', NULL) L,
|
||
DECODE (prs_bedrijf_uitvoerende, 1, 'x', NULL) U,
|
||
DECODE (prs_bedrijf_contract, 1, 'x', NULL) C,
|
||
DECODE (prs_bedrijf_huurder, 1, 'x', NULL) H,
|
||
d.prs_dienst_omschrijving dienst,
|
||
'Alle' Locatie,
|
||
'Alle' Gebouw
|
||
FROM prs_bedrijf b, prs_bedrijfdienstlocatie bdl, prs_dienst d
|
||
WHERE prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
||
AND d.prs_dienst_key(+) = bdl.prs_dienst_key
|
||
AND b.prs_bedrijf_intern IS NULL
|
||
AND bdl.alg_gebouw_key IS NULL
|
||
AND bdl.alg_locatie_key IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_rap_mld_qrc
|
||
(
|
||
fclt_3d_locatie_key,
|
||
fclt_3d_discipline_key,
|
||
fclt_f_discipline,
|
||
fclt_f_soortmelding,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
plaats,
|
||
ruimte_key,
|
||
ruimtefunctie,
|
||
fclt_f_objectdiscipline,
|
||
fclt_f_objectgroep,
|
||
objectsoort_key,
|
||
fclt_f_objectsoort,
|
||
objectsoort_code,
|
||
ins_deel_key,
|
||
ins_deel_omschrijving,
|
||
ins_deel_upper,
|
||
hide_f_bookmark_id,
|
||
variabele
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_key,
|
||
disc.ins_discipline_key,
|
||
disc.ins_discipline_omschrijving,
|
||
msd.mld_stdmelding_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_verdieping_omschrijving,
|
||
o.alg_plaatsaanduiding plaats,
|
||
d.ins_alg_ruimte_key ruimte_key,
|
||
sr.alg_srtruimte_omschrijving,
|
||
disc.ins_discipline_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sd.ins_srtdeel_code,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_upper,
|
||
b.fac_bookmark_id,
|
||
'INS_KEY'
|
||
FROM (SELECT DECODE (
|
||
INSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query),
|
||
'STDM_KEY=')
|
||
),
|
||
'&'
|
||
),
|
||
0,
|
||
SUBSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query),
|
||
'STDM_KEY=')
|
||
),
|
||
10
|
||
),
|
||
SUBSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query),
|
||
'STDM_KEY=')
|
||
),
|
||
10,
|
||
INSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query),
|
||
'STDM_KEY=')
|
||
),
|
||
'&'
|
||
)
|
||
- 10
|
||
)
|
||
)
|
||
stdm_key,
|
||
fac_bookmark_id
|
||
FROM fac_bookmark
|
||
WHERE UPPER (fac_bookmark_path) = 'APPL/PDA/MELDING.ASP'
|
||
-- AND INSTR (UPPER (fac_bookmark_query), 'STDM_KEY') > 0 (nog) niet nodig voor PCH
|
||
)
|
||
b, -- stdm_key-bookmarks
|
||
(SELECT sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
si.ins_srtinstallatie_key ins_srtdeel_key
|
||
FROM mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si
|
||
WHERE sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_verwijder IS NULL
|
||
AND si.ins_srtinstallatie_niveau = 'S'
|
||
UNION ALL
|
||
SELECT sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
sd.ins_srtdeel_key
|
||
FROM mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si,
|
||
ins_srtdeel sd
|
||
WHERE sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_verwijder IS NULL
|
||
AND si.ins_srtinstallatie_niveau = 'G'
|
||
AND si.ins_srtinstallatie_key = sd.ins_srtgroep_key
|
||
UNION ALL
|
||
SELECT sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
sd.ins_srtdeel_key
|
||
FROM mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si,
|
||
ins_srtgroep sg,
|
||
ins_srtdeel sd
|
||
WHERE sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_verwijder IS NULL
|
||
AND si.ins_srtinstallatie_niveau = 'D'
|
||
AND si.ins_srtinstallatie_key = sg.ins_discipline_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key) msd, -- object-meldingen
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_discipline disc,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l,
|
||
alg_ruimte r,
|
||
alg_srtruimte sr
|
||
WHERE 1=1 -- fac.safe_to_number (b.stdm_key) = msd.mld_stdmelding_key
|
||
AND msd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND d.ins_deel_parent_key IS NULL
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = disc.ins_discipline_key
|
||
AND d.ins_alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND d.ins_alg_ruimte_type = o.alg_onroerendgoed_type
|
||
AND d.ins_alg_locatie_key = o.alg_locatie_key -- redundant?
|
||
AND o.alg_locatie_key = l.alg_locatie_key
|
||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+);
|
||
|
||
-- QR codes om melding op bepaalde ruimte aan te maken.
|
||
CREATE OR REPLACE VIEW pchx_v_rap_mld_qrc1
|
||
(
|
||
alg_ruimte_key,
|
||
alg_ruimte_aanduiding,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_srtruimte_omschrijving,
|
||
fac_bookmark_naam,
|
||
fac_bookmark_id
|
||
)
|
||
AS
|
||
SELECT alg_ruimte_key,
|
||
rg.alg_ruimte_aanduiding,
|
||
rg.alg_ruimte_nr,
|
||
rg.alg_ruimte_omschrijving,
|
||
rg.alg_srtruimte_omschrijving,
|
||
b.fac_bookmark_naam,
|
||
b.fac_bookmark_id
|
||
FROM alg_v_ruimte_gegevens rg, fac_bookmark b
|
||
WHERE b.fac_bookmark_naam LIKE 'QR%';
|
||
|
||
-- PCHD#34422
|
||
CREATE OR REPLACE VIEW PCHX_V_RAP_DOORLOOP_FACT
|
||
(
|
||
FACTUUR_KEY,
|
||
FCLT_F_FACTUUR_NR,
|
||
FCLT_F_STATUS,
|
||
FCLT_F_ACTIE,
|
||
DATUM,
|
||
FCLT_F_DATUM
|
||
)
|
||
AS
|
||
SELECT fin_factuur_key factuur_key,
|
||
fin_factuur_nr factuur_nr,
|
||
COALESCE (fin_factuur_statuses_omschr, 'Ter goedkeuring') status,
|
||
'Geregistreerd' Actie,
|
||
fin_factuur_datum Datum,
|
||
'Import' Door
|
||
FROM fin_factuur f, fin_factuur_statuses stat
|
||
WHERE fin_factuur_key NOT IN
|
||
(SELECT fac_tracking_refkey
|
||
FROM fac_tracking ft, fac_srtnotificatie srt
|
||
WHERE srt.fac_srtnotificatie_key =
|
||
ft.fac_srtnotificatie_key
|
||
AND srt.fac_srtnotificatie_code = 'FINNEW')
|
||
AND fin_factuur_verwijder IS NULL
|
||
AND f.fin_factuur_statuses_key = stat.fin_factuur_statuses_key(+)
|
||
UNION ALL
|
||
SELECT fin_factuur_key,
|
||
fin_factuur_nr,
|
||
COALESCE (fin_factuur_statuses_omschr, 'Ter goedkeuring'),
|
||
'Geregistreerd',
|
||
fac_tracking_datum,
|
||
prs_perslid_naam_friendly
|
||
FROM fin_factuur f,
|
||
fac_tracking ft,
|
||
fac_srtnotificatie srt,
|
||
prs_v_perslid_fullnames p,
|
||
fin_factuur_statuses stat
|
||
WHERE fac_tracking_refkey = f.fin_factuur_key
|
||
AND srt.fac_srtnotificatie_key = ft.fac_srtnotificatie_key
|
||
AND srt.fac_srtnotificatie_code = 'FINNEW'
|
||
AND fin_factuur_verwijder IS NULL
|
||
AND p.prs_perslid_key(+) = ft.prs_perslid_key
|
||
AND f.fin_factuur_statuses_key = stat.fin_factuur_statuses_key(+)
|
||
UNION ALL
|
||
SELECT fin_factuur_key,
|
||
fin_factuur_nr,
|
||
COALESCE (fin_factuur_statuses_omschr, 'Ter goedkeuring'),
|
||
'Goedgekeurd',
|
||
fac_tracking_datum,
|
||
prs_perslid_naam_friendly
|
||
FROM fin_factuur f,
|
||
fac_tracking ft,
|
||
fac_srtnotificatie srt,
|
||
prs_v_perslid_fullnames p,
|
||
fin_factuur_statuses stat
|
||
WHERE fac_tracking_refkey = f.fin_factuur_key
|
||
AND srt.fac_srtnotificatie_key = ft.fac_srtnotificatie_key
|
||
AND srt.fac_srtnotificatie_code = 'FINFOK'
|
||
AND fin_factuur_verwijder IS NULL
|
||
AND p.prs_perslid_key(+) = ft.prs_perslid_key
|
||
AND f.fin_factuur_statuses_key = stat.fin_factuur_statuses_key(+)
|
||
UNION ALL
|
||
SELECT fin_factuur_key,
|
||
fin_factuur_nr,
|
||
COALESCE (fin_factuur_statuses_omschr, 'Ter goedkeuring'),
|
||
'Gefiatteerd',
|
||
fac_tracking_datum,
|
||
prs_perslid_naam_friendly
|
||
FROM fin_factuur f,
|
||
fac_tracking ft,
|
||
fac_srtnotificatie srt,
|
||
prs_v_perslid_fullnames p,
|
||
fin_factuur_statuses stat
|
||
WHERE fac_tracking_refkey = f.fin_factuur_key
|
||
AND srt.fac_srtnotificatie_key = ft.fac_srtnotificatie_key
|
||
AND srt.fac_srtnotificatie_code = 'FINGOE'
|
||
AND fin_factuur_verwijder IS NULL
|
||
AND p.prs_perslid_key(+) = ft.prs_perslid_key
|
||
AND f.fin_factuur_statuses_key = stat.fin_factuur_statuses_key(+);
|
||
|
||
-- PCHE#36676
|
||
CREATE OR REPLACE VIEW pchx_v_rap_export_schedule
|
||
(
|
||
hide_f_orderby,
|
||
exportnaam,
|
||
startdatum,
|
||
uitvoerdatum
|
||
)
|
||
AS
|
||
SELECT 1000000 - imp_schedule_key,
|
||
imp_schedule_name,
|
||
imp_schedule_aanmaak,
|
||
imp_schedule_done
|
||
FROM imp_schedule;
|
||
|
||
--- PCHD#37981
|
||
CREATE OR REPLACE VIEW pchx_v_rap_searchresult
|
||
(
|
||
fclt_f_datum,
|
||
fclt_f_persoon,
|
||
fclt_f_zoekterm,
|
||
resultaat,
|
||
fclt_f_keuze_type,
|
||
keuze_url,
|
||
keuze_omschrijving
|
||
)
|
||
AS
|
||
SELECT fac_gui_counter_date datum,
|
||
prs_perslid_naam_full persoon,
|
||
fgc.fac_gui_counter_info zoekterm,
|
||
COALESCE (result.result, 'Geen') resultaat,
|
||
COALESCE (choice.TYPE, 'Geen') keuze_type,
|
||
choice.url keuze_url,
|
||
choice.oms keuze_omschrijving
|
||
FROM fac_gui_counter fgc,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info url,
|
||
'Reserveerbaar artikel' TYPE,
|
||
res_artikel_omschrijving oms
|
||
FROM fac_gui_counter fgc, res_artikel ra
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%res_artikel%'
|
||
AND ra.res_artikel_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info,
|
||
'key=')
|
||
+ 4)
|
||
))
|
||
UNION
|
||
SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info,
|
||
'Reserveerbaar object',
|
||
res_deel_omschrijving
|
||
FROM fac_gui_counter fgc, res_deel rd
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%res_deel%'
|
||
AND rd.res_deel_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info,
|
||
'key=')
|
||
+ 4)
|
||
))
|
||
UNION
|
||
SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info,
|
||
'Melding',
|
||
std.mld_stdmelding_omschrijving oms
|
||
FROM fac_gui_counter fgc, mld_stdmelding std
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%stdm%'
|
||
AND std.mld_stdmelding_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info, '=')
|
||
+ 1)
|
||
))
|
||
UNION
|
||
SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info,
|
||
'Kennisbank',
|
||
fac_faq_question oms
|
||
FROM fac_gui_counter fgc, fac_faq faq
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%faq%'
|
||
AND fac_faq_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info, '=')
|
||
+ 1)
|
||
))
|
||
UNION
|
||
SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info,
|
||
'Reserveerbare ruimte',
|
||
res_ruimte_nr oms
|
||
FROM fac_gui_counter fgc, res_ruimte
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%res_ruimte%'
|
||
AND res_ruimte_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info, '=')
|
||
+ 1)
|
||
))
|
||
UNION
|
||
SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info,
|
||
'Bestelling',
|
||
ins_discipline_omschrijving
|
||
FROM fac_gui_counter fgc, bes_discipline
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%bes%'
|
||
AND ins_discipline_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info,
|
||
'dis_key=')
|
||
+ 8)
|
||
))
|
||
UNION
|
||
SELECT fac_gui_counter_refkey,
|
||
fac_gui_counter_info,
|
||
'Telefoonboek',
|
||
prs_perslid_naam_full
|
||
FROM fac_gui_counter fgc, prs_v_perslid_fullnames pf
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchchoice'
|
||
AND fac_gui_counter_info LIKE '%phone%'
|
||
AND pf.prs_perslid_key(+) =
|
||
fac.safe_to_number(SUBSTR (
|
||
fac_gui_counter_info,
|
||
(INSTR (fac_gui_counter_info, '=')
|
||
+ 1)
|
||
))) choice,
|
||
(SELECT fac_gui_counter_refkey,
|
||
REPLACE (REPLACE (fac_gui_counter_info, '{', ''), '}', '')
|
||
result
|
||
FROM fac_gui_counter fgc
|
||
WHERE fac_gui_counter_info IS NOT NULL
|
||
AND fac_gui_counter_group = 'searchresult') result
|
||
WHERE fac_gui_counter_group = 'search'
|
||
AND fgc.fac_gui_counter_info IS NOT NULL
|
||
AND fgc.prs_perslid_key = pf.prs_perslid_key
|
||
AND choice.fac_gui_counter_refkey(+) = fgc.fac_gui_counter_key
|
||
AND result.fac_gui_counter_refkey(+) = fgc.fac_gui_counter_key;
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_autorisatierol
|
||
(
|
||
fac_groep_omschrijving,
|
||
fac_functie_omschrijving,
|
||
ins_srtdiscipline_omschrijving,
|
||
ins_discipline_omschrijving,
|
||
prs_rechten,
|
||
alg_rechten
|
||
)
|
||
AS
|
||
SELECT fac_groep_omschrijving,
|
||
COALESCE(fac_locale_xsl_tekst, fac_functie_omschrijving),
|
||
ins_srtdiscipline_omschrijving,
|
||
d.ins_discipline_omschrijving,
|
||
DECODE (
|
||
fac_functie_min_level,
|
||
0,
|
||
DECODE (fac_gebruiker_prs_level_write,
|
||
9, DECODE (fac_gebruiker_prs_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
1,
|
||
DECODE (fac_gebruiker_prs_level_write,
|
||
9, DECODE (fac_gebruiker_prs_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
3,
|
||
DECODE (fac_gebruiker_prs_level_write,
|
||
9, DECODE (fac_gebruiker_prs_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
7,
|
||
DECODE (fac_gebruiker_prs_level_write,
|
||
9, DECODE (fac_gebruiker_prs_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
11,
|
||
'-',
|
||
13,
|
||
DECODE (fac_gebruiker_prs_level_read, 9, '-', 'Read'),
|
||
15,
|
||
DECODE (fac_gebruiker_prs_level_write,
|
||
9, DECODE (fac_gebruiker_prs_level_read, 9, '-', 'Read'),
|
||
'Write'))
|
||
prs_rechten,
|
||
DECODE (
|
||
fac_functie_min_level,
|
||
0,
|
||
DECODE (fac_gebruiker_alg_level_write,
|
||
9, DECODE (fac_gebruiker_alg_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
1,
|
||
DECODE (fac_gebruiker_alg_level_write,
|
||
9, DECODE (fac_gebruiker_alg_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
3,
|
||
DECODE (fac_gebruiker_alg_level_write,
|
||
9, DECODE (fac_gebruiker_alg_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
7,
|
||
'-',
|
||
11,
|
||
DECODE (fac_gebruiker_alg_level_write,
|
||
9, DECODE (fac_gebruiker_alg_level_read, 9, '-', 'Read'),
|
||
'Write'),
|
||
13,
|
||
DECODE (fac_gebruiker_alg_level_read, 9, '-', 'Read'),
|
||
15,
|
||
DECODE (fac_gebruiker_alg_level_write,
|
||
9, DECODE (fac_gebruiker_alg_level_read, 9, '-', 'Read'),
|
||
'Write'))
|
||
alg_rechten
|
||
FROM fac_groeprechten gr,
|
||
fac_groep g,
|
||
ins_tab_discipline d,
|
||
fac_functie f,
|
||
ins_srtdiscipline sd,
|
||
(SELECT fac_locale_xsl_label, fac_locale_xsl_tekst
|
||
FROM fac_locale_xsl
|
||
WHERE fac_locale_xsl_lang = 'NL') l
|
||
WHERE gr.fac_groep_key = g.fac_groep_key
|
||
AND gr.ins_discipline_key = d.ins_discipline_key(+)
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
|
||
AND gr.fac_functie_key = f.fac_functie_key
|
||
AND f.fac_functie_omschrijving = fac_locale_xsl_label(+);
|
||
|
||
/* Formatted on 1-6-2017 8:40:22 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW pchx_v_autorisatie
|
||
(
|
||
prs_perslid_naam_full,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving,
|
||
prs_bedrijf_naam,
|
||
fac_groep_omschrijving
|
||
)
|
||
AS
|
||
SELECT prs_perslid_naam_full,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving,
|
||
prs_bedrijf_naam,
|
||
fac_groep_omschrijving
|
||
FROM fac_gebruikersgroep gg,
|
||
fac_groep g,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf b
|
||
WHERE gg.fac_groep_key = g.fac_groep_key
|
||
AND gg.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = b.prs_bedrijf_key;
|
||
|
||
|
||
-- Organisastie brede view voor het tonen van het aantal meldingen per dag met een tijdspanne van een week
|
||
CREATE OR REPLACE VIEW pchx_aant_per_dag
|
||
(
|
||
mld_melding_datum
|
||
)
|
||
AS
|
||
SELECT mld_melding_datum
|
||
FROM mld_melding
|
||
WHERE TO_CHAR (mld_melding_datum, 'D') NOT IN (1, 7)
|
||
AND TRUNC (mld_melding_datum) NOT IN
|
||
(SELECT TRUNC (mld_vrije_dagen_datum) FROM mld_vrije_dagen)
|
||
AND mld_melding_datum > SYSDATE - 7
|
||
AND NOT mld_melding_datum > SYSDATE;
|
||
|
||
-- Organisastie brede view voor het tonen van het aantal meldingen per maand met een tijdspanne van een jaar
|
||
CREATE OR REPLACE VIEW pchx_v_aant_mld_per_maand
|
||
(
|
||
mld_melding_datum
|
||
)
|
||
AS
|
||
SELECT TRUNC(mld_melding_datum)
|
||
FROM mld_melding
|
||
WHERE TO_CHAR (mld_melding_datum, 'D') NOT IN (1, 7)
|
||
AND TRUNC (mld_melding_datum) NOT IN
|
||
(SELECT TRUNC (mld_vrije_dagen_datum) FROM mld_vrije_dagen)
|
||
AND mld_melding_datum > ADD_MONTHS (SYSDATE, -11)
|
||
AND NOT mld_melding_datum > SYSDATE;
|
||
|
||
-- Organisastie brede view voor het tonen van het aantal meldingen per locatie
|
||
CREATE OR REPLACE VIEW pchx_open_meldingen_locatie
|
||
AS
|
||
SELECT mld_melding_key,
|
||
mld_alg_locatie_key,
|
||
alg_locatie_key,
|
||
mld_melding_status,
|
||
alg_locatie_omschrijving
|
||
FROM mld_melding, alg_locatie
|
||
WHERE mld_alg_locatie_key = alg_locatie_key
|
||
AND mld_melding_status IS NOT NULL
|
||
AND mld_melding_status <> 5;
|
||
|
||
-- Organisastie brede view voor het tonen van het aantal opgelost binnen SLA
|
||
CREATE OR REPLACE VIEW pchx_v_graph_optijd_sla
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_
|
||
)
|
||
AS
|
||
SELECT SUM (acceptoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key
|
||
mld_key,
|
||
CASE SIGN (
|
||
fac.datumtijdplusuitvoertijd (
|
||
fac.gettrackingdate ('MLDNEW',
|
||
m.mld_melding_key),
|
||
std.mld_stdmelding_t_accepttijd.tijdsduur,
|
||
std.mld_stdmelding_t_accepttijd.eenheid)
|
||
- COALESCE (
|
||
fac.gettrackingdate ('MLDREJ',
|
||
m.mld_melding_key),
|
||
COALESCE (
|
||
fac.gettrackingdate ('MLDACP',
|
||
m.mld_melding_key),
|
||
SYSDATE)))
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
acceptoptijd
|
||
FROM mld_melding m,
|
||
mld_discipline md,
|
||
mld_stdmelding std,
|
||
ins_srtdiscipline sd
|
||
WHERE md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND md.ins_srtdiscipline_key = sd.INS_SRTDISCIPLINE_KEY
|
||
AND sd.INS_SRTDISCIPLINE_KEY = 102 --Aangegeven dat het alleen om storingen gaat
|
||
--AND m.mld_melding_datum >= SYSDATE -7 --Bepaling tijdspanne
|
||
--TO_DATE ('01-01-1990','DD-MM-YYYY') --Alternatieve bepaling tijdspanne
|
||
AND mld_melding_status NOT IN (1, 5, 6)
|
||
AND mld_melding_datum > SYSDATE - 7
|
||
AND NOT mld_melding_datum > SYSDATE);
|
||
|
||
--Klant specifieke view voor het tonen van alle nieuwe meldingen gesorteerd op THT
|
||
/*
|
||
CREATE OR REPLACE VIEW pchx_v_lijst_nieuwe_mld
|
||
AS
|
||
SELECT meldingnummer,
|
||
productgroep,
|
||
melding_ruimte,
|
||
onderwerp,
|
||
melding_status,
|
||
ROUND (
|
||
mld_t_uitvoertijd (
|
||
m.min_t_sla.tijdsduur + m.max_t_respijt.tijdsduur,
|
||
m.min_t_sla.eenheid).tijdsduur,
|
||
2)
|
||
tht
|
||
FROM mld_v_udr_melding mu, pchx_v_startmelding_geg m
|
||
WHERE MELDING_STATUS IN ('Nieuw', 'Te accepteren')
|
||
AND mu.melding_key = m_start
|
||
ORDER BY tht;
|
||
*/
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_kostenplaatsen
|
||
AS
|
||
SELECT prs_kostenplaats_key,
|
||
prs_kostenplaats_nr || ' - ' || prs_kostenplaats_omschrijving
|
||
prs_kostenplaats_omschrijving,
|
||
COALESCE (prs_kostenplaats_verwijder, prs_kostenplaats_eind)
|
||
prs_kostenplaats_eind
|
||
FROM prs_kostenplaats;
|
||
|
||
--PCHD#54161 - Rapportage verwijderde facturen
|
||
CREATE OR REPLACE VIEW pchx_v_fintrack
|
||
(FACTUUR_KEY,
|
||
TRACKING_KEY,
|
||
TRACKING_DATUM,
|
||
TRACKING_OMS,
|
||
NAAM,
|
||
NOTI_CODE,
|
||
STATUS_OUD,
|
||
STATUS_NIEUW)
|
||
AS
|
||
SELECT
|
||
f.factuur_key,
|
||
t.fac_tracking_key,
|
||
t.fac_tracking_datum,
|
||
t.fac_tracking_oms,
|
||
p.prs_perslid_naam_friendly,
|
||
sn.fac_srtnotificatie_code,
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Status:%'
|
||
THEN
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Status:') + 8,
|
||
INSTR (
|
||
SUBSTR (t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Status:') + 9,
|
||
100),
|
||
' --> '))
|
||
ELSE
|
||
''
|
||
END
|
||
AS status_oud,
|
||
CASE
|
||
WHEN t.fac_tracking_oms LIKE '%Status:%'
|
||
THEN
|
||
SUBSTR (
|
||
SUBSTR (t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Status:') + 10,
|
||
999),
|
||
INSTR (
|
||
SUBSTR (t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Status:') + 10,
|
||
999),
|
||
' --> ')
|
||
+ 5,
|
||
INSTR (
|
||
SUBSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Status:') + 14
|
||
+ INSTR (
|
||
SUBSTR (
|
||
t.fac_tracking_oms,
|
||
INSTR (t.fac_tracking_oms, 'Status:')
|
||
+ 10,
|
||
999),
|
||
' --> ')),
|
||
0),
|
||
CHR (10)))
|
||
ELSE
|
||
''
|
||
END
|
||
AS status_nieuw
|
||
FROM fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
fin_v_udr_factuur f,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND SUBSTR (sn.fac_srtnotificatie_code, 1, 3) = 'FIN'
|
||
AND t.fac_tracking_refkey = f.factuur_key
|
||
AND p.prs_perslid_key = t.prs_perslid_key;
|
||
|
||
--PCHD#54161 - Rapportage verwijderde facturen
|
||
CREATE OR REPLACE VIEW pchx_v_rap_finfno
|
||
(FACTUUR_KEY,
|
||
FACTUUR_DATUM,
|
||
UITVOERENDE,
|
||
LEVERANCIER_NR,
|
||
FACTUURNR_EXTERN,
|
||
FACTUUR_VOOR,
|
||
OPDRACHTNR,
|
||
OPDRACHT_KEY,
|
||
CONTRACT_KEY,
|
||
BESTELLING_KEY,
|
||
KOSTENPLAATS,
|
||
KOSTENPLAATS_EXTERN,
|
||
DISCIPLINE_OMSCHRIJVING,
|
||
CATALOGUS,
|
||
KOSTENSOORT,
|
||
KOSTENSOORT_OPMERKING,
|
||
KOSTENSOORT_REFCODE,
|
||
KOSTENSOORT_ALTCODE,
|
||
KOSTENSOORT_BTW,
|
||
STDMELDING_OMSCHRIJVING,
|
||
BEDRAG_INCL_BTW,
|
||
BEDRAG_EXCL_BTW,
|
||
HUIDIGE_STATUS_MELDING,
|
||
STATUS_MELDING_AFWIJZING,
|
||
OPMERKING,
|
||
BUDGETHOUDER,
|
||
DATUM_WIJZIGING,
|
||
NAAM_WIJZIGING,
|
||
GROOTBOEKREKENING,
|
||
AF_BEDRIJF)
|
||
AS
|
||
SELECT f.factuur_key,
|
||
f.factuur_datum,
|
||
f.uitvoerende,
|
||
f.leverancier_nr,
|
||
f.factuurnr_extern,
|
||
f.factuur_voor,
|
||
f.opdrachtnr,
|
||
f.opdracht_key,
|
||
f.contract_key,
|
||
f.bestelling_key,
|
||
f.kostenplaats,
|
||
f.kostenplaats_extern,
|
||
f.discipline_omschrijving,
|
||
f.catalogus,
|
||
f.kostensoort,
|
||
f.kostensoort_opmerking,
|
||
f.kostensoort_refcode,
|
||
f.kostensoort_altcode,
|
||
f.kostensoort_btw,
|
||
f.stdmelding_omschrijving,
|
||
f.bedrag_incl_btw,
|
||
f.bedrag_excl_btw,
|
||
f.status,
|
||
(SELECT t2.status_nieuw
|
||
FROM pchx_v_fintrack t2
|
||
WHERE t2.tracking_key =
|
||
(SELECT MAX(t2.tracking_key)
|
||
FROM pchx_v_fintrack t2
|
||
WHERE t2.status_nieuw IS NOT NULL
|
||
AND t2.tracking_key < t1.fac_tracking_key)) AS status_melding_afwijzing,
|
||
f.opmerking,
|
||
f.budgethouder,
|
||
t1.fac_tracking_datum,
|
||
p.prs_perslid_naam_friendly,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM fin_kenmerkfactuur kf, fin_kenmerk k, fac_kenmerkdomein fkd, fac_usrdata ud
|
||
WHERE k.fin_kenmerk_key = 21 -- Key voor aanvullend gegeven Grootboekrekening
|
||
AND f.factuur_key = kf.fin_factuur_key
|
||
AND k.fin_kenmerk_key = kf.fin_kenmerk_key
|
||
AND fkd.fac_kenmerkdomein_key = k.fac_kenmerkdomein_key
|
||
AND ud.fac_usrtab_key = fkd.fac_usrtab_key
|
||
AND kf.fin_kenmerkfactuur_waarde = ud.fac_usrdata_key),
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM fin_kenmerkfactuur kf, fin_kenmerk k, fac_kenmerkdomein fkd, pchx_v_fin_bedrijf b
|
||
WHERE k.fin_kenmerk_key = 41 -- Key voor aanvullend gegeven Afw. bedrijf
|
||
AND f.factuur_key = kf.fin_factuur_key
|
||
AND k.fin_kenmerk_key = kf.fin_kenmerk_key
|
||
AND fkd.fac_kenmerkdomein_key = k.fac_kenmerkdomein_key
|
||
AND kf.fin_kenmerkfactuur_waarde = b.prs_bedrijf_key)
|
||
FROM fin_v_udr_factuur f,
|
||
fac_tracking t1,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE t1.fac_tracking_refkey = f.factuur_key
|
||
AND sn.fac_srtnotificatie_key = t1.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'FINFNO'
|
||
AND p.prs_perslid_key = t1.prs_perslid_key;
|
||
|
||
|
||
-- Koppeling om crediteurgegevens vanuit PCHD te verspreiden over de andere PCH omgevingen.
|
||
CREATE OR REPLACE PROCEDURE pchx_import_bedrijf_gegevens (
|
||
p_import_key NUMBER)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
v_bedrijf_key VARCHAR2 (1000);
|
||
v_bedrijf_naam VARCHAR2 (1000);
|
||
v_bedrijf_post_adres VARCHAR2 (1000);
|
||
v_bedrijf_post_postcode VARCHAR2 (1000);
|
||
v_bedrijf_post_plaats VARCHAR2 (1000);
|
||
v_bedrijf_post_land VARCHAR2 (1000);
|
||
v_bedrijf_bezoek_adres VARCHAR2 (1000);
|
||
v_bedrijf_bezoek_postcode VARCHAR2 (1000);
|
||
v_bedrijf_bezoek_plaats VARCHAR2 (1000);
|
||
v_bedrijf_bezoek_land VARCHAR2 (1000);
|
||
v_bedrijf_telefoon VARCHAR2 (1000);
|
||
v_bedrijf_fax VARCHAR2 (1000);
|
||
v_bedrijf_telefoon2 VARCHAR2 (1000);
|
||
v_bedrijf_contact_persoon VARCHAR2 (1000);
|
||
v_bedrijf_contact_telefoon VARCHAR2 (1000);
|
||
v_bedrijf_contact_fax VARCHAR2 (1000);
|
||
v_bedrijf_opmerking VARCHAR2 (1000);
|
||
v_bedrijf_opmerking2 VARCHAR2 (1000);
|
||
v_bedrijf_uurloon VARCHAR2 (1000);
|
||
v_leverancier_nr VARCHAR2 (1000);
|
||
v_overeenkomst_nr VARCHAR2 (1000);
|
||
v_overeenkomst_datum VARCHAR2 (1000);
|
||
v_bedrijf_email VARCHAR2 (1000);
|
||
v_bedrijf_order_confirm VARCHAR2 (1000);
|
||
v_bedrijf_image_loc VARCHAR2 (1000);
|
||
v_bedrijf_details_loc VARCHAR2 (1000);
|
||
v_bedrijf_xmldetails_loc VARCHAR2 (1000);
|
||
v_bedrijf_xmlcatalogus_loc VARCHAR2 (1000);
|
||
v_bedrijf_bes_limiet VARCHAR2 (1000);
|
||
v_bedrijf_bes_kosten VARCHAR2 (1000);
|
||
v_bedrijf_aanmaak VARCHAR2 (1000);
|
||
v_bedrijf_verwijder VARCHAR2 (1000);
|
||
v_bedrijf_leverancier VARCHAR2 (1000);
|
||
v_bedrijf_uitvoerende VARCHAR2 (1000);
|
||
v_bedrijf_contract VARCHAR2 (1000);
|
||
v_bedrijf_intern VARCHAR2 (1000);
|
||
v_bedrijf_huurder VARCHAR2 (1000);
|
||
v_bedrijf_bezoeker VARCHAR2 (1000);
|
||
v_bedrijf_ingids VARCHAR2 (1000);
|
||
v_bedrijf_bes_factor VARCHAR2 (1000);
|
||
v_relatietype_omschrijving VARCHAR2 (1000);
|
||
v_bedrijfadres_key VARCHAR2 (1000);
|
||
v_bedrijfadres_type VARCHAR2 (1000);
|
||
v_typeopdr_omschrijving VARCHAR2 (1000);
|
||
v_bedrijfadres_url VARCHAR2 (1000);
|
||
v_bedrijfadres_ordermode VARCHAR2 (1000);
|
||
v_bedrijfadres_certificate VARCHAR2 (1000);
|
||
v_bedrijfadres_xsl VARCHAR2 (1000);
|
||
v_bedrijfadres_ext VARCHAR2 (1000);
|
||
v_bedrijfadres_username VARCHAR2 (1000);
|
||
v_bedrijfadres_password VARCHAR2 (1000);
|
||
v_bedrijfadres_attachfile VARCHAR2 (1000);
|
||
v_bedrijfadres_flexfiles VARCHAR2 (1000);
|
||
v_bedrijfadres_encoding VARCHAR2 (1000);
|
||
v_bedrijfadres_authmethod VARCHAR2 (1000);
|
||
v_bedrijfadres_soapversion VARCHAR2 (1000);
|
||
v_bedrijfadres_soapaction VARCHAR2 (1000);
|
||
v_bedrijfadres_lockuser_naam VARCHAR2 (1000);
|
||
v_bedrijfadres_locksecret VARCHAR2 (1000);
|
||
v_bedrijfadres_lockexpire VARCHAR2 (1000);
|
||
v_typeopdr_key NUMBER (10);
|
||
v_relatietype_key NUMBER (10);
|
||
v_bedrijfadres_lockuser_key NUMBER (10);
|
||
|
||
v_newline VARCHAR2 (4000); -- Import line
|
||
v_field VARCHAR2 (1000); -- Import field
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
v_ongeldig NUMBER (1);
|
||
v_header_is_valid NUMBER (1) := 0;
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
v_fielddelimitor := ';';
|
||
|
||
DELETE pchx_imp_bedrijf_gegevens;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec.fac_imp_file_line;
|
||
v_ongeldig := 0;
|
||
|
||
IF v_header_is_valid = 1
|
||
THEN
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_key);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_naam);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_post_adres);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_post_postcode);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_post_plaats);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_post_land);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bezoek_adres);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bezoek_postcode);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bezoek_plaats);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bezoek_land);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_telefoon);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_fax);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_telefoon2);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_contact_persoon);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_contact_telefoon);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_contact_fax);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_opmerking);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_opmerking2);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_uurloon);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_leverancier_nr);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_overeenkomst_nr);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_overeenkomst_datum);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_email);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_order_confirm);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_image_loc);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_details_loc);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_xmldetails_loc);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_xmlcatalogus_loc);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bes_limiet);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bes_kosten);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_aanmaak);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_verwijder);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_leverancier);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_uitvoerende);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_contract);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_intern);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_huurder);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bezoeker);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_ingids);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijf_bes_factor);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_relatietype_omschrijving);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_key);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_type);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_typeopdr_omschrijving);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_url);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_ordermode);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_certificate);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_xsl);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_ext);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_username);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_password);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_attachfile);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_flexfiles);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_encoding);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_authmethod);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_soapversion);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_soapaction);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_lockuser_naam);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_locksecret);
|
||
fac.imp_getfield (v_newline,
|
||
v_fielddelimitor,
|
||
v_bedrijfadres_lockexpire);
|
||
|
||
|
||
SELECT MAX (prs_relatietype_key)
|
||
INTO v_relatietype_key
|
||
FROM prs_relatietype rt
|
||
WHERE UPPER (rt.prs_relatietype_omschrijving) =
|
||
UPPER (v_relatietype_omschrijving);
|
||
|
||
IF v_relatietype_omschrijving IS NOT NULL AND v_relatietype_key IS NULL
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Relateietype niet gevonden: ' || v_relatietype_omschrijving, '');
|
||
v_ongeldig := 1;
|
||
END IF;
|
||
|
||
SELECT MAX (mld_typeopdr_key)
|
||
INTO v_typeopdr_key
|
||
FROM mld_typeopdr ot
|
||
WHERE UPPER (ot.mld_typeopdr_omschrijving) =
|
||
UPPER (v_typeopdr_omschrijving);
|
||
|
||
IF v_typeopdr_omschrijving IS NOT NULL AND v_typeopdr_key IS NULL
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Opdrachttype niet gevonden: ' || v_typeopdr_omschrijving, '');
|
||
v_ongeldig := 1;
|
||
END IF;
|
||
|
||
SELECT MAX (prs_perslid_key)
|
||
INTO v_bedrijfadres_lockuser_key
|
||
FROM prs_perslid p
|
||
WHERE UPPER (p.prs_perslid_naam) =
|
||
UPPER (v_bedrijfadres_lockuser_naam);
|
||
|
||
IF v_bedrijfadres_lockuser_naam IS NOT NULL AND v_bedrijfadres_lockuser_key IS NULL
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Lockuser niet gevonden: ' || v_bedrijfadres_lockuser_naam, '');
|
||
v_ongeldig := 1;
|
||
END IF;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
INSERT INTO pchx_imp_bedrijf_gegevens (
|
||
prs_bedrijf_key,
|
||
prs_bedrijf_naam,
|
||
prs_bedrijf_post_adres,
|
||
prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats,
|
||
prs_bedrijf_post_land,
|
||
prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode,
|
||
prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_bezoek_land,
|
||
prs_bedrijf_telefoon,
|
||
prs_bedrijf_fax,
|
||
prs_bedrijf_telefoon2,
|
||
prs_bedrijf_contact_persoon,
|
||
prs_bedrijf_contact_telefoon,
|
||
prs_bedrijf_contact_fax,
|
||
prs_bedrijf_opmerking,
|
||
prs_bedrijf_opmerking2,
|
||
prs_bedrijf_uurloon,
|
||
prs_leverancier_nr,
|
||
prs_overeenkomst_nr,
|
||
prs_overeenkomst_datum,
|
||
prs_bedrijf_email,
|
||
prs_bedrijf_order_confirm,
|
||
prs_bedrijf_image_loc,
|
||
prs_bedrijf_details_loc,
|
||
prs_bedrijf_xmldetails_loc,
|
||
prs_bedrijf_xmlcatalogus_loc,
|
||
prs_bedrijf_bes_limiet,
|
||
prs_bedrijf_bes_kosten,
|
||
prs_bedrijf_aanmaak,
|
||
prs_bedrijf_verwijder,
|
||
prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende,
|
||
prs_bedrijf_contract,
|
||
prs_bedrijf_intern,
|
||
prs_bedrijf_huurder,
|
||
prs_bedrijf_bezoeker,
|
||
prs_bedrijf_ingids,
|
||
prs_bedrijf_bes_factor,
|
||
prs_relatietype_key,
|
||
prs_bedrijfadres_key,
|
||
prs_bedrijfadres_type,
|
||
mld_typeopdr_key,
|
||
prs_bedrijfadres_url,
|
||
prs_bedrijfadres_ordermode,
|
||
prs_bedrijfadres_certificate,
|
||
prs_bedrijfadres_xsl,
|
||
prs_bedrijfadres_ext,
|
||
prs_bedrijfadres_username,
|
||
prs_bedrijfadres_password,
|
||
prs_bedrijfadres_attachfile,
|
||
prs_bedrijfadres_flexfiles,
|
||
prs_bedrijfadres_encoding,
|
||
prs_bedrijfadres_authmethod,
|
||
prs_bedrijfadres_soapversion,
|
||
prs_bedrijfadres_soapaction,
|
||
prs_bedrijfadres_lockuser_key,
|
||
prs_bedrijfadres_locksecret,
|
||
prs_bedrijfadres_lockexpire)
|
||
VALUES (
|
||
v_bedrijf_key,
|
||
v_bedrijf_naam,
|
||
v_bedrijf_post_adres,
|
||
v_bedrijf_post_postcode,
|
||
v_bedrijf_post_plaats,
|
||
v_bedrijf_post_land,
|
||
v_bedrijf_bezoek_adres,
|
||
v_bedrijf_bezoek_postcode,
|
||
v_bedrijf_bezoek_plaats,
|
||
v_bedrijf_bezoek_land,
|
||
v_bedrijf_telefoon,
|
||
v_bedrijf_fax,
|
||
v_bedrijf_telefoon2,
|
||
v_bedrijf_contact_persoon,
|
||
v_bedrijf_contact_telefoon,
|
||
v_bedrijf_contact_fax,
|
||
SUBSTR(v_bedrijf_opmerking,0,320),
|
||
SUBSTR(v_bedrijf_opmerking2,0,320),
|
||
FAC.safe_to_number(REPLACE(v_bedrijf_uurloon, ',', '.')),
|
||
v_leverancier_nr,
|
||
v_overeenkomst_nr,
|
||
FAC.safe_to_date (
|
||
v_overeenkomst_datum,
|
||
'yyyy-mm-dd hh24:mi:ss'),
|
||
v_bedrijf_email,
|
||
v_bedrijf_order_confirm,
|
||
v_bedrijf_image_loc,
|
||
v_bedrijf_details_loc,
|
||
v_bedrijf_xmldetails_loc,
|
||
v_bedrijf_xmlcatalogus_loc,
|
||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_limiet, ',', '.')),
|
||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_kosten, ',', '.')),
|
||
FAC.safe_to_date (
|
||
v_bedrijf_aanmaak,
|
||
'yyyy-mm-dd hh24:mi:ss'),
|
||
FAC.safe_to_date (
|
||
v_bedrijf_verwijder,
|
||
'yyyy-mm-dd hh24:mi:ss'),
|
||
v_bedrijf_leverancier,
|
||
v_bedrijf_uitvoerende,
|
||
v_bedrijf_contract,
|
||
v_bedrijf_intern,
|
||
v_bedrijf_huurder,
|
||
v_bedrijf_bezoeker,
|
||
v_bedrijf_ingids,
|
||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_factor, ',', '.')),
|
||
v_relatietype_key,
|
||
v_bedrijfadres_key,
|
||
v_bedrijfadres_type,
|
||
v_typeopdr_key,
|
||
v_bedrijfadres_url,
|
||
v_bedrijfadres_ordermode,
|
||
v_bedrijfadres_certificate,
|
||
v_bedrijfadres_xsl,
|
||
v_bedrijfadres_ext,
|
||
v_bedrijfadres_username,
|
||
v_bedrijfadres_password,
|
||
v_bedrijfadres_attachfile,
|
||
v_bedrijfadres_flexfiles,
|
||
v_bedrijfadres_encoding,
|
||
v_bedrijfadres_authmethod,
|
||
v_bedrijfadres_soapversion,
|
||
v_bedrijfadres_soapaction,
|
||
v_bedrijfadres_lockuser_key,
|
||
v_bedrijfadres_locksecret,
|
||
v_bedrijfadres_lockexpire);
|
||
END IF;
|
||
ELSE
|
||
IF LOWER (v_newline) LIKE
|
||
'prs_bedrijf_key;prs_bedrijf_naam;prs_bedrijf_post_adres;prs_bedrijf_post_postcode;prs_bedrijf_post_plaats;prs_bedrijf_post_land;prs_bedrijf_bezoek_adres;prs_bedrijf_bezoek_postcode;prs_bedrijf_bezoek_plaats;prs_bedrijf_bezoek_land;prs_bedrijf_telefoon;prs_bedrijf_fax;prs_bedrijf_telefoon2;prs_bedrijf_contact_persoon;prs_bedrijf_contact_telefoon;prs_bedrijf_contact_fax;prs_bedrijf_opmerking;prs_bedrijf_opmerking2;prs_bedrijf_uurloon;prs_leverancier_nr;prs_overeenkomst_nr;prs_overeenkomst_datum;prs_bedrijf_email;prs_bedrijf_order_confirm;prs_bedrijf_image_loc;prs_bedrijf_details_loc;prs_bedrijf_xmldetails_loc;prs_bedrijf_xmlcatalogus_loc;prs_bedrijf_bes_limiet;prs_bedrijf_bes_kosten;prs_bedrijf_aanmaak;prs_bedrijf_verwijder;prs_bedrijf_leverancier;prs_bedrijf_uitvoerende;prs_bedrijf_contract;prs_bedrijf_intern;prs_bedrijf_huurder;prs_bedrijf_bezoeker;prs_bedrijf_ingids;prs_bedrijf_bes_factor;prs_relatietype_omschrijving;prs_bedrijfadres_key;prs_bedrijfadres_type;mld_typeopdr_omschrijving;prs_bedrijfadres_url;prs_bedrijfadres_ordermode;prs_bedrijfadres_certificate;prs_bedrijfadres_xsl;prs_bedrijfadres_ext;prs_bedrijfadres_username;prs_bedrijfadres_password;prs_bedrijfadres_attachfile;prs_bedrijfadres_flexfiles;prs_bedrijfadres_encoding;prs_bedrijfadres_authmethod;prs_bedrijfadres_soapversion;prs_bedrijfadres_soapaction;bedrijfadres_lockuser_naam;prs_bedrijfadres_locksecret;prs_bedrijfadres_lockexpire%'
|
||
THEN
|
||
v_header_is_valid := 1;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_update_bedrijf_gegevens (
|
||
p_import_key NUMBER)
|
||
AS
|
||
CURSOR c IS
|
||
SELECT DISTINCT prs_bedrijf_key,
|
||
prs_bedrijf_naam,
|
||
prs_bedrijf_post_adres,
|
||
prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats,
|
||
prs_bedrijf_post_land,
|
||
prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode,
|
||
prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_bezoek_land,
|
||
prs_bedrijf_telefoon,
|
||
prs_bedrijf_fax,
|
||
prs_bedrijf_telefoon2,
|
||
prs_bedrijf_contact_persoon,
|
||
prs_bedrijf_contact_telefoon,
|
||
prs_bedrijf_contact_fax,
|
||
prs_bedrijf_opmerking,
|
||
prs_bedrijf_opmerking2,
|
||
prs_bedrijf_uurloon,
|
||
prs_leverancier_nr,
|
||
prs_overeenkomst_nr,
|
||
prs_overeenkomst_datum,
|
||
prs_bedrijf_email,
|
||
prs_bedrijf_order_confirm,
|
||
prs_bedrijf_image_loc,
|
||
prs_bedrijf_details_loc,
|
||
prs_bedrijf_xmldetails_loc,
|
||
prs_bedrijf_xmlcatalogus_loc,
|
||
prs_bedrijf_bes_limiet,
|
||
prs_bedrijf_bes_kosten,
|
||
prs_bedrijf_aanmaak,
|
||
prs_bedrijf_verwijder,
|
||
prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende,
|
||
prs_bedrijf_contract,
|
||
prs_bedrijf_intern,
|
||
prs_bedrijf_huurder,
|
||
prs_bedrijf_bezoeker,
|
||
prs_bedrijf_ingids,
|
||
prs_bedrijf_bes_factor,
|
||
prs_relatietype_key
|
||
FROM pchx_imp_bedrijf_gegevens;
|
||
|
||
CURSOR c_addr (c_bedrijf_key NUMBER)
|
||
IS
|
||
SELECT DISTINCT prs_bedrijfadres_type,
|
||
mld_typeopdr_key,
|
||
prs_bedrijfadres_url,
|
||
prs_bedrijfadres_ordermode,
|
||
prs_bedrijfadres_certificate,
|
||
prs_bedrijfadres_xsl,
|
||
prs_bedrijfadres_ext,
|
||
prs_bedrijfadres_username,
|
||
prs_bedrijfadres_password,
|
||
prs_bedrijfadres_attachfile,
|
||
prs_bedrijfadres_flexfiles,
|
||
prs_bedrijfadres_encoding,
|
||
prs_bedrijfadres_authmethod,
|
||
prs_bedrijfadres_soapversion,
|
||
prs_bedrijfadres_soapaction,
|
||
prs_bedrijfadres_lockuser_key,
|
||
prs_bedrijfadres_locksecret,
|
||
prs_bedrijfadres_lockexpire
|
||
FROM pchx_imp_bedrijf_gegevens
|
||
WHERE prs_bedrijf_key = c_bedrijf_key
|
||
AND prs_bedrijfadres_type IS NOT NULL;
|
||
|
||
|
||
v_leverancier_nr prs_bedrijf.prs_leverancier_nr%TYPE;
|
||
v_bedrijf_key prs_bedrijf.prs_bedrijf_key%TYPE;
|
||
v_bedrijf_key_pchd prs_bedrijf.prs_bedrijf_key%TYPE;
|
||
v_bedrijfadres_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
|
||
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_bedrijf_key_pchd := rec.prs_bedrijf_key;
|
||
|
||
v_errorhint := 'Zoek bedrijf';
|
||
SELECT MAX(prs_bedrijf_key)
|
||
INTO v_bedrijf_key
|
||
FROM prs_bedrijf
|
||
WHERE prs_leverancier_nr = rec.prs_leverancier_nr;
|
||
|
||
IF v_bedrijf_key IS NULL
|
||
THEN
|
||
v_errorhint := 'Voeg bedrijf toe';
|
||
INSERT INTO prs_bedrijf (prs_bedrijf_naam)
|
||
VALUES (rec.prs_bedrijf_naam)
|
||
RETURNING prs_bedrijf_key
|
||
INTO v_bedrijf_key;
|
||
END IF;
|
||
|
||
v_errorhint := 'Update bedrijf';
|
||
UPDATE prs_bedrijf b
|
||
SET prs_bedrijf_naam = rec.prs_bedrijf_naam,
|
||
prs_bedrijf_post_adres = rec.prs_bedrijf_post_adres,
|
||
prs_bedrijf_post_postcode = rec.prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats = rec.prs_bedrijf_post_plaats,
|
||
prs_bedrijf_post_land = rec.prs_bedrijf_post_land,
|
||
prs_bedrijf_bezoek_adres = rec.prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode = rec.prs_bedrijf_bezoek_postcode,
|
||
prs_bedrijf_bezoek_plaats = rec.prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_bezoek_land = rec.prs_bedrijf_bezoek_land,
|
||
prs_bedrijf_telefoon = rec.prs_bedrijf_telefoon,
|
||
prs_bedrijf_fax = rec.prs_bedrijf_fax,
|
||
prs_bedrijf_telefoon2 = rec.prs_bedrijf_telefoon2,
|
||
prs_bedrijf_contact_persoon = rec.prs_bedrijf_contact_persoon,
|
||
prs_bedrijf_contact_telefoon = rec.prs_bedrijf_contact_telefoon,
|
||
prs_bedrijf_contact_fax = rec.prs_bedrijf_contact_fax,
|
||
prs_bedrijf_opmerking = rec.prs_bedrijf_opmerking,
|
||
prs_bedrijf_opmerking2 = rec.prs_bedrijf_opmerking2,
|
||
prs_bedrijf_uurloon = rec.prs_bedrijf_uurloon,
|
||
prs_leverancier_nr = rec.prs_leverancier_nr,
|
||
prs_overeenkomst_nr = rec.prs_overeenkomst_nr,
|
||
prs_overeenkomst_datum = rec.prs_overeenkomst_datum,
|
||
prs_bedrijf_email = rec.prs_bedrijf_email,
|
||
prs_bedrijf_order_confirm = rec.prs_bedrijf_order_confirm,
|
||
prs_bedrijf_image_loc = rec.prs_bedrijf_image_loc,
|
||
prs_bedrijf_details_loc = rec.prs_bedrijf_details_loc,
|
||
prs_bedrijf_xmldetails_loc = rec.prs_bedrijf_xmldetails_loc,
|
||
prs_bedrijf_xmlcatalogus_loc = rec.prs_bedrijf_xmlcatalogus_loc,
|
||
prs_bedrijf_bes_limiet = rec.prs_bedrijf_bes_limiet,
|
||
prs_bedrijf_bes_kosten = rec.prs_bedrijf_bes_kosten,
|
||
prs_bedrijf_aanmaak = rec.prs_bedrijf_aanmaak,
|
||
prs_bedrijf_verwijder = rec.prs_bedrijf_verwijder,
|
||
prs_bedrijf_leverancier = rec.prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende = rec.prs_bedrijf_uitvoerende,
|
||
prs_bedrijf_contract = rec.prs_bedrijf_contract,
|
||
prs_bedrijf_intern = rec.prs_bedrijf_intern,
|
||
prs_bedrijf_huurder = rec.prs_bedrijf_huurder,
|
||
prs_bedrijf_bezoeker = rec.prs_bedrijf_bezoeker,
|
||
prs_bedrijf_ingids = rec.prs_bedrijf_ingids,
|
||
prs_bedrijf_bes_factor = rec.prs_bedrijf_bes_factor,
|
||
prs_relatietype_key = rec.prs_relatietype_key
|
||
WHERE b.prs_bedrijf_key = v_bedrijf_key;
|
||
|
||
FOR rec1 IN c_addr (v_bedrijf_key_pchd)
|
||
LOOP
|
||
BEGIN
|
||
|
||
v_errorhint := 'Zoek bedrijfaddres';
|
||
SELECT prs_bedrijfadres_key
|
||
INTO v_bedrijfadres_key
|
||
FROM prs_bedrijfadres
|
||
WHERE prs_bedrijf_key = v_bedrijf_key
|
||
AND COALESCE (mld_typeopdr_key, -1) = COALESCE (rec1.mld_typeopdr_key, -1)
|
||
AND prs_bedrijfadres_type = rec1.prs_bedrijfadres_type;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_errorhint := 'Voeg bedrijfaddres toe';
|
||
INSERT INTO prs_bedrijfadres (prs_bedrijf_key,
|
||
mld_typeopdr_key,
|
||
prs_bedrijfadres_type)
|
||
VALUES (v_bedrijf_key,
|
||
rec1.mld_typeopdr_key,
|
||
rec1.prs_bedrijfadres_type)
|
||
RETURNING prs_bedrijfadres_key
|
||
INTO v_bedrijfadres_key;
|
||
END;
|
||
|
||
v_errorhint := 'Pas bedrijfaddres aan';
|
||
UPDATE prs_bedrijfadres
|
||
SET prs_bedrijfadres_url = rec1.prs_bedrijfadres_url,
|
||
prs_bedrijfadres_ordermode = rec1.prs_bedrijfadres_ordermode,
|
||
prs_bedrijfadres_certificate = rec1.prs_bedrijfadres_certificate,
|
||
prs_bedrijfadres_xsl = DECODE (UPPER (REPLACE(rec1.prs_bedrijfadres_xsl, '\', '/')), -- '
|
||
'XSL/PCHD.XSL', 'xsl/' || SUBSTR (USER, 1, 4) || '.xsl',
|
||
rec1.prs_bedrijfadres_xsl),
|
||
prs_bedrijfadres_ext = rec1.prs_bedrijfadres_ext,
|
||
prs_bedrijfadres_username = rec1.prs_bedrijfadres_username,
|
||
prs_bedrijfadres_password = rec1.prs_bedrijfadres_password,
|
||
prs_bedrijfadres_attachfile = 'Alg. inkoopvoorwaarden PCH IFMS.pdf',
|
||
prs_bedrijfadres_flexfiles = rec1.prs_bedrijfadres_flexfiles,
|
||
prs_bedrijfadres_encoding = rec1.prs_bedrijfadres_encoding,
|
||
prs_bedrijfadres_authmethod = rec1.prs_bedrijfadres_authmethod,
|
||
prs_bedrijfadres_soapversion = rec1.prs_bedrijfadres_soapversion,
|
||
prs_bedrijfadres_soapaction = rec1.prs_bedrijfadres_soapaction,
|
||
prs_bedrijfadres_lockuser_key = rec1.prs_bedrijfadres_lockuser_key,
|
||
prs_bedrijfadres_locksecret = rec1.prs_bedrijfadres_locksecret,
|
||
prs_bedrijfadres_lockexpire = rec1.prs_bedrijfadres_lockexpire
|
||
WHERE prs_bedrijfadres_key = v_bedrijfadres_key;
|
||
|
||
END LOOP;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
rec.prs_bedrijf_naam || ' - ' || SUBSTR (v_errormsg, 1, 1000),
|
||
v_errorhint);
|
||
END;
|
||
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
-- Koppeling om contactpersonen vanuit PCHD te verspreiden over de andere PCH omgevingen.
|
||
CREATE OR REPLACE PROCEDURE pchx_import_contactpersoon (
|
||
p_import_key NUMBER)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
v_contactpersoon_key VARCHAR2 (1000);
|
||
v_contactpersoon_naam VARCHAR2 (1000);
|
||
v_contactpersoon_tussenv VARCHAR2 (1000);
|
||
v_contactpersoon_voorletters VARCHAR2 (1000);
|
||
v_contactpersoon_voornaam VARCHAR2 (1000);
|
||
v_contactpersoon_aanhef VARCHAR2 (1000);
|
||
v_contactpersoon_titel VARCHAR2 (1000);
|
||
v_contactpersoon_telefoon_1 VARCHAR2 (1000);
|
||
v_contactpersoon_telefoon_2 VARCHAR2 (1000);
|
||
v_contactpersoon_fax VARCHAR2 (1000);
|
||
v_contactpersoon_email VARCHAR2 (1000);
|
||
v_contactpersoon_functie VARCHAR2 (1000);
|
||
v_contactpersoon_opmerking VARCHAR2 (1000);
|
||
v_bedrijf_key VARCHAR2 (1000);
|
||
v_bedrijf_naam VARCHAR2 (1000);
|
||
|
||
v_newline VARCHAR2 (4000); -- Import line
|
||
v_field VARCHAR2 (1000); -- Import field
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
v_ongeldig NUMBER (1);
|
||
v_header_is_valid NUMBER (1) := 0;
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
v_fielddelimitor := ';';
|
||
|
||
DELETE pchx_imp_contactpersoon;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec.fac_imp_file_line;
|
||
v_ongeldig := 0;
|
||
|
||
IF v_header_is_valid = 1
|
||
THEN
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_key);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_naam);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_tussenv);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_voorletters);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_voornaam);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_aanhef);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_titel);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_telefoon_1);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_telefoon_2);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_fax);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_email);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_functie);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_opmerking);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_key);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_naam);
|
||
|
||
SELECT MAX (b.prs_bedrijf_key)
|
||
INTO v_bedrijf_key
|
||
FROM prs_bedrijf b, pchx_imp_bedrijf_gegevens i
|
||
WHERE v_bedrijf_key = i.prs_bedrijf_key
|
||
AND i.prs_leverancier_nr = b.prs_leverancier_nr
|
||
AND b.prs_bedrijf_verwijder IS NULL;
|
||
|
||
IF v_bedrijf_key IS NULL
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Bedrijf niet gevonden: ' || v_bedrijf_naam, '');
|
||
v_ongeldig := 1;
|
||
END IF;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
INSERT INTO pchx_imp_contactpersoon (
|
||
prs_contactpersoon_key,
|
||
prs_contactpersoon_naam,
|
||
prs_contactpersoon_tussenv,
|
||
prs_contactpersoon_voorletters,
|
||
prs_contactpersoon_voornaam,
|
||
prs_contactpersoon_aanhef,
|
||
prs_contactpersoon_titel,
|
||
prs_contactpersoon_telefoon_1,
|
||
prs_contactpersoon_telefoon_2,
|
||
prs_contactpersoon_fax,
|
||
prs_contactpersoon_email,
|
||
prs_contactpersoon_functie,
|
||
prs_contactpersoon_opmerking,
|
||
prs_bedrijf_key,
|
||
prs_bedrijf_naam)
|
||
VALUES (
|
||
v_contactpersoon_key,
|
||
v_contactpersoon_naam,
|
||
v_contactpersoon_tussenv,
|
||
v_contactpersoon_voorletters,
|
||
v_contactpersoon_voornaam,
|
||
v_contactpersoon_aanhef,
|
||
v_contactpersoon_titel,
|
||
v_contactpersoon_telefoon_1,
|
||
v_contactpersoon_telefoon_2,
|
||
v_contactpersoon_fax,
|
||
v_contactpersoon_email,
|
||
v_contactpersoon_functie,
|
||
v_contactpersoon_opmerking,
|
||
v_bedrijf_key,
|
||
v_bedrijf_naam);
|
||
END IF;
|
||
ELSE
|
||
IF LOWER (v_newline) LIKE 'prs_contactpersoon_key;prs_contactpersoon_naam;prs_contactpersoon_tussenv;prs_contactpersoon_voorletters;prs_contactpersoon_voornaam;prs_contactpersoon_aanhef;prs_contactpersoon_titel;prs_contactpersoon_telefoon_1;prs_contactpersoon_telefoon_2;prs_contactpersoon_fax;prs_contactpersoon_email;prs_contactpersoon_functie;prs_contactpersoon_opmerking;prs_bedrijf_key;prs_bedrijf_naam%'
|
||
THEN
|
||
v_header_is_valid := 1;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
'');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_update_contactpersoon (
|
||
p_import_key NUMBER)
|
||
AS
|
||
CURSOR c IS
|
||
SELECT DISTINCT prs_bedrijf_key
|
||
FROM pchx_imp_contactpersoon;
|
||
|
||
CURSOR c_det (c_bedrijf_key NUMBER)
|
||
IS
|
||
SELECT *
|
||
FROM pchx_imp_contactpersoon
|
||
WHERE prs_bedrijf_key = c_bedrijf_key;
|
||
|
||
v_contactpersoon_key prs_contactpersoon.prs_contactpersoon_key%TYPE;
|
||
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
FOR rec1 IN c
|
||
LOOP
|
||
BEGIN
|
||
|
||
FOR rec IN c_det(rec1.prs_bedrijf_key)
|
||
LOOP
|
||
BEGIN
|
||
BEGIN
|
||
v_errorhint := 'Zoek contactpersoon';
|
||
SELECT prs_contactpersoon_key
|
||
INTO v_contactpersoon_key
|
||
FROM prs_contactpersoon
|
||
WHERE prs_bedrijf_key = rec1.prs_bedrijf_key
|
||
AND prs_contactpersoon_naam = rec.prs_contactpersoon_naam
|
||
AND COALESCE(prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(rec.prs_contactpersoon_voornaam, 'Onbekend');
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_errorhint := 'Voeg contactpersoon toe';
|
||
INSERT INTO prs_contactpersoon (prs_contactpersoon_naam, prs_contactpersoon_voornaam, prs_bedrijf_key)
|
||
VALUES (rec.prs_contactpersoon_naam, rec.prs_contactpersoon_voornaam, rec.prs_bedrijf_key)
|
||
RETURNING prs_contactpersoon_key
|
||
INTO v_contactpersoon_key;
|
||
END;
|
||
|
||
v_errorhint := 'Pas contactpersoon aan';
|
||
UPDATE prs_contactpersoon
|
||
SET prs_contactpersoon_tussenv = rec.prs_contactpersoon_tussenv,
|
||
prs_contactpersoon_voorletters = rec.prs_contactpersoon_voorletters,
|
||
prs_contactpersoon_aanhef = rec.prs_contactpersoon_aanhef,
|
||
prs_contactpersoon_titel = rec.prs_contactpersoon_titel,
|
||
prs_contactpersoon_telefoon_1 = rec.prs_contactpersoon_telefoon_1,
|
||
prs_contactpersoon_telefoon_2 = rec.prs_contactpersoon_telefoon_2,
|
||
prs_contactpersoon_fax = rec.prs_contactpersoon_fax,
|
||
prs_contactpersoon_email = rec.prs_contactpersoon_email,
|
||
prs_contactpersoon_functie = rec.prs_contactpersoon_functie,
|
||
prs_contactpersoon_opmerking = rec.prs_contactpersoon_opmerking
|
||
WHERE prs_contactpersoon_key = v_contactpersoon_key;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
rec.prs_bedrijf_naam || ' - ' || rec.prs_contactpersoon_naam || ', ' || rec.prs_contactpersoon_voornaam || ' - ' ||
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
v_errorhint);
|
||
END;
|
||
|
||
END LOOP;
|
||
|
||
v_errorhint := 'Verwijder contactpersonen';
|
||
UPDATE prs_contactpersoon cp
|
||
SET cp.prs_contactpersoon_verwijder = SYSDATE
|
||
WHERE cp.prs_bedrijf_key = rec1.prs_bedrijf_key
|
||
AND NOT EXISTS (SELECT prs_contactpersoon_key
|
||
FROM pchx_imp_contactpersoon cp2
|
||
WHERE cp2.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND cp2.prs_contactpersoon_naam = cp.prs_contactpersoon_naam
|
||
AND COALESCE(cp2.prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(cp.prs_contactpersoon_voornaam, 'Onbekend'));
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
v_errorhint);
|
||
END;
|
||
/
|
||
|
||
--PCHX#62602 Rapportage periodieke taken (ook nog niet gestart)
|
||
CREATE OR REPLACE VIEW pchx_v_rap_deelinspect
|
||
(
|
||
deel_key,
|
||
discipline,
|
||
soort,
|
||
groep,
|
||
soortcode,
|
||
omschrijving,
|
||
plaatseigenaar,
|
||
plaatseigenaartype,
|
||
plaatsaanduiding,
|
||
eigenaar,
|
||
eigenaar_key,
|
||
opmerking,
|
||
regio,
|
||
district,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
locatie_plaats,
|
||
gebouwcode,
|
||
gebouw,
|
||
terreinsectorcode,
|
||
terreinsector,
|
||
verdiepingcode,
|
||
ruimtenr,
|
||
werkplekvolgnr,
|
||
werkplek,
|
||
uitleenbaar,
|
||
uitgeleend,
|
||
res_opmerking,
|
||
beheerder,
|
||
vervaldatum,
|
||
actief,
|
||
aantal,
|
||
state,
|
||
statedate,
|
||
fclt_3d_discipline_key,
|
||
fclt_3d_afdeling_key,
|
||
fclt_3d_locatie_key,
|
||
ins_deelsrtcontrole_key,
|
||
ins_srtcontrole_key,
|
||
srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
controlemode_omschrijving,
|
||
ins_deelsrtcontrole_opmerking,
|
||
perslid,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_plandatum,
|
||
deelsrtcontrole_status
|
||
)
|
||
AS
|
||
SELECT deel_key,
|
||
discipline,
|
||
soort,
|
||
groep,
|
||
soortcode,
|
||
omschrijving,
|
||
plaatseigenaar,
|
||
plaatseigenaartype,
|
||
plaatsaanduiding,
|
||
eigenaar,
|
||
eigenaar_key,
|
||
opmerking,
|
||
regio,
|
||
district,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
locatie_plaats,
|
||
gebouwcode,
|
||
gebouw,
|
||
terreinsectorcode,
|
||
terreinsector,
|
||
verdiepingcode,
|
||
ruimtenr,
|
||
werkplekvolgnr,
|
||
werkplek,
|
||
uitleenbaar,
|
||
uitgeleend,
|
||
res_opmerking,
|
||
beheerder,
|
||
vervaldatum,
|
||
actief,
|
||
aantal,
|
||
state,
|
||
statedate,
|
||
fclt_3d_discipline_key,
|
||
fclt_3d_afdeling_key,
|
||
fclt_3d_locatie_key,
|
||
ins_deelsrtcontrole_key,
|
||
ins_srtcontrole_key,
|
||
srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
controlemode_omschrijving,
|
||
ins_deelsrtcontrole_opmerking,
|
||
perslid,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_plandatum,
|
||
deelsrtcontrole_status
|
||
FROM ins_v_udr_deelinspect
|
||
UNION ALL
|
||
SELECT ud.deel_key,
|
||
ud.discipline,
|
||
ud.soort,
|
||
ud.groep,
|
||
ud.soortcode,
|
||
ud.omschrijving,
|
||
ud.plaatseigenaar,
|
||
ud.plaatseigenaartype,
|
||
ud.plaatsaanduiding,
|
||
ud.eigenaar,
|
||
ud.eigenaar_key,
|
||
ud.opmerking,
|
||
ud.regio,
|
||
ud.district,
|
||
ud.locatie_code,
|
||
ud.locatie_omschrijving,
|
||
ud.locatie_plaats,
|
||
ud.gebouwcode,
|
||
ud.gebouw,
|
||
ud.terreinsectorcode,
|
||
ud.terreinsector,
|
||
ud.verdiepingcode,
|
||
ud.ruimtenr,
|
||
ud.werkplekvolgnr,
|
||
ud.werkplek,
|
||
ud.uitleenbaar,
|
||
ud.uitgeleend,
|
||
ud.res_opmerking,
|
||
ud.beheerder,
|
||
ud.vervaldatum,
|
||
ud.actief,
|
||
ud.aantal,
|
||
ud.state,
|
||
ud.statedate,
|
||
ud.fclt_3d_discipline_key,
|
||
ud.fclt_3d_afdeling_key,
|
||
ud.fclt_3d_locatie_key,
|
||
NULL,
|
||
sc.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
NULL,
|
||
'Nog niet gepland',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key),
|
||
NULL
|
||
FROM ins_v_udr_deel ud,
|
||
ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline disc,
|
||
ins_srtcontrole sc
|
||
WHERE d.ins_deel_key = ud.deel_key
|
||
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||
AND disc.ins_discipline_key = sg.ins_discipline_key
|
||
AND ( (sd.ins_srtdeel_key = sc.ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau = 'S')
|
||
OR (sg.ins_srtgroep_key = sc.ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau = 'G')
|
||
OR (disc.ins_discipline_key = sc.ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau = 'D'));
|
||
|
||
--PCHX#63363 Notificaties obv periodieke taken naar objectbeheerders
|
||
CREATE OR REPLACE VIEW pchx_v_rap_ctrbeh
|
||
(
|
||
plaats,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte,
|
||
discipline,
|
||
objectgroep,
|
||
objectsoort,
|
||
deel_key,
|
||
objectomschrijving,
|
||
plandatum,
|
||
extra_key,
|
||
taakomschrijving,
|
||
status,
|
||
beheerder_key,
|
||
beheerder_email
|
||
)
|
||
AS
|
||
SELECT di.locatie_plaats,
|
||
di.gebouw,
|
||
di.verdiepingcode,
|
||
di.ruimtenr,
|
||
di.discipline,
|
||
di.groep,
|
||
di.soort,
|
||
di.deel_key,
|
||
di.omschrijving,
|
||
TRUNC (di.ins_deelsrtcontrole_plandatum),
|
||
dsc.ins_deelsrtcontrole_key,
|
||
di.srtcontrole_omschrijving,
|
||
di.deelsrtcontrole_status,
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_email
|
||
FROM pchx_v_rap_deelinspect di,
|
||
ins_deel d,
|
||
prs_perslid p,
|
||
ins_deelsrtcontrole dsc,
|
||
ins_tab_discipline disc,
|
||
fac_usrtab ut,
|
||
fac_usrdata ud
|
||
WHERE di.ins_deelsrtcontrole_datum IS NULL
|
||
AND (di.vervaldatum > SYSDATE OR di.vervaldatum IS NULL)
|
||
AND d.prs_perslid_key_beh = p.prs_perslid_key(+)
|
||
AND d.ins_deel_key = di.deel_key
|
||
AND dsc.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key
|
||
AND d.ins_discipline_key = disc.ins_discipline_key
|
||
AND UPPER (ut.fac_usrtab_naam) = 'NOTI_CUST11'
|
||
AND ut.fac_usrtab_verwijder IS NULL
|
||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND fac.safe_to_number (ud.fac_usrdata_code) = d.ins_discipline_key
|
||
ORDER BY di.ins_deelsrtcontrole_datum,
|
||
TRUNC (di.ins_deelsrtcontrole_plandatum),
|
||
di.controlemode_omschrijving,
|
||
p.prs_perslid_email;
|
||
|
||
--PCHX#63363 Notificaties obv periodieke taken naar objectbeheerders
|
||
CREATE OR REPLACE VIEW pchx_v_noti_ctrbeh_wk
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST11' AS code,
|
||
NULL,
|
||
beheerder_key,
|
||
'Herinnering: '
|
||
|| discipline
|
||
|| ' - '
|
||
|| objectgroep
|
||
|| ' - '
|
||
|| taakomschrijving
|
||
|| ', dient uiterlijk '
|
||
|| TO_CHAR (plandatum, 'DD-MM-YYYY')
|
||
|| ' te worden afgehandeld',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_code) = 'PCHX_V_RAP_CTRBEH')
|
||
rapportnr,
|
||
extra_key
|
||
FROM pchx_v_rap_ctrbeh
|
||
WHERE TRUNC (plandatum) = TRUNC (SYSDATE) + 7;
|
||
|
||
--PCHX#63363 Notificaties obv periodieke taken naar objectbeheerders
|
||
CREATE OR REPLACE VIEW pchx_v_noti_ctrbeh_mnd
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST11' AS code,
|
||
NULL,
|
||
beheerder_key,
|
||
discipline
|
||
|| ' - '
|
||
|| objectgroep
|
||
|| ' - '
|
||
|| taakomschrijving
|
||
|| ', dient uiterlijk '
|
||
|| TO_CHAR (plandatum, 'DD-MM-YYYY')
|
||
|| ' te worden afgehandeld',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_view_name) = 'PCHX_V_RAP_CTRBEH')
|
||
rapportnr,
|
||
extra_key
|
||
FROM pchx_v_rap_ctrbeh
|
||
WHERE TRUNC (plandatum) = TRUNC (SYSDATE) + 31;
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_import_fin_scansys_xml (
|
||
p_import_key IN NUMBER)
|
||
AS
|
||
v_seq_of_columns VARCHAR (100);
|
||
BEGIN
|
||
--In de XSL: Factuurnummer(1);Factuurdatum(2);Ordernummer(3);Omschrijving(4);Aantal(5);Nettobedrag(6);BTWcode(7);BTWBedrag(8);Document(9);Debiteurnummer(10);
|
||
-- Opmerking(11);-BtwVerlegd(12);Betalingsconditie(13);Boekperiode(14);Boekstuknummer(15);Kostensoort(16);Kostendrager(17);Grootboekrekening(18);AfwijkendBedrijf(19);Projectcode(20);
|
||
-- Administratie(21);Afw.Grootboekrekening(22);Regelnummer(23);Kostenplaats(24);Debiteur(25);AFwijkende boekdatum(26);
|
||
|
||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3 ;4 ;5 ;6 ;7 ;8 ;9 ;0 ;1 ;2 ;3 ;4; 5 '
|
||
v_seq_of_columns := '0;1;2;3;0;0;4;5;6;;7;9;10;11;12;15;16;17;18;19;14;21;20;22;23;24;7;25;26;8';
|
||
|
||
-- Variabelelijst
|
||
-- v_leveranciernr: 1
|
||
-- v_factuurnr: 2 (VERPLICHT, anders zet Facilitor '-' in factuurnr, en is status van factuur "Incompleet")
|
||
-- v_factuurdatum: 3
|
||
-- v_ordernr: 4 (VERPLICHT, anders is status van factuur "Incompleet")
|
||
-- v_locatie: 5
|
||
-- v_afleverdatum: 6
|
||
-- v_omschrijving: 7
|
||
-- v_aantal: 8
|
||
-- v_kostprijs: 9 (VERPLICHT, anders is status van factuur "Incompleet")
|
||
-- v_btw_bedrag: 10 (VERPLICHT, of anders veld 11, anders is status van factuur "Incompleet"), dit staat in kenmerk14
|
||
-- v_btw: 11 (VERPLICHT, of anders veld 10, anders is status van factuur "Incompleet")
|
||
-- v_docid: 12
|
||
-- v_debiteur_nr: 13
|
||
-- v_opmerking: 14
|
||
-- v_btw_verlegd: 15 (VERPLICHT, Ja/Nee/<leeg> waarbij leeg gelijk is aan Nee. Andere waarden leidt tot "Incompleet")
|
||
-- v_kenmerk1: 16 (Boekstuknummer)
|
||
-- v_kenmerk2: 17 (Kostensoort)
|
||
-- v_kenmerk3: 18 (Kostendrager)
|
||
-- v_kenmerk4: 19 (Grootboekrekening)
|
||
-- v_kenmerk5: 20 (Afwijkend bedrijf)
|
||
-- v_boekmaand: 21
|
||
-- v_kenmerk6: 22 (Adminstratie)
|
||
-- v_kenmerk7: 23 (Projectcode)
|
||
-- v_kenmerk8: 24 (Afwijkende grootboekrekening)
|
||
-- v_kenmerk9: 25 (Regelnummer)
|
||
-- v_kenmerk10: 26 (Kostenplaats)
|
||
-- v_kenmerk11: 27 (BTW code) --Nogmaals ivm afwijkende BTWcode en BTW% in PCHY
|
||
-- v_kenmerk12: 28 Debiteur
|
||
-- v_kenmerk13: 29 Afwijkende boekdatum
|
||
-- v_kenmerk14: 30 BTW bedrag (gelijk aan 10).
|
||
|
||
DELETE FROM fac_imp_factuur
|
||
WHERE fac_import_key <> p_import_key;
|
||
|
||
fac_import_factuur_body (p_import_key, v_seq_of_columns);
|
||
|
||
UPDATE fac_imp_factuur
|
||
SET factuurregelaantal = aantal;
|
||
|
||
UPDATE fac_imp_factuur
|
||
SET ordernr = factuurnr
|
||
WHERE ordernr IS NULL;
|
||
|
||
-- verwijder de entries uit de imp_file omdat er meerdere bestanden in <20><>n run ingelezen kunnen worden.
|
||
DELETE fac_imp_file
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_post_upd_fin_scansys_xml (
|
||
p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR km_facturen IS
|
||
SELECT factuurnr,
|
||
fin_factuur_key,
|
||
omschrijving,
|
||
-- opmerking,
|
||
kenmerk1,
|
||
kenmerk4,
|
||
kenmerk6,
|
||
kenmerk12,
|
||
debiteurnr,
|
||
fac_import_key,
|
||
(SELECT DISTINCT (MAX (p.prs_perslid_key))
|
||
FROM prs_perslid p, fac_v_rap_groeprechten r
|
||
WHERE r.fclt_f_login = p.prs_perslid_oslogin
|
||
AND r.fclt_f_funcode = 'WEB_FINGOE') AS goedkeurder
|
||
FROM ( SELECT factuurnr,
|
||
MAX (fin_factuur_key) AS fin_factuur_key,
|
||
omschrijving,
|
||
-- opmerking,
|
||
kenmerk1,
|
||
kenmerk4,
|
||
kenmerk6,
|
||
kenmerk12,
|
||
debiteurnr,
|
||
fac_import_key
|
||
FROM fac_imp_factuur
|
||
GROUP BY factuurnr,
|
||
omschrijving,
|
||
-- opmerking,
|
||
kenmerk1,
|
||
kenmerk4,
|
||
kenmerk6,
|
||
kenmerk12,
|
||
debiteurnr,
|
||
fac_import_key);
|
||
|
||
CURSOR km_factuurregels IS
|
||
SELECT *
|
||
FROM fac_imp_factuur
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
CURSOR btw IS
|
||
SELECT f.fac_import_key,
|
||
f.fac_imp_file_index,
|
||
f.fin_factuur_key,
|
||
f.fin_factuurregel_key,
|
||
f.btw,
|
||
f.kenmerk11,
|
||
f.btw_bedrag
|
||
FROM fac_imp_factuur f
|
||
WHERE f.fac_import_key = p_import_key;
|
||
|
||
CURSOR btw_verlegd IS
|
||
SELECT f.fac_import_key,
|
||
f.fac_imp_file_index,
|
||
f.fin_factuur_key,
|
||
f.fin_factuurregel_key,
|
||
f.btw,
|
||
f.kenmerk11,
|
||
f.btw_bedrag
|
||
FROM fac_imp_factuur f
|
||
WHERE f.fac_import_key = p_import_key
|
||
AND (f.kenmerk11 = 'I21' OR f.kenmerk11 = 'I9');
|
||
|
||
|
||
v_factuur_key NUMBER (10);
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_afwbedrijf VARCHAR2 (200);
|
||
v_grootboekrekening VARCHAR2 (200);
|
||
v_kostendrager VARCHAR2 (200);
|
||
v_kostenplaats NUMBER;
|
||
v_referentie_key NUMBER;
|
||
v_opmerking VARCHAR2 (3000);
|
||
v_omschrijving VARCHAR2 (3000);
|
||
v_afw_boekdatum VARCHAR2 (200);
|
||
v_btwverlegd_key VARCHAR2 (200);
|
||
BEGIN
|
||
-- In PCHY zijn er meerdere BTW codes met 21%, hier zetten we deze goed.
|
||
v_errorhint := 'BTW code goedzetten';
|
||
|
||
FOR rec IN btw
|
||
LOOP
|
||
BEGIN
|
||
IF pchx.get_user = 'PCHY'
|
||
THEN
|
||
UPDATE fin_factuurregel
|
||
SET fin_btwtabelwaarde_key = 24 -- BTW key voor code 23 - Hoog-21% - inclusief vrijgesteld
|
||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key
|
||
AND rec.kenmerk11 = '23';
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
-- Er kunnen meerdere BTW codes zijn met zelfde BTW percentage ivm btw verlegd, hier zetten we deze goed.
|
||
v_errorhint := 'BTW code verlegd goedzetten';
|
||
|
||
FOR rec IN btw_verlegd
|
||
LOOP
|
||
BEGIN
|
||
SELECT fin_btwtabelwaarde_key
|
||
INTO v_btwverlegd_key
|
||
FROM fin_btwtabelwaarde
|
||
WHERE fin_btwtabelwaarde_code = rec.kenmerk11
|
||
AND fin_btwtabelwaarde_verwijder IS NULL;
|
||
|
||
UPDATE fin_factuurregel
|
||
SET fin_btwtabelwaarde_key = v_btwverlegd_key -- BTW key bijbehorende BTW code (I21 / I9)
|
||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key
|
||
AND (rec.kenmerk11 = 'I21' OR rec.kenmerk11 = 'I9');
|
||
END;
|
||
END LOOP;
|
||
|
||
-- De kenmerken bij de facturen en factuurregels worden hieronder nog gevuld.
|
||
v_errorhint := 'Kenmerken facturen vullen';
|
||
|
||
FOR rec IN km_facturen
|
||
LOOP
|
||
v_opmerking := SUBSTR (rec.omschrijving, 1, 250);
|
||
-- verwijder de markering voor cr/lf die we zelf in de stylesheet toegevoegd hebben.
|
||
v_opmerking := REPLACE (v_opmerking, '@@', CHR (13));
|
||
|
||
v_errorhint := 'Opmerking bij factuur vullen';
|
||
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_opmerking = v_opmerking
|
||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||
|
||
BEGIN
|
||
v_errorhint := 'Debiteur in factuur vullen';
|
||
|
||
--Debiteur bij de factuur overnemen van de tag <Debiteur>
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_debiteur_nr = rec.kenmerk12
|
||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||
|
||
|
||
v_errorhint := 'Goedkeurder in factuur vullen';
|
||
|
||
--Een goedkeurder vullen bij de factuur
|
||
UPDATE fin_factuur
|
||
SET prs_perslid_key_goedkeur = rec.goedkeurder
|
||
WHERE fin_factuur_key = rec.fin_factuur_key
|
||
AND rec.fin_factuur_key IS NOT NULL;
|
||
|
||
-- administratie
|
||
IF rec.kenmerk6 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen administratie';
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_errormsg || v_errorhint,
|
||
'Er is geen administratie gevuld bij dit boekstuknummer '
|
||
|| rec.kenmerk1);
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (
|
||
rec.fin_factuur_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'ADMINISTRATIE'),
|
||
rec.kenmerk6);
|
||
END IF;
|
||
|
||
-- boekstuknummer
|
||
IF rec.kenmerk1 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen boekstuknummer';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg || v_errorhint,
|
||
'Er is geen boekstuknummer gevuld');
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (
|
||
rec.fin_factuur_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'BOEKSTUKNUMMER'),
|
||
rec.kenmerk1);
|
||
END IF;
|
||
|
||
-- Afwijkend bedrijf
|
||
IF rec.debiteurnr IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen afw. bedrijf';
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (
|
||
rec.fin_factuur_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'AFW. BEDRIJF'),
|
||
(SELECT MAX (prs_bedrijf_key)
|
||
FROM prs_v_aanwezigbedrijf
|
||
WHERE fac.safe_to_number (
|
||
prs_leverancier_nr) =
|
||
rec.debiteurnr));
|
||
END IF;
|
||
|
||
--Grootboekrekening
|
||
IF rec.kenmerk4 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen grootboekrekening';
|
||
ELSE
|
||
v_errorhint := 'Fout bij inlezen grootboekrekening';
|
||
|
||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactuur_waarde)
|
||
VALUES (
|
||
rec.fin_factuur_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'GROOTBOEKREKENING'),
|
||
(SELECT MAX (ud.fac_usrdata_key)
|
||
FROM fac_usrdata ud, fac_usrtab ut
|
||
WHERE UPPER (ut.fac_usrtab_naam) =
|
||
'GROOTBOEKREKENIN'
|
||
AND ut.fac_usrtab_key =
|
||
ud.fac_usrtab_key
|
||
AND ud.fac_usrdata_code =
|
||
rec.kenmerk4));
|
||
END IF;
|
||
|
||
v_errorhint := 'Bepalen referentie';
|
||
|
||
SELECT COALESCE (mld_opdr_key,
|
||
cnt_contract_key,
|
||
bes_bestelopdr_key)
|
||
INTO v_referentie_key
|
||
FROM fin_factuur
|
||
WHERE fin_factuur_key = rec.fin_factuur_key
|
||
AND rec.fac_import_key = p_import_key;
|
||
|
||
IF v_referentie_key IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen referentie';
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_errormsg || v_errorhint,
|
||
'Er is geen referentie gevonden bij dit boekstuknummer '
|
||
|| rec.kenmerk1);
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rec IN km_factuurregels
|
||
LOOP
|
||
BEGIN
|
||
v_errorhint := 'Update factuurregels';
|
||
v_kostenplaats := NULL;
|
||
v_omschrijving := SUBSTR (rec.opmerking, 1, 250);
|
||
-- verwijder de markering voor cr/lf die we zelf in de stylesheet toegevoegd hebben.
|
||
|
||
v_omschrijving := REPLACE (v_omschrijving, '@@', CHR (13));
|
||
v_afw_boekdatum :=
|
||
TO_CHAR (
|
||
fac.safe_to_date (SUBSTR (rec.kenmerk13, 0, 10),
|
||
'yyyy-mm-dd'),
|
||
'dd-mm-yyyy');
|
||
|
||
v_errorhint := 'Update factuurregels, kostenplaats';
|
||
|
||
SELECT MAX (prs_kostenplaats_key)
|
||
INTO v_kostenplaats
|
||
FROM prs_kostenplaats
|
||
WHERE prs_kostenplaats_upper = UPPER (rec.kenmerk10)
|
||
AND prs_kostenplaats_verwijder IS NULL;
|
||
|
||
v_errorhint := 'Update factuurregels, omschrijving';
|
||
|
||
UPDATE fin_factuurregel
|
||
SET fin_factuurregel_omschrijving = v_omschrijving
|
||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key;
|
||
|
||
--Afwijkende grootboekrekening (factuurregel)
|
||
v_errorhint := 'Geen afw. grootboekrekening factuurregel';
|
||
|
||
--Het BTW bedrag moet 1 op 1 worden overgenomen vanuit Scansys, om geen afrondingsverschillen te krijgen
|
||
v_errorhint := 'BTW bedrag overnemen';
|
||
|
||
UPDATE fin_factuurregel
|
||
SET fin_factuurregel_btw =
|
||
fac.safe_to_number (REPLACE (rec.kenmerk14, ',', '.'))
|
||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key;
|
||
|
||
IF rec.kenmerk8 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen afw. grootboekrekening factuurregel';
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_errormsg || v_errorhint,
|
||
'Er is geen afwijkende grootboekrekening gevuld bij een factuurregel bij dit boekstuknummer '
|
||
|| rec.kenmerk1);
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactregel (
|
||
fin_factuurregel_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactregel_waarde)
|
||
VALUES (
|
||
rec.fin_factuurregel_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'AFW. GROOTBOEKREKENING'),
|
||
(SELECT MAX (ud.fac_usrdata_key)
|
||
FROM fac_usrdata ud, fac_usrtab ut
|
||
WHERE UPPER (ut.fac_usrtab_naam) =
|
||
'GROOTBOEKREKENIN'
|
||
AND ut.fac_usrtab_key =
|
||
ud.fac_usrtab_key
|
||
AND ud.fac_usrdata_code =
|
||
rec.kenmerk8));
|
||
END IF;
|
||
|
||
--Projectcode (factuurregel)
|
||
v_errorhint := 'Geen projectcode factuurregel';
|
||
|
||
IF rec.kenmerk7 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen projectcode factuurregel';
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactregel (
|
||
fin_factuurregel_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactregel_waarde)
|
||
VALUES (
|
||
rec.fin_factuurregel_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'PROJECTCODE'),
|
||
(SELECT MAX (ud.fac_usrdata_key)
|
||
FROM fac_usrdata ud, fac_usrtab ut
|
||
WHERE UPPER (ut.fac_usrtab_naam) =
|
||
'PROJECTCODE'
|
||
AND ut.fac_usrtab_key =
|
||
ud.fac_usrtab_key
|
||
AND ud.fac_usrdata_code =
|
||
rec.kenmerk7));
|
||
END IF;
|
||
|
||
v_errorhint := 'Geen afw. kostendrager factuurregel';
|
||
|
||
--Afw. Kostendrager (factuurregel)
|
||
IF rec.kenmerk3 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen afw. kostendrager factuurregel';
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactregel (
|
||
fin_factuurregel_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactregel_waarde)
|
||
VALUES (
|
||
rec.fin_factuurregel_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'AFW. KOSTENDRAGER'),
|
||
(SELECT MAX (ud.fac_usrdata_key)
|
||
FROM fac_usrdata ud, fac_usrtab ut
|
||
WHERE UPPER (ut.fac_usrtab_naam) =
|
||
'KOSTENDRAGER'
|
||
AND ut.fac_usrtab_key =
|
||
ud.fac_usrtab_key
|
||
AND ud.fac_usrdata_code =
|
||
rec.kenmerk3));
|
||
END IF;
|
||
|
||
v_errorhint := 'Geen afw. kostenplaats factuurregel';
|
||
|
||
--Afw. kostenplaats (factuurregel)
|
||
IF v_kostenplaats IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen afw. kostenplaats factuurregel';
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactregel (
|
||
fin_factuurregel_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactregel_waarde)
|
||
VALUES (
|
||
rec.fin_factuurregel_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'AFW. KOSTENPLAATS'),
|
||
v_kostenplaats);
|
||
END IF;
|
||
|
||
v_errorhint := 'Geen kostensoort factuurregel';
|
||
|
||
--Kostensoort (factuurregel)
|
||
IF rec.kenmerk2 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen kostensoort factuurregel';
|
||
ELSE
|
||
UPDATE fin_factuurregel
|
||
SET prs_kostensoort_key =
|
||
(SELECT MAX (ks.prs_kostensoort_key)
|
||
FROM prs_kostensoort ks
|
||
WHERE ks.prs_kostensoort_upper =
|
||
UPPER (rec.kenmerk2))
|
||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key;
|
||
END IF;
|
||
|
||
|
||
v_errorhint := 'Geen regelnummer factuurregel';
|
||
|
||
--Regelnummer (factuurregel)
|
||
IF rec.kenmerk9 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen regelnummer factuurregel';
|
||
ELSE
|
||
UPDATE fin_factuurregel
|
||
SET fin_factuurregel_nr = rec.kenmerk9
|
||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key;
|
||
END IF;
|
||
|
||
v_errorhint := 'Geen afw. boekdatum factuurregel';
|
||
|
||
--Afw. boekdatum (factuurregel)
|
||
IF rec.kenmerk13 IS NULL
|
||
THEN
|
||
v_errorhint := 'Geen afw. boekdatum factuurregel';
|
||
ELSE
|
||
INSERT INTO fin_kenmerkfactregel (
|
||
fin_factuurregel_key,
|
||
fin_kenmerk_key,
|
||
fin_kenmerkfactregel_waarde)
|
||
VALUES (
|
||
rec.fin_factuurregel_key,
|
||
(SELECT MAX (fin_kenmerk_key)
|
||
FROM fin_kenmerk
|
||
WHERE fin_kenmerk_verwijder IS NULL
|
||
AND fin_kenmerk_upper =
|
||
'AFW. BOEKDATUM'),
|
||
v_afw_boekdatum);
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
--Het BTW bedrag moet 1 op 1 worden overgenomen vanuit Scansys, om geen afrondingsverschillen te krijgen
|
||
FOR rec IN km_facturen
|
||
LOOP
|
||
v_errorhint := 'BTW bedrag factuur herrekenen';
|
||
|
||
BEGIN
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_totaal_btw =
|
||
(SELECT SUM (fin_factuurregel_btw)
|
||
FROM fin_factuurregel
|
||
WHERE fin_factuur_key = rec.fin_factuur_key)
|
||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_errormsg, 1, 1000),
|
||
v_errorhint);
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE pchx_update_fin_scansys_xml (
|
||
p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
IF pchx.get_user = 'PCHY'
|
||
THEN
|
||
UPDATE fac_imp_factuur
|
||
SET btw = '25', btw_bedrag = NULL
|
||
WHERE fac_import_key = p_import_key AND btw = '23';
|
||
END IF;
|
||
|
||
COMMIT;
|
||
|
||
-- Standaard FCLT verwerk import facturen
|
||
fac_update_factuur (p_import_key);
|
||
-- CUST: post processing van:
|
||
-- 1) Kenmerken vullen bij factuur.
|
||
-- 2) Btw code goed zetten.
|
||
pchx_post_upd_fin_scansys_xml (p_import_key);
|
||
END;
|
||
/
|
||
|
||
--PCHS#64217 Rapportage meldingen met incidentnummer
|
||
CREATE OR REPLACE VIEW pchx_v_mld_incidentnr
|
||
AS
|
||
SELECT melding_key,
|
||
meldingnummer,
|
||
melding_start_key,
|
||
externnummer,
|
||
melding_regio,
|
||
melding_district,
|
||
melding_locatiecode,
|
||
melding_locatie,
|
||
melding_locatieplaats,
|
||
fclt_3d_locatie_key,
|
||
melding_gebouwcode,
|
||
melding_gebouw,
|
||
melding_verdieping,
|
||
melding_ruimtenr,
|
||
melding_ruimte,
|
||
melding_ordernr,
|
||
kostensoortgroep,
|
||
kostensoort,
|
||
kostenplaats,
|
||
kostenplaats_oms,
|
||
melder,
|
||
melder_key,
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
fclt_3d_afdeling_key,
|
||
bedrijf_key,
|
||
invoerder,
|
||
meldbron,
|
||
soortmelding,
|
||
fclt_3d_discipline_key,
|
||
productgroep,
|
||
subproductgroep,
|
||
behandelgroep,
|
||
behandelaar,
|
||
behandelaar_key,
|
||
subproductgroepgroep,
|
||
fclt_3d_discipline2_key,
|
||
actieve_behandelgroep,
|
||
actieve_behandelaar_key,
|
||
actieve_behandelaar,
|
||
melding_status,
|
||
sla_nvt,
|
||
sla_werkdgn,
|
||
sla_werkuren,
|
||
sla_respijtdgn,
|
||
sla_respijturen,
|
||
sla_accptdgn,
|
||
sla_accpturen,
|
||
plan_uitvoertijd_sla,
|
||
melding_datum,
|
||
melding_einddatum,
|
||
melding_einddatum_std,
|
||
melding_acceptdatum,
|
||
melding_afgemeld,
|
||
melding_accepted,
|
||
doorlooptijd_werkdgn,
|
||
doorlooptijd_werkuren,
|
||
onderwerp,
|
||
vomschrijving,
|
||
melding_opmerking,
|
||
prioriteit,
|
||
prioriteittxt,
|
||
rating,
|
||
rating_opmerking,
|
||
bolletje,
|
||
actiecode,
|
||
accept_sla_dagen,
|
||
accept_sla_uren,
|
||
uitvoering_sla_dagen,
|
||
uitvoering_sla_uren,
|
||
afspraak_sla_dagen,
|
||
afspraak_sla_uren,
|
||
accept_sla_optijd,
|
||
uitvoering_sla_optijd,
|
||
afspraak_sla_optijd,
|
||
selfservice,
|
||
(SELECT DISTINCT (kmm.mld_kenmerkmelding_waarde)
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_omschrijving = 'Incidentnummer'
|
||
AND km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_melding_key = melding_key
|
||
AND km.mld_kenmerk_verwijder IS NULL
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL)
|
||
AS incidentnummer
|
||
FROM mld_v_udr_melding;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_implog_scansysxml
|
||
(
|
||
import,
|
||
import_key,
|
||
datum,
|
||
status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT ia.fac_import_app_code,
|
||
LOG.fac_import_key,
|
||
LOG.imp_log_datum,
|
||
LOG.imp_log_status,
|
||
LOG.imp_log_omschrijving,
|
||
LOG.imp_log_hint
|
||
FROM imp_log LOG, fac_import i, fac_import_app ia
|
||
WHERE LOG.fac_import_key = i.fac_import_key
|
||
AND i.fac_import_app_key = ia.fac_import_app_key
|
||
AND LOG.imp_log_status = 'E'
|
||
AND UPPER (ia.fac_import_app_code) = 'FIN_SCANSYS_XML'
|
||
AND LOG.imp_log_hint NOT LIKE
|
||
'%Er is geen grootboekrekening gevuld bij dit boekstuknummer%' --ivm PCHX#68542
|
||
ORDER BY imp_log_key DESC;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW PCHX_V_NOTI_IMPLOGSCANSYS
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XSENDER,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST12',
|
||
NULL,
|
||
NULL,
|
||
pchx.get_user || ': ' || imp.omschrijving || ' ' || imp.hint,
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_code) =
|
||
'PCHX_V_IMPLOG_SCANSYSXML') rapportnr,
|
||
NULL,
|
||
NULL,
|
||
'fa@pch-dienstengroep.nl; smelsbach@pch-dienstengroep.nl',
|
||
NULL
|
||
FROM PCHX_V_IMPLOG_SCANSYSXML imp
|
||
WHERE imp.datum BETWEEN (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'PCHX_V_NOTI_IMPLOGSCANSYS')
|
||
AND (SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'PCHX_V_NOTI_IMPLOGSCANSYS');
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW PCHX_V_BRON_PRS_ANO
|
||
(
|
||
PERSLID_KEY,
|
||
NAAM,
|
||
TUSSENVOEGSEL,
|
||
VOORLETTERS,
|
||
VOORNAAM,
|
||
LOGIN,
|
||
EMAIL,
|
||
VERWIJDERDATUM,
|
||
NIEUWE_NAAM
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_voorletters,
|
||
p.prs_perslid_voornaam,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_verwijder,
|
||
lcl.l ('lcl_prs_old_employee')
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_verwijder IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT ft.fac_tracking_key
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_tracking_refkey = p.prs_perslid_key
|
||
AND ft.fac_srtnotificatie_key =
|
||
(SELECT fac_srtnotificatie_key
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_code = 'PRSANO'))
|
||
ORDER BY p.prs_perslid_verwijder;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW PCHX_V_NOTI_CAPA
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
PAR1,
|
||
PAR2,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT 'CUST13',
|
||
NULL,
|
||
COALESCE (m.actieve_behandelaar_key, m.behandelaar_key),
|
||
'Rapp<EFBFBD>l: '
|
||
|| fac_version_cust
|
||
|| ': '
|
||
|| m.melding_key
|
||
|| ' '
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ' - '
|
||
|| m.onderwerp
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (m.melding_einddatum, 'DD-MM-YYYY')
|
||
|| ' gereed zijn' AS text,
|
||
mm.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_v_udr_melding m,
|
||
mld_melding mm,
|
||
mld_stdmelding sm,
|
||
fac_version
|
||
WHERE mm.mld_melding_key = m.melding_key
|
||
AND mm.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key IN
|
||
(SELECT ud.fac_usrdata_volgnr
|
||
FROM fac_usrdata ud, fac_usrtab ut
|
||
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND UPPER (ut.fac_usrtab_naam) = 'CUST13')
|
||
AND COALESCE (m.actieve_behandelaar_key, m.behandelaar_key) IS NOT NULL
|
||
AND mm.mld_melding_status IN (0,
|
||
2,
|
||
3,
|
||
4,
|
||
7)
|
||
AND ( TRUNC (m.melding_einddatum) =
|
||
ADD_MONTHS (TRUNC (SYSDATE), 2) -- 2 maanden vanaf nu
|
||
OR TRUNC (m.melding_einddatum) =
|
||
ADD_MONTHS (TRUNC (SYSDATE), 1) -- 1 maand vanaf nu
|
||
OR TRUNC (m.melding_einddatum) = TRUNC (SYSDATE) + 7); -- 1 week vanaf nu
|
||
|
||
-- Overzicht dat inzichtelijk maakt wie tot welke limiet mag fiatteren.
|
||
CREATE OR REPLACE VIEW pchx_v_fiatterings_overzicht
|
||
AS
|
||
SELECT k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving,
|
||
kpp.prs_perslid_naam_full,
|
||
pr.fac_profiel_omschrijving,
|
||
pr.fac_profiel_limiet,
|
||
d.ins_discipline_omschrijving,
|
||
pw.fac_profielwaarde_limiet,
|
||
kpg.prs_kostenplaatsgrp_oms,
|
||
kpg1.prs_perslid_naam_full kpg1_fiat,
|
||
COALESCE (prs_kostenplaatsgrp_fin_limit1, FAC.safe_to_number (FAC.getSetting ('mld_opdr_kpg_fin_limit1')))
|
||
limiet1,
|
||
kpg2.prs_perslid_naam_full kpg2_fiat,
|
||
COALESCE (prs_kostenplaatsgrp_fin_limit2, FAC.safe_to_number (FAC.getSetting ('mld_opdr_kpg_fin_limit2')))
|
||
limiet2,
|
||
kpg3.prs_perslid_naam_full kpg3_fiat
|
||
FROM prs_kostenplaats k,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_v_perslid_fullnames kpg1,
|
||
prs_v_perslid_fullnames kpg2,
|
||
prs_v_perslid_fullnames kpg3,
|
||
prs_v_perslid_fullnames kpp,
|
||
prs_perslid p,
|
||
fac_profiel pr,
|
||
fac_profielwaarde pw,
|
||
ins_tab_discipline d
|
||
WHERE k.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND k.prs_perslid_key = p.prs_perslid_key(+)
|
||
AND k.prs_perslid_key = kpp.prs_perslid_key(+)
|
||
AND kpg.prs_perslid_key = kpg1.prs_perslid_key(+)
|
||
AND kpg.prs_kostenplaatsgrp_fiat2_key = kpg2.prs_perslid_key(+)
|
||
AND kpg.prs_kostenplaatsgrp_fiat3_key = kpg3.prs_perslid_key(+)
|
||
AND p.fac_profiel_key = pr.fac_profiel_key(+)
|
||
AND pr.fac_profiel_key = pw.fac_profiel_key(+)
|
||
AND pw.ins_discipline_key = d.ins_discipline_key(+)
|
||
AND k.prs_kostenplaats_verwijder IS NULL
|
||
AND COALESCE (k.prs_kostenplaats_eind, SYSDATE + 1) > SYSDATE;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_mld_mldref
|
||
(
|
||
MELDING_KEY,
|
||
MELDING_NUMMER
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
srt.INS_SRTDISCIPLINE_PREFIX
|
||
|| m.mld_melding_key
|
||
|| ' - '
|
||
|| sm.MLD_STDMELDING_OMSCHRIJVING
|
||
FROM mld_melding m, ins_srtdiscipline srt, mld_stdmelding sm, mld_discipline d
|
||
WHERE m.MLD_STDMELDING_KEY = sm.MLD_STDMELDING_KEY AND
|
||
sm.MLD_INS_DISCIPLINE_KEY = d.INS_DISCIPLINE_KEY
|
||
AND d.INS_SRTDISCIPLINE_KEY = srt.INS_SRTDISCIPLINE_KEY;
|
||
|
||
CREATE OR REPLACE VIEW pchx_v_cntr_cntrref
|
||
(
|
||
CONTRACT_KEY,
|
||
CONTRACT_NUMMER,
|
||
VERWIJDER_DATUM
|
||
)
|
||
AS
|
||
SELECT cnt.cnt_contract_key,
|
||
cnt.cnt_contract_nummer_intern || case when cnt.cnt_contract_versie IS NULL OR cnt.cnt_contract_versie = ''THEN '' ELSE '.'||cnt.cnt_contract_versie END || ' - ' || cdisc.INS_DISCIPLINE_OMSCHRIJVING ,
|
||
cnt.CNT_CONTRACT_VERWIJDER
|
||
FROM cnt_contract cnt, cnt_discipline cdisc
|
||
WHERE cnt.INS_DISCIPLINE_KEY = cdisc.INS_DISCIPLINE_KEY;
|
||
|
||
|
||
------ payload end ------
|
||
|
||
SET DEFINE OFF
|
||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile |