6481 lines
256 KiB
MySQL
6481 lines
256 KiB
MySQL
-- Script containing customer specific configuration sql statements for CONN: Connexxion
|
||
-- (c) 2005-2006 Dijkoraad IT bv
|
||
-- $Revision: 117 $
|
||
-- $Modtime: 30-01-08 13:17 $
|
||
--
|
||
-- Support: +31 53 4800700
|
||
|
||
SET ECHO ON
|
||
|
||
SPOOL xconn.lst;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_BES_DIESEL (Aanvraagnr, Aantal, Omschrijving, Datum, FCLT_F_Afleveradres)
|
||
AS
|
||
SELECT b.bes_bestelling_key, bi.bes_bestelling_item_aantal,
|
||
d.ins_srtdeel_omschrijving, k.bes_kenmerkbestell_waarde, a.mld_adres_naam
|
||
FROM mld_adres a,
|
||
bes_discipline d,
|
||
ins_srtgroep g,
|
||
ins_srtdeel d,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_kenmerkbestell k
|
||
WHERE d.ins_discipline_key = g.ins_discipline_key
|
||
AND g.ins_srtgroep_key = d.ins_srtgroep_key
|
||
AND bi.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND d.ins_discipline_key = 1442
|
||
AND b.mld_adres_key_lev = a.mld_adres_key
|
||
AND k.bes_bestelling_key = b.bes_bestelling_key
|
||
AND k.bes_kenmerk_key = 3
|
||
AND b.bes_bestelling_afgewezen is null;
|
||
|
||
|
||
--CONN#12801
|
||
CREATE OR REPLACE VIEW conn_v_gebruikers_groep_email (fclt_groep,
|
||
fclt_naam,
|
||
email
|
||
)
|
||
AS
|
||
SELECT g.fac_groep_omschrijving, prs_perslid_naam_full, prs_perslid_email
|
||
FROM fac_gebruikersgroep gg,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
fac_groep g
|
||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND gg.fac_groep_key = g.fac_groep_key;
|
||
|
||
|
||
--CONN#791
|
||
CREATE OR REPLACE VIEW conn_v_halte_gegevens (fclt_f_concessies,
|
||
haltecode,
|
||
plaatsnaam,
|
||
haltenaam,
|
||
infobusstation,
|
||
infohalte,
|
||
passerendelijnen
|
||
)
|
||
AS
|
||
SELECT (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 562) concessies,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 501) haltecode,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 502) plaatsnaam,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 504) haltenaam,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key =
|
||
kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 509)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 510)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 511)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 512)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 513)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 514) infopaneelbus,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key =
|
||
kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 516)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 517)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 518)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 519)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 520)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 521) infopaneelhalte,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 601) passerendelijnen
|
||
FROM ins_deel d
|
||
WHERE ins_srtdeel_key = 43401 AND ins_deel_verwijder IS NULL;
|
||
|
||
|
||
--CONN#668
|
||
--zie onderaan de file
|
||
|
||
--CONN#662
|
||
-- Exporteren van huurcontracten via de knop in het huurmutatiescherm. De geselecteerde mutatie wordt in de tabel
|
||
-- CONN_EXP_CONTRACTMUTATIE geschreven. Hierna volgt de dagelijkse export die de regels daadwerkelijk in het exportbestand
|
||
-- plaatst.
|
||
CREATE OR REPLACE PROCEDURE CONN_EXPORT_HUURMUTATIE (
|
||
p_MutatieKey IN NUMBER,
|
||
p_LogLevel IN NUMBER)
|
||
AS
|
||
v_INGANGSDATUM VARCHAR2(20);
|
||
v_INDEXERINGSDATUM VARCHAR2(20);
|
||
v_INDEXERINGSCODE VARCHAR2(20);
|
||
v_INDEXERINGSMETHODE VARCHAR2(20);
|
||
v_HUURDERNUMMER VARCHAR2(20);
|
||
v_BUDGETCODE VARCHAR2(20);
|
||
v_COMPLEXNUMMER VARCHAR2(20);
|
||
v_EENHEIDSNUMMER VARCHAR2(83);
|
||
v_FACTUURDEBITEUR VARCHAR2(20);
|
||
v_PROLONGATIETERMIJN VARCHAR2(20);
|
||
v_TOTAAL NUMBER;
|
||
ORACLE_err_num NUMBER;
|
||
ORACLE_err_mes VARCHAR2(100);
|
||
v_actie VARCHAR2(100);
|
||
v_index NUMBER;
|
||
|
||
CURSOR c_tarief IS
|
||
select cnt_contract_key,
|
||
aog.ALG_SRTONRGOED_CODE,
|
||
aog.ALG_SRTONRGOED_PRIJS,
|
||
sum(cnt_contract_onrgoed_opp) opp
|
||
from (select cnt_contract_key
|
||
, alg_srtonrgoed_key
|
||
, alg_onrgoed_niveau
|
||
, cnt_contract_onrgoed_opp
|
||
from cnt_contract_onrgoed
|
||
where cnt_mld_melding_key is not null
|
||
union all
|
||
select cogo.cnt_contract_key
|
||
, cogo.alg_srtonrgoed_key
|
||
, cogo.alg_onrgoed_niveau
|
||
, cogo.cnt_contract_onrgoed_opp - nvl(cogm.cnt_contract_onrgoed_opp,0) cnt_contract_onrgoed_opp
|
||
from cnt_contract_onrgoed cogo, cnt_contract_onrgoed cogm
|
||
where cogm.cnt_contract_onrgoed_key_org(+) = cogo.cnt_contract_onrgoed_key
|
||
and cogo.cnt_mld_melding_key is null
|
||
) contract
|
||
, alg_v_allsrtonrgoed aog
|
||
where cnt_contract_key in (
|
||
select cnt_contract_key
|
||
from (
|
||
select cog.cnt_contract_key,
|
||
cogm.cnt_mld_melding_key cnt_mld_melding_key
|
||
from cnt_contract_onrgoed cog
|
||
, cnt_contract_onrgoed cogm
|
||
where cogm.cnt_contract_onrgoed_key_org = cog.cnt_contract_onrgoed_key
|
||
union
|
||
select cog.cnt_contract_key
|
||
, cnt_mld_melding_key
|
||
from cnt_contract_onrgoed cog
|
||
)
|
||
where cnt_mld_melding_key = p_MutatieKey
|
||
)
|
||
and aog.alg_srtonrgoed_key = contract.alg_srtonrgoed_key
|
||
and aog.alg_type = contract.alg_onrgoed_niveau
|
||
group by contract.alg_srtonrgoed_key,
|
||
cnt_contract_key,
|
||
aog.ALG_SRTONRGOED_CODE,
|
||
aog.ALG_SRTONRGOED_PRIJS
|
||
order by cnt_contract_key;
|
||
|
||
v_TariefRec c_Tarief%ROWTYPE;
|
||
v_CNT_CONTRACT_KEY NUMBER(10);
|
||
|
||
BEGIN
|
||
v_actie := 'idle';
|
||
v_index := 0;
|
||
DBMS_OUTPUT.put_line('Before Select MLD_MELDING_KEY');
|
||
|
||
BEGIN
|
||
SELECT NVL(km.MLD_KENMERKMELDING_WAARDE, '')
|
||
INTO v_INGANGSDATUM
|
||
FROM MLD_KENMERKMELDING km
|
||
WHERE km.MLD_MELDING_KEY = p_MutatieKey
|
||
AND km.MLD_KENMERK_KEY = 781;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_INGANGSDATUM := NULL;
|
||
END;
|
||
|
||
DBMS_OUTPUT.put_line('Before Select 1621');
|
||
BEGIN
|
||
SELECT NVL(km.MLD_KENMERKMELDING_WAARDE, '')
|
||
INTO v_INDEXERINGSDATUM
|
||
FROM MLD_KENMERKMELDING km
|
||
WHERE km.MLD_MELDING_KEY = p_MutatieKey
|
||
AND km.MLD_KENMERK_KEY = 1621;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_INDEXERINGSDATUM := NULL;
|
||
END;
|
||
|
||
DBMS_OUTPUT.put_line('Before Select 1625');
|
||
BEGIN
|
||
SELECT NVL(fd.FAC_USRDATA_CODE, '')
|
||
INTO v_INDEXERINGSCODE
|
||
FROM MLD_KENMERKMELDING km
|
||
, FAC_USRDATA fd
|
||
WHERE km.MLD_MELDING_KEY = p_MutatieKey
|
||
AND fac.safe_to_number(km.MLD_KENMERKMELDING_WAARDE) = fd.FAC_USRDATA_KEY
|
||
AND km.MLD_KENMERK_KEY = 1625;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_INDEXERINGSCODE := NULL;
|
||
END;
|
||
|
||
DBMS_OUTPUT.put_line('Before Select 1622');
|
||
BEGIN
|
||
SELECT NVL(fd.FAC_USRDATA_CODE, '')
|
||
INTO v_INDEXERINGSMETHODE
|
||
FROM MLD_KENMERKMELDING km
|
||
, FAC_USRDATA fd
|
||
WHERE km.MLD_MELDING_KEY = p_MutatieKey
|
||
AND fac.safe_to_number(km.MLD_KENMERKMELDING_WAARDE) = fd.FAC_USRDATA_KEY
|
||
AND km.MLD_KENMERK_KEY = 1622;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_INDEXERINGSMETHODE := NULL;
|
||
END;
|
||
|
||
DBMS_OUTPUT.put_line('Before Select 1641');
|
||
BEGIN
|
||
SELECT NVL(fd.FAC_USRDATA_CODE, '')
|
||
INTO v_PROLONGATIETERMIJN
|
||
FROM MLD_KENMERKMELDING km
|
||
, FAC_USRDATA fd
|
||
WHERE km.MLD_MELDING_KEY = p_MutatieKey
|
||
AND fac.safe_to_number(km.MLD_KENMERKMELDING_WAARDE) = fd.FAC_USRDATA_KEY
|
||
AND km.MLD_KENMERK_KEY = 1641;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_PROLONGATIETERMIJN := NULL;
|
||
END;
|
||
|
||
DBMS_OUTPUT.put_line('Before LOOP');
|
||
v_CNT_CONTRACT_KEY := -1;
|
||
v_actie := 'Bepaling individuele tarieven';
|
||
OPEN c_Tarief;
|
||
IF c_Tarief%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH c_Tarief INTO v_TariefRec;
|
||
EXIT WHEN c_Tarief%NOTFOUND;
|
||
DBMS_OUTPUT.put_line('Contract key ' || v_TariefRec.cnt_contract_key);
|
||
IF v_CNT_CONTRACT_KEY <> v_TariefRec.cnt_contract_key THEN
|
||
v_CNT_CONTRACT_KEY := v_TariefRec.cnt_contract_key;
|
||
|
||
v_actie := 'Bepaling individuele tarieven (contract:' || v_CNT_CONTRACT_KEY || ')';
|
||
DBMS_OUTPUT.put_line('1');
|
||
select sum(cnt_contract_onrgoed_opp*aog.ALG_SRTONRGOED_PRIJS) prijs
|
||
into v_TOTAAL
|
||
from (select cnt_contract_key
|
||
, alg_srtonrgoed_key
|
||
, alg_onrgoed_niveau
|
||
, cnt_contract_onrgoed_opp
|
||
from cnt_contract_onrgoed
|
||
where cnt_mld_melding_key is not null
|
||
union all
|
||
select cogo.cnt_contract_key
|
||
, cogo.alg_srtonrgoed_key
|
||
, cogo.alg_onrgoed_niveau
|
||
, cogo.cnt_contract_onrgoed_opp - nvl(cogm.cnt_contract_onrgoed_opp,0) cnt_contract_onrgoed_opp
|
||
from cnt_contract_onrgoed cogo, cnt_contract_onrgoed cogm
|
||
where cogm.cnt_contract_onrgoed_key_org(+) = cogo.cnt_contract_onrgoed_key
|
||
and cogo.cnt_mld_melding_key is null
|
||
) contract
|
||
, alg_v_allsrtonrgoed aog
|
||
where cnt_contract_key = v_CNT_CONTRACT_KEY
|
||
and aog.alg_srtonrgoed_key = contract.alg_srtonrgoed_key
|
||
and aog.alg_type = contract.alg_onrgoed_niveau;
|
||
|
||
v_actie := 'Bepaling leveranciergegevens (contract:' || v_CNT_CONTRACT_KEY || ')';
|
||
DBMS_OUTPUT.put_line('Bepaling leveranciergegevens (contract:' || v_CNT_CONTRACT_KEY || ')');
|
||
SELECT substr(prs_leverancier_nr,0,instr(prs_leverancier_nr, '/')-1)
|
||
, substr(prs_leverancier_nr,instr(prs_leverancier_nr, '/')+1)
|
||
, c.cnt_contract_nummer
|
||
INTO v_BUDGETCODE
|
||
, v_HUURDERNUMMER
|
||
, v_EENHEIDSNUMMER
|
||
FROM CNT_CONTRACT c
|
||
, PRS_BEDRIJF b
|
||
WHERE c.CNT_CONTRACT_KEY = v_cnt_contract_key
|
||
AND c.CNT_PRS_BEDRIJF_KEY = b.PRS_BEDRIJF_KEY;
|
||
|
||
BEGIN
|
||
SELECT nvl(prs_kenmerklink_waarde,'')
|
||
INTO v_FACTUURDEBITEUR
|
||
FROM prs_kenmerklink kl
|
||
, CNT_CONTRACT c
|
||
, PRS_BEDRIJF b
|
||
WHERE c.CNT_CONTRACT_KEY = v_cnt_contract_key
|
||
AND c.CNT_PRS_BEDRIJF_KEY = b.PRS_BEDRIJF_KEY
|
||
AND kl.prs_link_key = prs_bedrijf_key
|
||
and prs_kenmerk_key = 1014;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_FACTUURDEBITEUR := NULL;
|
||
END;
|
||
|
||
END IF;
|
||
DBMS_OUTPUT.put_line('Bepaling locatiecode (contract:' || v_CNT_CONTRACT_KEY || ')');
|
||
v_actie := 'Bepaling locatiecode (contract:' || v_CNT_CONTRACT_KEY || ')';
|
||
SELECT max (l.alg_locatie_code)
|
||
INTO v_COMPLEXNUMMER
|
||
FROM cnt_contract_onrgoed cog
|
||
, alg_v_allonroerendgoed aog
|
||
, alg_locatie l
|
||
WHERE cog.alg_onrgoed_key = aog.alg_onroerendgoed_keys
|
||
AND aog.alg_locatie_key = l.alg_locatie_key
|
||
AND cog.cnt_mld_melding_key = p_MutatieKey;
|
||
DBMS_OUTPUT.put_line('Toevoegen record (contract:' || v_CNT_CONTRACT_KEY || ', tarieftype:' || v_TariefRec.ALG_SRTONRGOED_CODE || ')');
|
||
v_actie := 'Toevoegen record (contract:' || v_CNT_CONTRACT_KEY || ', tarieftype:' || v_TariefRec.ALG_SRTONRGOED_CODE || ')';
|
||
v_index := v_index + 1;
|
||
INSERT INTO CONN_EXP_CONTRACTMUTATIE
|
||
( BEDRIJFSNUMMER
|
||
, MUTATIENUMMER
|
||
, HUURDERNUMMER
|
||
, BUDGETCODE
|
||
, COMPLEXNUMMER
|
||
, EENHEIDSNUMMER
|
||
, INGANGSDATUM
|
||
, FACTUURDEBITEUR
|
||
, PROLONGATIETERMIJN
|
||
, INDEXERINGSDATUM
|
||
, INDEXERINGSCODE
|
||
, INDEXERINGSMETHODE
|
||
, TARIEFTYPE
|
||
, AANTAL
|
||
, TARIEF
|
||
, TOTAAL
|
||
, REGELINDEX
|
||
) VALUES (
|
||
'0011'
|
||
, p_MutatieKey || '/' || v_CNT_CONTRACT_KEY
|
||
, v_HUURDERNUMMER
|
||
, v_BUDGETCODE
|
||
, v_COMPLEXNUMMER
|
||
, v_EENHEIDSNUMMER
|
||
, fac.safe_to_date(v_INGANGSDATUM, 'dd-mm-yyyy')
|
||
, v_FACTUURDEBITEUR
|
||
, v_PROLONGATIETERMIJN
|
||
, fac.safe_to_date(v_INDEXERINGSDATUM,'dd-mm-yyyy')
|
||
, v_INDEXERINGSCODE
|
||
, v_INDEXERINGSMETHODE
|
||
, v_TariefRec.ALG_SRTONRGOED_CODE
|
||
, v_TariefRec.opp
|
||
, v_TariefRec.ALG_SRTONRGOED_PRIJS
|
||
, v_TOTAAL
|
||
, v_index
|
||
);
|
||
END;
|
||
END LOOP;
|
||
|
||
-- toevoegen aantal aan records
|
||
UPDATE CONN_EXP_CONTRACTMUTATIE SET AANTALREGELS = v_index WHERE substr(MUTATIENUMMER,0,instr(MUTATIENUMMER, '/')-1) = p_MutatieKey;
|
||
DBMS_OUTPUT.put_line('Na update CONN_EXP_CONTRACTMUTATIE (aantalregels)');
|
||
v_actie := 'Update mutaties';
|
||
UPDATE cnt_contract_onrgoed SET cnt_mutatie_status_key = 6 WHERE cnt_mld_melding_key=p_MutatieKey;
|
||
|
||
END IF;
|
||
|
||
commit;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
ROLLBACK;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
fac.imp_writelog ('EXPORT HUURMUTATIES',
|
||
p_MutatieKey || ' date:' || trunc(sysdate),
|
||
'E',
|
||
'(ORACLE error ' || to_char(oracle_err_num) || '/' || oracle_err_mes || ')',
|
||
v_actie
|
||
);
|
||
COMMIT;
|
||
|
||
END CONN_EXPORT_HUURMUTATIE;
|
||
/
|
||
|
||
|
||
/* Formatted on 2006/04/04 17:07 (Formatter Plus v4.8.6) */
|
||
CREATE OR REPLACE VIEW conn_v_exp_contractmutatie (bedrijfsnummer,
|
||
fclt_f_mutatienummer,
|
||
huurdernummer,
|
||
budgetcode,
|
||
fclt_f_complexnummer,
|
||
eenheidsnummer,
|
||
ingangsdatum,
|
||
factuurdebiteur,
|
||
indexeringsdatum,
|
||
indexeringscode,
|
||
indexeringsmethode,
|
||
tarieftype,
|
||
aantal,
|
||
tarief,
|
||
totaal
|
||
)
|
||
AS
|
||
SELECT bedrijfsnummer, mutatienummer, huurdernummer, budgetcode,
|
||
complexnummer, eenheidsnummer, ingangsdatum, factuurdebiteur,
|
||
indexeringsdatum, indexeringscode, indexeringsmethode, tarieftype,
|
||
aantal, tarief, totaal
|
||
FROM conn_exp_contractmutatie;
|
||
|
||
|
||
--CONN#69
|
||
/* Formatted on 2006/03/07 10:46 (Formatter Plus v4.8.5) */
|
||
|
||
CREATE OR REPLACE VIEW conn_v_rapp_chipknip_detail (fclt_f_artikel_nr, fclt_f_maand, prijs, uitgegeven, ingekocht)
|
||
AS
|
||
SELECT ins_srtdeel_nr, maand, ins_srtdeel_prijs, SUM (aantal_intern), SUM (aantal_extern)
|
||
FROM (SELECT ins_srtdeel_nr, TO_CHAR (bes_bestelling_datum, 'YYYYMM') maand, ins_srtdeel_prijs,
|
||
SUM (bi.bes_bestelling_item_aantal) aantal_intern, TO_NUMBER (NULL) aantal_extern
|
||
FROM ins_srtgroep g, ins_srtdeel sd, bes_bestelling b, bes_bestelling_item bi
|
||
WHERE g.ins_discipline_key = 541
|
||
AND sd.ins_srtgroep_key = g.ins_srtgroep_key
|
||
AND sd.ins_srtdeel_verwijder IS NULL
|
||
AND bi.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND b.bes_bestelling_status > 4
|
||
GROUP BY ins_srtdeel_nr, ins_srtdeel_prijs, TO_CHAR (bes_bestelling_datum, 'YYYYMM')
|
||
UNION ALL
|
||
SELECT ins_srtdeel_nr, TO_CHAR (bes_bestelling_datum, 'YYYYMM'), ins_srtdeel_prijs, TO_NUMBER (NULL),
|
||
SUM (bi.bes_bestelling_item_aantal)
|
||
FROM ins_srtgroep g, ins_srtdeel sd, bes_bestelling b, bes_bestelling_item bi
|
||
WHERE g.ins_discipline_key = 801
|
||
AND sd.ins_srtgroep_key = g.ins_srtgroep_key
|
||
AND sd.ins_srtdeel_verwijder IS NULL
|
||
AND bi.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND b.bes_bestelling_status > 4
|
||
GROUP BY ins_srtdeel_nr, ins_srtdeel_prijs, TO_CHAR (bes_bestelling_datum, 'YYYYMM'))
|
||
GROUP BY ins_srtdeel_nr, maand, ins_srtdeel_prijs;
|
||
|
||
|
||
/* Formatted on 2006/02/24 11:40 (Formatter Plus v4.8.6) */
|
||
CREATE OR REPLACE VIEW conn_v_rapp_chipknip (fclt_f_artikel_nr,
|
||
prijs,
|
||
uitgegeven,
|
||
ingekocht,
|
||
voorraad
|
||
)
|
||
AS
|
||
SELECT fclt_f_artikel_nr, prijs, SUM (uitgegeven),
|
||
SUM (ingekocht), SUM(ingekocht) - SUM(uitgegeven)
|
||
FROM conn_v_rapp_chipknip_detail
|
||
GROUP BY fclt_f_artikel_nr, prijs;
|
||
|
||
|
||
--CONN#649
|
||
CREATE OR REPLACE VIEW conn_v_loctype_huur_detail (locatie_omschrijving,
|
||
fclt_f_locatie_code,
|
||
locatie_type,
|
||
uitbeheer,
|
||
hide_f_volgnr,
|
||
omschrijving,
|
||
tarief,
|
||
oppervlakte
|
||
)
|
||
AS
|
||
SELECT alg_locatie_omschrijving, alg_locatie_code,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key = fac.safe_to_number (k_type.alg_onrgoedkenmerk_waarde)) TYPE,
|
||
k_inbeh.alg_onrgoedkenmerk_waarde inbeheer, volgnr, oms, code, oppervlak
|
||
FROM alg_v_aanweziglocatie l,
|
||
alg_onrgoedkenmerk k_type,
|
||
alg_onrgoedkenmerk k_inbeh,
|
||
(SELECT alg_locatie_key, 'Kadastraal Oppervlakte' oms, '1' volgnr, '' code,
|
||
fac.safe_to_number (k_kad.alg_onrgoedkenmerk_waarde) oppervlak
|
||
FROM alg_v_aanweziglocatie l, alg_onrgoedkenmerk k_kad
|
||
WHERE l.alg_locatie_key = k_kad.alg_onrgoed_key AND k_kad.alg_kenmerk_key = 1025
|
||
UNION ALL
|
||
SELECT alg_locatie_key, 'Verhuurbaar Oppervlakte' oms, '2' volgnr, '' code,
|
||
fac.safe_to_number (k_verh.alg_onrgoedkenmerk_waarde) oppervlak
|
||
FROM alg_v_aanweziglocatie l, alg_onrgoedkenmerk k_verh
|
||
WHERE l.alg_locatie_key = k_verh.alg_onrgoed_key AND k_verh.alg_kenmerk_key = 1020
|
||
UNION ALL
|
||
SELECT alg_locatie_key, leegstand oms, '3' volgnr, code, SUM (oppervlak) oppervlak
|
||
FROM (SELECT co.cnt_contract_key, prs_bedrijf_key,
|
||
DECODE (prs_bedrijf_key, 13324, 'Leegstand', 'Verhuurd') leegstand,
|
||
SUM (cog.cnt_contract_onrgoed_opp) oppervlak, aog.alg_locatie_key alg_locatie_key,
|
||
cog.alg_srtonrgoed_key,
|
||
DECODE (LPAD (sog.alg_srtonrgoed_code, 1),
|
||
'K', 'Kantoor',
|
||
'B', 'Werkplaats',
|
||
'S', 'Stalling',
|
||
'W', 'Werkplaats',
|
||
'A', 'Algemene Ruimte',
|
||
'P', 'Portocabin',
|
||
'T', 'Terrein',
|
||
LPAD (sog.alg_srtonrgoed_code, 1)
|
||
) code,
|
||
cog.alg_onrgoed_niveau
|
||
FROM cnt_v_aanwezigcontract co,
|
||
cnt_v_cnt_contract_onrgoed_cur cog,
|
||
alg_v_allonroerendgoed aog,
|
||
alg_v_allsrtonrgoed sog,
|
||
prs_v_aanwezigbedrijf b,
|
||
cnt_disc_params cdp
|
||
WHERE co.cnt_contract_key = cog.cnt_contract_key
|
||
AND cog.alg_srtonrgoed_key = sog.alg_srtonrgoed_key
|
||
AND cog.alg_onrgoed_key = aog.alg_onroerendgoed_keys
|
||
AND sog.alg_type = aog.alg_type
|
||
AND co.ins_discipline_key = cdp.cnt_ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type = 2
|
||
AND cog.alg_onrgoed_niveau = sog.alg_type
|
||
AND co.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND UPPER (LPAD (sog.alg_srtonrgoed_code, 1)) <> 'C'
|
||
GROUP BY co.cnt_contract_key,
|
||
aog.alg_locatie_key,
|
||
prs_bedrijf_key,
|
||
cog.alg_srtonrgoed_key,
|
||
sog.alg_srtonrgoed_code,
|
||
cog.alg_onrgoed_niveau)
|
||
GROUP BY alg_locatie_key, leegstand, code) verh
|
||
WHERE l.alg_locatie_key = k_type.alg_onrgoed_key(+)
|
||
AND k_type.alg_kenmerk_key(+) = 1120
|
||
AND l.alg_locatie_key = k_inbeh.alg_onrgoed_key(+)
|
||
AND k_inbeh.alg_kenmerk_key(+) = 22
|
||
AND l.alg_locatie_key = verh.alg_locatie_key
|
||
ORDER BY alg_locatie_code, volgnr, oms DESC, code;
|
||
|
||
/* Formatted on 2006/02/14 22:07 (Formatter Plus v4.8.6) */
|
||
CREATE OR REPLACE VIEW conn_v_loctype_huur (fclt_f_locatie_type,
|
||
hide_f_volgnr,
|
||
fclt_f_omschrijving,
|
||
fclt_f_tarief,
|
||
oppervlakte
|
||
)
|
||
AS
|
||
SELECT locatie_type, hide_f_volgnr, omschrijving, tarief,
|
||
SUM (oppervlakte)
|
||
FROM conn_v_loctype_huur_detail
|
||
WHERE uitbeheer IS NULL OR TO_DATE (uitbeheer, 'DD-MM-YYYY') > SYSDATE
|
||
GROUP BY locatie_type, hide_f_volgnr, omschrijving, tarief;
|
||
|
||
/* Formatted on 2005/05/27 13:17 (Formatter Plus v4.8.0) */
|
||
CREATE OR REPLACE VIEW conn_v_open_huur_mut (hide_f_melding_key,
|
||
fclt_f_melding,
|
||
fclt_f_locatie,
|
||
gebouw_terrein,
|
||
verdieping,
|
||
ruimte
|
||
)
|
||
AS
|
||
SELECT mld_melding_key, to_char(mld_melding_key), l.alg_locatie_code,
|
||
NVL (g.alg_gebouw_code, t.alg_terreinsector_code),
|
||
v.alg_verdieping_code, alg_ruimte_nr
|
||
FROM mld_melding m,
|
||
alg_v_allonroerendgoed aog,
|
||
cnt_contract_onrgoed cog,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r,
|
||
alg_terreinsector t
|
||
WHERE m.mld_melding_key = cog.cnt_mld_melding_key
|
||
AND aog.alg_gebouw_key = g.alg_gebouw_key(+)
|
||
AND aog.alg_verdieping_key = v.alg_verdieping_key(+)
|
||
AND aog.alg_ruimte_key = r.alg_ruimte_key(+)
|
||
AND aog.alg_terreinsector_key = t.alg_terreinsector_key(+)
|
||
AND aog.alg_locatie_key = l.alg_locatie_key
|
||
AND aog.alg_onroerendgoed_keys = cog.alg_onrgoed_key;
|
||
|
||
|
||
-- CONN#435
|
||
CREATE OR REPLACE VIEW CONN_V_LEV_SCHOONMAAK
|
||
(PRS_BEDRIJF_KEY, PRS_BEDRIJF_NAAM)
|
||
AS
|
||
SELECT DISTINCT prs_bedrijf.PRS_BEDRIJF_KEY,prs_bedrijf.PRS_BEDRIJF_NAAM
|
||
FROM prs_bedrijf, prs_bedrijfdienstlocatie
|
||
WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL
|
||
AND prs_bedrijf.prs_bedrijf_key = prs_bedrijfdienstlocatie.prs_bedrijf_key
|
||
AND prs_bedrijfdienstlocatie.prs_dienst_key = 129 ;
|
||
|
||
|
||
/* Formatted on 2006/06/16 09:43 (Formatter Plus v4.8.5) */
|
||
-- aangepast ivm datamodelchanges. Was m.i. in vorige versie NIET goed, dus deze geeft ook ander resultaat
|
||
CREATE OR REPLACE VIEW conn_mi_rapport_prod_groep (nr,
|
||
fclt_f_maand,
|
||
naam,
|
||
fclt_f_business_unit,
|
||
afdeling,
|
||
kostenplaats,
|
||
aantal,
|
||
fclt_f_catalogus,
|
||
fclt_f_groep,
|
||
prijs,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (b.bes_bestelling_key) c1, TO_CHAR (bes_bestelling_datum, 'YYMM') c3,
|
||
prs_perslid_naam || DECODE (prs_perslid_voorletters, NULL, '', ', ' || prs_perslid_voorletters) c6,
|
||
bu.prs_afdeling_omschrijving c5, fu.prs_afdeling_naam || '/' || a.prs_afdeling_omschrijving c7,
|
||
kpl.prs_kostenplaats_nr kp, SUM (bi.bes_bestelling_item_aantal) c9, d.ins_discipline_omschrijving d1,
|
||
g.ins_srtgroep_omschrijving d2, SUM (bi.bes_bestelling_item_aantal * pr.prijs) c10, fu.prs_afdeling_key
|
||
FROM bes_bestelling_item bi,
|
||
ins_srtdeel srt,
|
||
bes_bestelling b,
|
||
bes_bestellingstatuses s,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_afdeling bu,
|
||
prs_v_afdeling_boom bo,
|
||
prs_v_afdeling_fullnames fu,
|
||
ins_srtgroep g,
|
||
ins_tab_discipline d,
|
||
bes_v_item_prijs pr,
|
||
prs_kostenplaats kpl
|
||
WHERE b.bes_bestelling_status = s.bes_bestellingstatuses_key
|
||
AND bi.ins_srtdeel_key = srt.ins_srtdeel_key
|
||
AND bi.bes_bestelling_item_key = pr.bes_bestelling_item_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND p.prs_perslid_key = b.prs_perslid_key
|
||
AND bo.prs_afdeling_key(+) = a.prs_afdeling_key
|
||
AND fu.prs_afdeling_key = a.prs_afdeling_key
|
||
AND bu.prs_afdeling_key = bo.prs_afdeling_key1
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND srt.ins_srtgroep_key = g.ins_srtgroep_key
|
||
AND g.ins_discipline_key = d.ins_discipline_key
|
||
AND (b.bes_bestelling_status = 6 OR b.bes_bestelling_status = 7)
|
||
AND b.prs_kostenplaats_key = kpl.prs_kostenplaats_key(+)
|
||
GROUP BY b.bes_bestelling_key,
|
||
TO_CHAR (bes_bestelling_datum, 'YYMM'),
|
||
prs_perslid_naam || DECODE (prs_perslid_voorletters, NULL, '', ', ' || prs_perslid_voorletters),
|
||
bu.prs_afdeling_omschrijving,
|
||
fu.prs_afdeling_naam || '/' || a.prs_afdeling_omschrijving,
|
||
d.ins_discipline_omschrijving,
|
||
kpl.prs_kostenplaats_nr,
|
||
fu.prs_afdeling_key,
|
||
g.ins_srtgroep_omschrijving;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_MI_RAPPORT_ARTIKELEN
|
||
(FCLT_F_MAAND, AANTAL, FCLT_F_CATALOGUS, FCLT_F_GROEP, FCLT_F_OMSCHRIJVING, PRIJS)
|
||
AS
|
||
SELECT
|
||
TO_CHAR(bes_bestelling_datum, 'YYMM'),
|
||
SUM( bi.bes_bestelling_item_aantal),
|
||
d.INS_DISCIPLINE_OMSCHRIJVING,
|
||
g.ins_srtgroep_omschrijving,
|
||
ins_srtdeel_omschrijving,
|
||
SUM( bi.bes_bestelling_item_aantal * pr.PRIJS)
|
||
FROM
|
||
BES_BESTELLING_ITEM bi,
|
||
INS_SRTDEEL srt,
|
||
BES_BESTELLING b,
|
||
INS_SRTGROEP g,
|
||
INS_TAB_DISCIPLINE d,
|
||
bes_v_item_prijs pr
|
||
WHERE
|
||
bi.INS_SRTDEEL_key = srt.INS_SRTDEEL_key AND
|
||
bi.BES_bestelling_item_key = pr.bes_bestelling_item_key AND
|
||
bi.BES_bestelling_KEY = b.BES_bestelling_KEY AND
|
||
srt.INS_SRTGROEP_KEY = g.INS_SRTGROEP_KEY AND
|
||
g.INS_DISCIPLINE_KEY = d.INS_DISCIPLINE_KEY AND
|
||
(b.bes_bestelling_status = 6 OR b.bes_bestelling_status = 7) AND
|
||
bi.bes_bestelling_item_aantal <> 0
|
||
GROUP BY
|
||
TO_CHAR(bes_bestelling_datum, 'YYMM'),
|
||
d.INS_DISCIPLINE_OMSCHRIJVING,
|
||
g.ins_srtgroep_omschrijving,
|
||
ins_srtdeel_omschrijving;
|
||
|
||
/* Formatted on 2006/09/01 16:21 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_bedrijf_gegevens
|
||
AS
|
||
SELECT prs_bedrijf_key, prs_bedrijf_naam, prs_bedrijf_naam_upper,
|
||
prs_bedrijf_post_adres, prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats, prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode, prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_telefoon, prs_bedrijf_fax, prs_bedrijf_contact_persoon,
|
||
prs_bedrijf_contact_telefoon, prs_bedrijf_contact_fax,
|
||
prs_bedrijf_opmerking, prs_bedrijf_uurloon, prs_leverancier_nr,
|
||
prs_overeenkomst_nr, prs_overeenkomst_datum, prs_bedrijf_aanmaak,
|
||
prs_bedrijf_verwijder, prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende, prs_bedrijf_contract, prs_bedrijf_email,
|
||
prs_bedrijf_xsl, prs_bedrijf_order_adres, prs_bedrijf_image_loc,
|
||
prs_bedrijf_details_loc, mld_adres_key_lev, mld_adres_key_fac,
|
||
prs_bedrijf_bezoek_land, prs_bedrijf_post_land,
|
||
prs_bedrijf_telefoon2, prs_bedrijf_opmerking2, prs_bedrijf_intern,
|
||
prs_bedrijf_huurder, prs_bedrijf_ingids,
|
||
SUBSTR (b.prs_leverancier_nr,
|
||
INSTR (b.prs_leverancier_nr, '/') + 1
|
||
) huurdernr,
|
||
SUBSTR (b.prs_leverancier_nr,
|
||
1,
|
||
INSTR (b.prs_leverancier_nr, '/') - 1
|
||
) budgetcode
|
||
FROM prs_bedrijf b
|
||
WHERE prs_bedrijf_verwijder IS NULL;
|
||
|
||
|
||
-- verwijderen van de afdelingen uit de view heeft een negatief effect op de performance!!!!
|
||
CREATE OR REPLACE VIEW conn_v_locatiehuurder
|
||
(omschrijving, huurder_key, complex, huurder, huurdernr, budgetcode)
|
||
AS
|
||
SELECT complex || '-' || huurder || '-' || budgetcode AS omschrijving,
|
||
NVL (fac.safe_to_number (complex), 0) * 100000
|
||
+ NVL (fac.safe_to_number (SUBSTR (budgetcode, INSTR (budgetcode, '-') + 1)), 0) AS huurder_key,
|
||
complex, huurder, huurdernr, budgetcode
|
||
FROM (SELECT alg_locatie_code complex, b.prs_bedrijf_naam huurder, b.huurdernr, b.budgetcode
|
||
FROM cnt_v_contract_locatie_geg lg,
|
||
alg_locatie l,
|
||
conn_v_bedrijf_gegevens b,
|
||
prs_afdeling a,
|
||
cnt_disc_params cdp
|
||
WHERE cdp.cnt_ins_discipline_key = lg.ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type = 2
|
||
AND l.alg_locatie_key = lg.alg_locatie_key
|
||
AND lg.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND lg.cnt_prs_afdeling_key = a.prs_afdeling_key(+));
|
||
|
||
--
|
||
-- CONN#460
|
||
--
|
||
CREATE OR REPLACE PACKAGE CONN_RAP AS
|
||
-- PACKAGES voor de Connexxion specifieke rapportages
|
||
TYPE t_cursor IS REF CURSOR;
|
||
FUNCTION FindNearestSampleValue(p_ins_deel_key IN NUMBER,p_ins_kenmerk_key IN NUMBER ,p_sample_date IN DATE) RETURN NUMBER;
|
||
FUNCTION FindNearestSampleDate(p_ins_deel_key IN NUMBER,p_ins_kenmerk_key IN NUMBER ,p_sample_date IN DATE) RETURN DATE;
|
||
PROCEDURE conn_p_verbruik (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
|
||
PROCEDURE conn_p_bes_div_cat (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY CONN_RAP AS
|
||
--
|
||
-- Algemene procedures en functies.
|
||
--
|
||
--
|
||
FUNCTION FindNearestSampleDate(p_ins_deel_key IN NUMBER
|
||
,p_ins_kenmerk_key IN NUMBER
|
||
,p_sample_date IN DATE
|
||
) RETURN DATE IS
|
||
v_waarde DATE;
|
||
BEGIN
|
||
SELECT waarde
|
||
INTO v_waarde
|
||
FROM (
|
||
SELECT ins_kenmerkdeel_aanmaak waarde
|
||
FROM ins_kenmerkdeel skd
|
||
WHERE skd.ins_kenmerk_key = p_ins_kenmerk_key
|
||
AND skd.ins_deel_key = p_ins_deel_key
|
||
ORDER BY ABS(p_sample_date - skd.INS_KENMERKDEEL_AANMAAK)
|
||
)
|
||
WHERE ROWNUM = 1;
|
||
RETURN v_waarde;
|
||
END;
|
||
--
|
||
FUNCTION FindNearestSampleValue(p_ins_deel_key IN NUMBER
|
||
,p_ins_kenmerk_key IN NUMBER
|
||
,p_sample_date IN DATE
|
||
) RETURN NUMBER IS
|
||
v_waarde NUMBER;
|
||
BEGIN
|
||
SELECT FAC.safe_to_number(waarde)
|
||
INTO v_waarde
|
||
FROM (
|
||
SELECT ins_kenmerkdeel_waarde waarde
|
||
FROM ins_kenmerkdeel skd
|
||
WHERE skd.ins_kenmerk_key = p_ins_kenmerk_key
|
||
AND skd.ins_deel_key = p_ins_deel_key
|
||
ORDER BY ABS(p_sample_date - skd.INS_KENMERKDEEL_AANMAAK)
|
||
)
|
||
WHERE ROWNUM = 1;
|
||
RETURN v_waarde;
|
||
END;
|
||
--
|
||
PROCEDURE conn_p_verbruik (user_key IN NUMBER
|
||
,p_datum_van IN VARCHAR2, -- Let wel: formaat '13-05-2005'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor) AS
|
||
v_datum_van DATE;
|
||
v_datum_tot DATE;
|
||
v_alg_level_read NUMBER;
|
||
BEGIN
|
||
v_datum_van := fac.safe_to_date(p_datum_van, 'dd-mm-yyyy');
|
||
v_datum_tot := fac.safe_to_date(p_datum_tot, 'dd-mm-yyyy');
|
||
|
||
SELECT MIN(fac_gebruiker_alg_level_read)
|
||
INTO v_alg_level_read
|
||
FROM fac_v_webgebruiker
|
||
WHERE prs_perslid_key = user_key
|
||
AND fac_functie_key = 242; -- WEB_OBJUSE
|
||
|
||
IF v_alg_level_read = -1 THEN
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT alg_locatie_code code,
|
||
alg_locatie_omschrijving naam,
|
||
ins_deel_omschrijving meter,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) -
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) verbruik,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van),'dd-mm-yyyy hh24:mi') begin_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) begin_waarde,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot),'dd-mm-yyyy hh24:mi') eind_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) eind_waarde
|
||
FROM (
|
||
SELECT DISTINCT
|
||
d.ins_deel_key,
|
||
k.ins_kenmerk_key,
|
||
ins_deel_omschrijving,
|
||
alg_locatie_key,
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_code
|
||
FROM ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_kenmerkdeel kd,
|
||
ins_kenmerk k,
|
||
ins_srtkenmerk sk,
|
||
alg_locatie l
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_kenmerk_meetwaarde = 1
|
||
AND sk.INS_SRTKENMERK_KENMERKTYPE = 'N'
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
) res
|
||
ORDER BY code;
|
||
ELSE -- We moeten echte autorisatie controleren
|
||
OPEN p_cursor FOR
|
||
SELECT alg_locatie_code code,
|
||
alg_locatie_omschrijving naam,
|
||
ins_deel_omschrijving meter,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) -
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) verbruik,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van),'dd-mm-yyyy hh24:mi') begin_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) begin_waarde,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot),'dd-mm-yyyy hh24:mi') eind_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) eind_waarde
|
||
FROM (
|
||
SELECT DISTINCT
|
||
d.ins_deel_key,
|
||
k.ins_kenmerk_key,
|
||
ins_deel_omschrijving,
|
||
alg_locatie_key,
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_code
|
||
FROM ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_kenmerkdeel kd,
|
||
ins_kenmerk k,
|
||
ins_srtkenmerk sk,
|
||
alg_locatie l
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND d.INS_ALG_LOCATIE_KEY = l.alg_locatie_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_kenmerk_volgnummer >= 100
|
||
AND sk.INS_SRTKENMERK_KENMERKTYPE = 'N'
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
AND alg_locatie_key IN (
|
||
SELECT alg_locatie_key
|
||
FROM fac_v_my_locations
|
||
WHERE PRS_PERSLID_KEY = user_key
|
||
AND niveau = v_alg_level_read
|
||
)
|
||
) res
|
||
ORDER BY code;
|
||
END IF;
|
||
END;
|
||
--
|
||
PROCEDURE conn_p_bes_div_cat ( user_key IN NUMBER,
|
||
p_datum_van IN VARCHAR2, -- Let wel: formaat '01-01-2015'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor) AS
|
||
BEGIN
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT a.prs_afdeling_parent_oms divisie,
|
||
dis.ins_discipline_omschrijving catalogus,
|
||
COUNT (b.bes_bestelling_key) aantal_aanvragen,
|
||
SUM (COALESCE (bp.prijs, 0) * bi.bes_bestelling_item_aantal
|
||
) totaalbedrag
|
||
FROM BES_BESTELLING b,
|
||
BES_BESTELLING_ITEM bi,
|
||
INS_SRTDEEL sd,
|
||
INS_SRTGROEP sg,
|
||
INS_TAB_DISCIPLINE dis,
|
||
bes_v_item_prijs bp,
|
||
(SELECT p.prs_perslid_key,
|
||
a.prs_afdeling_omschrijving prs_afdeling_parent_oms
|
||
FROM prs_v_afdeling_boom ab, PRS_AFDELING a, PRS_PERSLID p
|
||
WHERE ab.prs_afdeling_key1 = a.prs_afdeling_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key) a
|
||
WHERE bi.bes_bestelling_item_key = bp.bes_bestelling_item_key
|
||
AND b.bes_bestelling_datum >= Fac.safe_to_date(p_datum_van, 'dd-mm-yyyy')
|
||
AND b.bes_bestelling_datum < Fac.safe_to_date(p_datum_tot, 'dd-mm-yyyy')
|
||
AND bi.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = dis.ins_discipline_key
|
||
AND b.bes_bestelling_status <> 1
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bi.bes_bestelling_item_key = bp.bes_bestelling_item_key
|
||
AND b.bes_bestelling_module = 'BES'
|
||
AND a.prs_perslid_key = b.prs_perslid_key
|
||
GROUP BY a.prs_afdeling_parent_oms, dis.ins_discipline_omschrijving
|
||
ORDER BY 1,2;
|
||
|
||
END;
|
||
--
|
||
END;
|
||
/
|
||
|
||
show errors;
|
||
|
||
|
||
--
|
||
-- CONN #455, 540
|
||
--
|
||
/* Formatted on 2005/04/26 14:38 (Formatter Plus v4.8.0) */
|
||
CREATE OR REPLACE VIEW conn_v_export_xelion (fclt_f_complex,
|
||
fclt_f_contract,
|
||
tarieftype,
|
||
oppervlakte,
|
||
prijs
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_code, cnt_contract_nummer, sog.srtonrgoed_code,
|
||
SUM (cog.cnt_contract_onrgoed_opp) AS tot_opp, srtonrgoed_prijs
|
||
FROM cnt_contract c,
|
||
cnt_contract_onrgoed cog,
|
||
alg_v_onroerendgoed_gegevens aog,
|
||
alg_locatie l,
|
||
(SELECT alg_srtruimte_key AS srtonrgoed_key,
|
||
alg_srtruimte_code AS srtonrgoed_code,
|
||
alg_srtruimte_prijs AS srtonrgoed_prijs,
|
||
'R' AS alg_onrgoed_niveau
|
||
FROM alg_srtruimte
|
||
UNION ALL
|
||
SELECT alg_srtterreinsector_key AS srtonrgoed_key,
|
||
alg_srtterreinsector_code AS srtonrgoed_code,
|
||
alg_srtterreinsector_prijs AS srtonrgoed_prijs,
|
||
'T' AS alg_onrgoed_niveau
|
||
FROM alg_srtterreinsector) sog
|
||
WHERE cog.cnt_contract_key = c.cnt_contract_key
|
||
AND aog.alg_onroerendgoed_keys = cog.alg_onrgoed_key
|
||
AND cog.cnt_contract_onrgoed_key_org IS NULL
|
||
AND aog.alg_locatie_key = l.alg_locatie_key
|
||
AND cog.alg_onrgoed_niveau = sog.alg_onrgoed_niveau
|
||
AND sog.srtonrgoed_key = cog.alg_srtonrgoed_key
|
||
GROUP BY c.cnt_contract_key,
|
||
c.cnt_contract_nummer,
|
||
l.alg_locatie_code,
|
||
sog.srtonrgoed_code,
|
||
sog.srtonrgoed_prijs;
|
||
|
||
|
||
|
||
|
||
--
|
||
-- CONN #451
|
||
--
|
||
/* Formatted on 2006/06/14 15:09 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_bestelopdr_gegevens (hide_f_opdracht,
|
||
datum,
|
||
fclt_f_opdrnr,
|
||
fclt_f_naam,
|
||
telefoon,
|
||
fclt_f_status
|
||
)
|
||
AS
|
||
SELECT DISTINCT bo.bes_bestelopdr_key, TO_CHAR (b.bes_bestelling_datum, 'DD-MM-YYYY'),
|
||
TO_CHAR (bo.bes_bestelopdr_key), (SELECT pf.prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key = b.prs_perslid_key),
|
||
b.bes_bestelling_telefoon, bos.bes_bestelopdrstatuses_omschr
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr bo,
|
||
bes_bestelopdrstatuses bos,
|
||
bes_bestelopdr_item boi
|
||
WHERE bes_bestelopdr_status IN (4, 5, 6, 7)
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bo.bes_bestelopdr_status = bos.bes_bestelopdrstatuses_key;
|
||
|
||
--
|
||
-- CONN#321
|
||
--
|
||
|
||
|
||
-- view werkt niet meer omdat kenmerk 1001 niet meer bestaat ?????
|
||
create or replace view CONN_V_BESTELLER_Z_KOSTENPL (NAAM, AFDELING, LIMIET)
|
||
AS select pf.PRS_PERSLID_NAAM_FULL, a.PRS_AFDELING_OMSCHRIJVING, kl.PRS_KENMERKLINK_WAARDE from prs_v_aanwezigperslid p, prs_afdeling a, prs_v_aanwezigkenmerklink kl, prs_v_perslid_fullnames pf
|
||
where p.prs_perslid_key = kl.PRS_LINK_KEY
|
||
and p.prs_perslid_key = pf.prs_perslid_key
|
||
and p.prs_afdeling_key = a.prs_afdeling_key
|
||
and kl.PRS_KENMERK_KEY = 1001
|
||
and a.prs_kostenplaats_key is null;
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_huurcontract_details (fclt_f_locatie,
|
||
fclt_f_naam,
|
||
fclt_f_nummer,
|
||
opp,
|
||
prijs,
|
||
code
|
||
)
|
||
AS
|
||
SELECT (SELECT alg_locatie_code
|
||
FROM alg_locatie
|
||
WHERE alg_locatie_key = locatie),
|
||
NVL ((SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b, cnt_contract cn
|
||
WHERE prs_bedrijf_key = cn.cnt_prs_bedrijf_key
|
||
AND contract_key = cn.cnt_contract_key),
|
||
''
|
||
) AS naam,
|
||
NVL ((SELECT b.prs_leverancier_nr
|
||
FROM prs_bedrijf b, cnt_contract cn
|
||
WHERE prs_bedrijf_key = cn.cnt_prs_bedrijf_key
|
||
AND contract_key = cn.cnt_contract_key),
|
||
''
|
||
) AS nr,
|
||
opp, prijs, code
|
||
FROM (SELECT contract_key, SUM (cnt_contract_onrgoed_opp) opp, prijs,
|
||
code, locatie
|
||
FROM (SELECT c.cnt_contract_key AS contract_key,
|
||
co.cnt_contract_onrgoed_opp,
|
||
NVL
|
||
((SELECT alg_srtruimte_prijs
|
||
FROM alg_srtruimte
|
||
WHERE alg_srtruimte_key =
|
||
alg_srtonrgoed_key
|
||
AND co.alg_onrgoed_niveau = 'R'),
|
||
(SELECT alg_srtterreinsector_prijs
|
||
FROM alg_srtterreinsector
|
||
WHERE alg_srtterreinsector_key =
|
||
alg_srtonrgoed_key)
|
||
) AS prijs,
|
||
NVL
|
||
((SELECT alg_srtruimte_code
|
||
FROM alg_srtruimte
|
||
WHERE alg_srtruimte_key =
|
||
alg_srtonrgoed_key
|
||
AND co.alg_onrgoed_niveau = 'R'),
|
||
(SELECT alg_srtterreinsector_code
|
||
FROM alg_srtterreinsector
|
||
WHERE alg_srtterreinsector_key =
|
||
alg_srtonrgoed_key)
|
||
) AS code,
|
||
NVL
|
||
((SELECT alg_locatie_key
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE r.alg_ruimte_key = alg_onrgoed_key
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key),
|
||
(SELECT alg_locatie_key
|
||
FROM alg_terreinsector
|
||
WHERE alg_terreinsector_key =
|
||
alg_onrgoed_key)
|
||
) AS locatie
|
||
FROM cnt_contract_onrgoed co, cnt_contract c
|
||
WHERE c.cnt_contract_key = co.cnt_contract_key
|
||
AND cnt_mld_melding_key IS NULL)
|
||
GROUP BY code, contract_key, prijs, locatie)
|
||
ORDER BY locatie;
|
||
|
||
CREATE OR REPLACE VIEW conn_v_huurders_kostenplaats (fclt_f_naam,
|
||
fclt_f_kostenplaats
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam AS naam,
|
||
prs_leverancier_nr AS kostenplaats
|
||
FROM prs_v_aanwezigbedrijf;
|
||
|
||
create or replace view CONN_V_HUURCONTRACTEN(FCLT_F_LOCATIE, FCLT_F_NAAM, FCLT_F_NUMMER, prijs)
|
||
AS
|
||
select fclt_f_locatie, fclt_f_naam, fclt_f_nummer, sum (opp * prijs)
|
||
from CONN_V_HUURCONTRACT_DETAILS
|
||
group by fclt_f_locatie, fclt_f_naam, fclt_f_nummer;
|
||
|
||
|
||
--
|
||
-- CONN#415 CONN#492
|
||
--
|
||
CREATE OR REPLACE VIEW conn_v_locatie_huurder (fclt_f_locatie,
|
||
adres,
|
||
plaats,
|
||
huurder,
|
||
huurder_telefoon,
|
||
verantwoordelijke,
|
||
telefoon
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_code, l.alg_locatie_adres, l.alg_locatie_plaats, b.prs_bedrijf_naam, b.prs_bedrijf_telefoon,
|
||
l.alg_locatie_verantw, l.alg_locatie_verantw_tel
|
||
FROM cnt_v_contract_locatie_geg lg, alg_locatie l, prs_bedrijf b, cnt_disc_params cdp
|
||
WHERE lg.ins_discipline_key = cdp.cnt_ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type = 2
|
||
AND l.alg_locatie_key = lg.alg_locatie_key
|
||
AND b.prs_bedrijf_key IS NOT NULL
|
||
AND lg.cnt_prs_bedrijf_key = b.prs_bedrijf_key;
|
||
|
||
--
|
||
-- CONN#415 CONN#496
|
||
--
|
||
CREATE OR REPLACE VIEW CONN_V_LOCATIE_BEDRIJVEN
|
||
(FCLT_F_LOCATIE, ADRES, POSTCODE, PLAATS, BEDRIJF,
|
||
DIENST, TELEFOONNR, STORINGSNR)
|
||
AS
|
||
SELECT l.ALG_LOCATIE_CODE
|
||
,l.ALG_LOCATIE_ADRES
|
||
,l.ALG_LOCATIE_POSTCODE
|
||
,l.ALG_LOCATIE_PLAATS
|
||
,substr(b.PRS_BEDRIJF_NAAM,1,decode(instr(b.PRS_BEDRIJF_NAAM,' _ LEV'),0,60,instr(b.PRS_BEDRIJF_NAAM,' _ LEV')))
|
||
,d.PRS_DIENST_OMSCHRIJVING
|
||
,b.PRS_BEDRIJF_TELEFOON
|
||
,b.PRS_BEDRIJF_TELEFOON2
|
||
FROM PRS_BEDRIJFDIENSTLOCATIE bdl
|
||
,ALG_V_AANWEZIGLOCATIE l
|
||
,PRS_DIENST d
|
||
,PRS_V_AANWEZIGBEDRIJF b
|
||
where bdl.PRS_BEDRIJF_KEY = b.PRS_BEDRIJF_KEY
|
||
and bdl.ALG_LOCATIE_KEY = l.ALG_LOCATIE_KEY
|
||
and bdl.PRS_DIENST_KEY = d.PRS_DIENST_KEY
|
||
order by 1,5;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PERSLID_Z_LOGWWMAIL (NAAM,NUMMER,LOGIN,WACHTWOORD,EMAIL) AS
|
||
SELECT pf.prs_perslid_naam_full, p.prs_perslid_nr, p.prs_perslid_oslogin,
|
||
RPAD (' ', LENGTH (p.prs_perslid_wachtwoord) + 1, '*'),
|
||
p.prs_perslid_email
|
||
FROM prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
||
AND ( p.prs_perslid_oslogin IS NULL
|
||
OR p.prs_perslid_wachtwoord IS NULL
|
||
OR p.prs_perslid_email IS NULL
|
||
);
|
||
|
||
--insert into fac_usrrap (FAC_USRRAP_OMSCHRIJVING, FAC_USRRAP_VIEW_NAME, FAC_USRRAP_INFO) values
|
||
-- ('Personen zonder login..', 'CONN_V_PERSLID_Z_LOGWWMAIL', 'Personen waarbij geen login, wachtwoord of e-mail adres ingevuld is.');
|
||
--
|
||
|
||
|
||
|
||
|
||
create or replace view conn_v_bedrijf_zonder_nummer as
|
||
select * from prs_v_aanwezigbedrijf where prs_leverancier_nr is null
|
||
and prs_bedrijf_intern is null;
|
||
|
||
|
||
|
||
create or replace view CONN_RAP_OPDR_OPMERKINGEN AS
|
||
select alg_locatie_omschrijving fclt_f_locatie
|
||
,sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.MLD_OPDR_BEDRIJFOPDR_VOLGNR opdrachtnummer
|
||
,TO_CHAR(o.mLD_OPDR_DATUMBEGIN, 'dd-mm-yyyy') datum
|
||
,prs_bedrijf_naam leverancier
|
||
,mld_kenmerkopdr_waarde opmerking
|
||
from mld_opdr o
|
||
,MLD_V_AANWEZIGKENMERKOPDR ko
|
||
,mld_melding m
|
||
,alg_locatie l
|
||
,mld_discipline md
|
||
,ins_srtdiscipline sd
|
||
,prs_bedrijf b
|
||
where o.mld_opdr_key = ko.mld_opdr_key
|
||
and ko.MLD_KENMERK_KEY = 75
|
||
and o.MLD_TYPEOPDR_KEY = 5
|
||
and m.mld_melding_key = o.mld_melding_key
|
||
and m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND md.ins_discipline_key = m.mld_ins_discipline_key
|
||
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||
and b.prs_bedrijf_key(+) = o.MLD_UITVOERENDE_KEYS order by 1;
|
||
|
||
|
||
|
||
|
||
-- *
|
||
-- * FAC_V_WEB_AUTORISATIE view
|
||
-- *
|
||
CREATE OR REPLACE VIEW FAC_V_WEB_AUTORISATIE
|
||
(BEDRIJF, FCLT_F_BUSINESS_UNIT, FCLT_F_NAAM, FCLT_F_USERID, FCLT_F_GROEP)
|
||
AS
|
||
SELECT B.prs_bedrijf_naam as BEDRIJF
|
||
, AD.prs_afdeling_omschrijving as FCLT_F_BUSINESS_UNIT
|
||
, PF.prs_perslid_naam_full as FCLT_F_NAAM
|
||
, P.PRS_PERSLID_OSLOGIN as FCLT_F_USERID
|
||
, GR.fac_groep_upper as FCLT_F_GROEP
|
||
FROM PRS_V_AANWEZIGPERSLID P
|
||
, PRS_AFDELING AD
|
||
, PRS_V_AFDELING_BOOM AB
|
||
, PRS_BEDRIJF B
|
||
, FAC_GEBRUIKERSGROEP GG
|
||
, FAC_GROEP GR
|
||
, PRS_V_PERSLID_FULLNAMES PF
|
||
WHERE GG.fac_groep_key=GR.fac_groep_key
|
||
AND P.prs_perslid_key=GG.prs_perslid_key
|
||
AND P.prs_afdeling_key = AB.prs_afdeling_key
|
||
AND AB.prs_bedrijf_key = B.prs_bedrijf_key
|
||
AND AB.prs_afdeling_key1 = AD.prs_afdeling_key
|
||
AND PF.prs_perslid_key = p.prs_perslid_key;
|
||
|
||
|
||
-- view wordt niet meer gebruikt omdat kenmerken niet meer bestaan
|
||
CREATE OR REPLACE VIEW CONN_FIATTERING
|
||
(BESTELLER, LIMIET, FIATTEUR1, LIMIET1, FIATTEUR2,
|
||
LIMIET2)
|
||
AS
|
||
SELECT p.prs_perslid_naam||DECODE(p.prs_perslid_voorletters,null,'',', '||p.prs_perslid_voorletters)||DECODE(p.prs_perslid_voornaam,null,'',' ('||p.prs_perslid_voornaam||')') Besteller,
|
||
RTRIM(K2.prs_kenmerklink_waarde) Limiet1,
|
||
F1.prs_perslid_naam||DECODE(F1.prs_perslid_voorletters,null,'',', '||F1.prs_perslid_voorletters)||DECODE(F1.prs_perslid_voornaam,null,'',' ('||F1.prs_perslid_voornaam||')') Fiatteur1,
|
||
RTRIM(K4.prs_kenmerklink_waarde) Limiet2,
|
||
F2.prs_perslid_naam||DECODE(F2.prs_perslid_voorletters,null,'',', '||F2.prs_perslid_voorletters)||DECODE(F2.prs_perslid_voornaam,null,'',' ('||F2.prs_perslid_voornaam||')') Fiatteur2,
|
||
RTRIM(K5.prs_kenmerklink_waarde) Limiet3
|
||
FROM prs_v_aanwezigperslid P, prs_kenmerklink K1, prs_kenmerklink K2, prs_v_aanwezigperslid F1, prs_kenmerklink K3, prs_kenmerklink K4, prs_kenmerklink K5, prs_v_aanwezigperslid F2
|
||
WHERE K1.prs_kenmerk_key(+)=1000 -- Fiatteur
|
||
AND K1.prs_link_key(+)=P.prs_perslid_key
|
||
AND K2.prs_kenmerk_key(+)=1001 -- Limiet
|
||
AND K2.prs_link_key(+)=P.prs_perslid_key
|
||
AND F1.prs_perslid_key(+) = fac.safe_to_number(K1.prs_kenmerklink_waarde)
|
||
AND K3.prs_kenmerk_key(+)=1000 -- Fiatteur
|
||
AND K3.prs_link_key(+)=F1.prs_perslid_key
|
||
AND F2.prs_perslid_key(+) = fac.safe_to_number(K3.prs_kenmerklink_waarde)
|
||
AND K4.prs_kenmerk_key(+)=1001 -- Limiet
|
||
AND K4.prs_link_key(+)=F1.prs_perslid_key
|
||
AND K5.prs_kenmerk_key(+)=1001 -- Limiet
|
||
AND K5.prs_link_key(+)=fac.safe_to_number(K3.prs_kenmerklink_waarde)
|
||
AND K2.PRS_KENMERK_KEY IS NOT NULL
|
||
ORDER BY 1;
|
||
|
||
|
||
/* Formatted on 2006/06/16 10:13 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_mi_rapport_vest_man (nr,
|
||
fclt_f_maand,
|
||
naam,
|
||
fclt_f_business_unit,
|
||
fclt_f_afdeling,
|
||
kostenplaats,
|
||
aantal,
|
||
fclt_f_catalogus,
|
||
prijs,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (b.bes_bestelling_key) c1, TO_CHAR (bes_bestelling_datum, 'YYMM') c3,
|
||
prs_perslid_naam || DECODE (prs_perslid_voorletters, NULL, '', ', ' || prs_perslid_voorletters) c6,
|
||
bu.prs_afdeling_omschrijving c5, fu.prs_afdeling_naam || '/' || a.prs_afdeling_omschrijving c7,
|
||
kpl.prs_kostenplaats_nr kp, SUM (bi.bes_bestelling_item_aantal) c9, d.ins_discipline_omschrijving d1,
|
||
SUM (bi.bes_bestelling_item_aantal * pr.prijs) c10, fu.prs_afdeling_key
|
||
FROM bes_bestelling_item bi,
|
||
ins_srtdeel srt,
|
||
bes_bestelling b,
|
||
bes_bestellingstatuses s,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_afdeling bu,
|
||
prs_v_afdeling_boom bo,
|
||
prs_v_afdeling_fullnames fu,
|
||
ins_srtgroep g,
|
||
ins_tab_discipline d,
|
||
bes_v_item_prijs pr,
|
||
prs_kostenplaats kpl
|
||
WHERE b.bes_bestelling_status = s.bes_bestellingstatuses_key
|
||
AND bi.ins_srtdeel_key = srt.ins_srtdeel_key
|
||
AND bi.bes_bestelling_item_key = pr.bes_bestelling_item_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND p.prs_perslid_key = b.prs_perslid_key
|
||
AND bo.prs_afdeling_key(+) = a.prs_afdeling_key
|
||
AND fu.prs_afdeling_key = a.prs_afdeling_key
|
||
AND bu.prs_afdeling_key = bo.prs_afdeling_key1
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND srt.ins_srtgroep_key = g.ins_srtgroep_key
|
||
AND g.ins_discipline_key = d.ins_discipline_key
|
||
AND (b.bes_bestelling_status = 6 OR b.bes_bestelling_status = 7 OR b.bes_bestelling_status = 5)
|
||
AND b.prs_kostenplaats_key = kpl.prs_kostenplaats_key(+)
|
||
GROUP BY b.bes_bestelling_key,
|
||
TO_CHAR (bes_bestelling_datum, 'YYMM'),
|
||
prs_perslid_naam || DECODE (prs_perslid_voorletters, NULL, '', ', ' || prs_perslid_voorletters),
|
||
bu.prs_afdeling_omschrijving,
|
||
fu.prs_afdeling_naam || '/' || a.prs_afdeling_omschrijving,
|
||
d.ins_discipline_omschrijving,
|
||
kpl.prs_kostenplaats_nr,
|
||
fu.prs_afdeling_key;
|
||
|
||
-- RD: Door wie wordt deze view nog gebruikt?
|
||
CREATE OR REPLACE VIEW CONN_V_RUIMTEGEG
|
||
(ALG_LOCATIE_KEY,ALG_LOCATIE_CODE, ALG_GEBOUW_UPPER, ALG_GEBOUW_KEY, ALG_VERDIEPING_CODE, ALG_RUIMTE_KEY,
|
||
ALG_RUIMTE_NR, ALG_RUIMTE_OMSCHRIJVING, ALG_SRTRUIMTE_CODE, HUURDER, HUURDERNR,
|
||
CNT_CONTRACT_NUMMER, ALG_SRTRUIMTE_PRIJS, BUDGETCODE, BUSINESSUNIT, RUIMTEOPPERVLAKTE,
|
||
GEHUURDEOPPERVLAKTE, INHUUR, UITBEHEER, RUIMTESOORT)
|
||
AS
|
||
SELECT
|
||
vg.ALG_LOCATIE_KEY,
|
||
vg.ALG_LOCATIE_CODE,
|
||
vg.ALG_GEBOUW_UPPER,
|
||
ALG_GEBOUW_KEY,
|
||
vg.ALG_VERDIEPING_CODE,
|
||
vg.alg_ruimte_key,
|
||
vg.ALG_RUIMTE_NR,
|
||
vg.ALG_RUIMTE_OMSCHRIJVING ,
|
||
(select alg_srtruimte_code from alg_srtruimte asr where asr.alg_srtruimte_key = cogc.alg_srtonrgoed_key) ,
|
||
NVL(a.prs_afdeling_omschrijving, b.prs_bedrijf_naam) ,
|
||
substr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR), instr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),'/')+1,15),
|
||
cnt.CNT_CONTRACT_NUMMER ,
|
||
(select alg_srtruimte_prijs from alg_srtruimte asr where asr.alg_srtruimte_key = cogc.alg_srtonrgoed_key) ,
|
||
substr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),0, instr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),'/')-1),
|
||
nvl ( (select prs_afdeling_omschrijving from prs_afdeling abu, prs_v_afdeling_boom ab where ab.prs_afdeling_key1 = abu.prs_afdeling_key and ab.prs_afdeling_key = a.prs_afdeling_key),
|
||
(select fac_usrdata_code from fac_usrdata ud, prs_kenmerklink kl where kl.prs_kenmerk_key = 1015 and prs_link_key = b.prs_bedrijf_key and kl.prs_kenmerklink_waarde = ud.fac_usrdata_key)) Businessunit,
|
||
(select FAC.safe_To_Number(alg_onrgoedkenmerk_waarde) from alg_onrgoedkenmerk aok
|
||
where aok.alg_onrgoed_key = vg.alg_ruimte_key
|
||
and aok.alg_kenmerk_key = 106) GetekendOppervlakte,
|
||
TO_NUMBER(TO_CHAR(FAC.SAFE_TO_NUMBER(cogc.CNT_CONTRACT_ONRGOED_OPP) ,'99999999D')) ,
|
||
DECODE (NVL(inh.alg_onrgoedkenmerk_waarde,''), 130, 'Nee', 129, 'Ja'),
|
||
--inh.alg_onrgoedkenmerk_waarde,
|
||
uit.alg_onrgoedkenmerk_waarde,
|
||
DECODE (substr((select alg_srtruimte_code from alg_srtruimte asr where asr.alg_srtruimte_key = cogc.alg_srtonrgoed_key),0,1),
|
||
'A','AR',
|
||
'B','B',
|
||
'K','K',
|
||
'S','S',
|
||
'W','W',
|
||
'P','P')
|
||
FROM
|
||
--(SELECT vg.alg_locatie_code, vg.ALG_RUIMTE_OMSCHRIJVING, vg.alg_ruimte_nr, vg.alg_gebouw_upper, vg.alg_verdieping_upper FROM alg_v_ruimte_gegevens VG) ALLE_RUIMTES,
|
||
alg_v_ruimte_gegevens VG,
|
||
CNT_V_CNT_CONTRACT_ONRGOED_CUR cogc,
|
||
CNT_V_AANWEZIGCONTRACT cnt,
|
||
(select * from PRS_AFDELING af, prs_kostenplaats ks where af.prs_kostenplaats_key = ks.prs_kostenplaats_key(+)) a,
|
||
PRS_BEDRIJF b,
|
||
ALG_V_AANWEZIGONRGOEDKENMERK uit, -- uitbeheer datum locatieniveau
|
||
ALG_V_AANWEZIGONRGOEDKENMERK inh -- inhuur locatieniveau
|
||
WHERE
|
||
vg.alg_ruimte_key = cogc.alg_onrgoed_key (+) AND
|
||
cogc.cnt_contract_key = cnt.cnt_contract_key (+) AND
|
||
cnt.CNT_PRS_AFDELING_KEY = a.prs_afdeling_key (+) AND
|
||
cnt.CNT_PRS_BEDRIJF_KEY = b.prs_bedrijf_key (+) AND
|
||
vg.alg_locatie_key = uit.alg_onrgoed_key(+) AND
|
||
uit.alg_kenmerk_key(+) = 22 AND --uit beheer datum locatieniveau
|
||
vg.alg_locatie_key = inh.alg_onrgoed_key(+) AND
|
||
inh.alg_kenmerk_key(+) = 10;
|
||
/
|
||
|
||
|
||
-- RD: Door wie wordt deze view nog gebruikt?
|
||
CREATE OR REPLACE VIEW CONN_V_TERREINGEG
|
||
(ALG_LOCATIE_KEY,ALG_LOCATIE_CODE, ALG_GEBOUW_UPPER, ALG_GEBOUW_KEY, ALG_VERDIEPING_CODE, ALG_RUIMTE_KEY,
|
||
ALG_RUIMTE_NR, ALG_RUIMTE_OMSCHRIJVING, ALG_SRTRUIMTE_CODE, HUURDER, HUURDERNR,
|
||
CNT_CONTRACT_NUMMER, ALG_SRTRUIMTE_PRIJS, BUDGETCODE, BUSINESSUNIT, RUIMTEOPPERVLAKTE,
|
||
GEHUURDEOPPERVLAKTE, INHUUR, UITBEHEER, ALG_TERREINSECTOR_KEY)
|
||
AS
|
||
SELECT
|
||
l.ALG_LOCATIE_KEY,
|
||
l.ALG_LOCATIE_CODE,
|
||
tg.ALG_TERREINSECTOR_CODE ALG_GEBOUW_UPPER,
|
||
TO_NUMBER(NULL),
|
||
TO_NUMBER(NULL),
|
||
tg.alg_terreinsector_key ALG_RUIMTE_KEY,
|
||
tg.ALG_TERREINSECTOR_NAAM ALG_RUIMTE_NUMMER,
|
||
tg.ALG_TERREINSECTOR_OMSCHRIJVING ALG_RUIMTE_OMSCHRIJVING ,
|
||
(select alg_srtterreinsector_code from alg_srtterreinsector asr where asr.alg_srtterreinsector_key = cogc.alg_srtonrgoed_key) ,
|
||
NVL(a.prs_afdeling_omschrijving, b.PRS_BEDRIJF_NAAM) ,
|
||
substr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),instr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),'/')+1,10),
|
||
cnt.CNT_CONTRACT_NUMMER ,
|
||
(select alg_srtterreinsector_prijs from alg_srtterreinsector asr where asr.alg_srtterreinsector_key = cogc.alg_srtonrgoed_key) ,
|
||
substr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),0,instr(NVL(a.prs_kostenplaats_nr, b.PRS_LEVERANCIER_NR),'/')-1), --budgetcode
|
||
nvl ( (select prs_afdeling_omschrijving from prs_afdeling abu, prs_v_afdeling_boom ab where ab.prs_afdeling_key1 = abu.prs_afdeling_key and ab.prs_afdeling_key = a.prs_afdeling_key),
|
||
(select fac_usrdata_code from fac_usrdata ud, prs_kenmerklink kl where kl.prs_kenmerk_key = 1015 and prs_link_key = b.prs_bedrijf_key and kl.prs_kenmerklink_waarde = ud.fac_usrdata_key)) Businessunit,
|
||
(select FAC.safe_To_Number(alg_onrgoedkenmerk_waarde) from alg_onrgoedkenmerk aok
|
||
where aok.alg_onrgoed_key = tg.alg_terreinsector_key
|
||
and aok.alg_kenmerk_key = 106) GetekendOppervlakte,
|
||
TO_NUMBER(TO_CHAR(FAC.SAFE_TO_NUMBER(cogc.CNT_CONTRACT_ONRGOED_OPP) ,'99999999D')) ,
|
||
DECODE (NVL(inh.alg_onrgoedkenmerk_waarde,''), 130, 'Nee', 129, 'Ja'),
|
||
-- inh.alg_onrgoedkenmerk_waarde,
|
||
uit.alg_onrgoedkenmerk_waarde,
|
||
alg_terreinsector_key
|
||
FROM
|
||
alg_v_aanwezigterreinsector tg,
|
||
alg_locatie l,
|
||
CNT_V_CNT_CONTRACT_ONRGOED_CUR cogc,
|
||
CNT_V_AANWEZIGCONTRACT cnt,
|
||
(select * from PRS_AFDELING, prs_kostenplaats where PRS_AFDELING.prs_kostenplaats_key = prs_kostenplaats.prs_kostenplaats_key(+)) a,
|
||
PRS_BEDRIJF b,
|
||
ALG_V_AANWEZIGONRGOEDKENMERK uit, -- uitbeheer datum locatieniveau
|
||
ALG_V_AANWEZIGONRGOEDKENMERK inh -- inhuur locatieniveau
|
||
WHERE
|
||
tg.alg_locatie_key = l.alg_locatie_key AND
|
||
tg.alg_terreinsector_key = cogc.alg_onrgoed_key (+) AND
|
||
cogc.cnt_contract_key = cnt.cnt_contract_key (+) AND
|
||
cnt.CNT_PRS_AFDELING_KEY = a.prs_afdeling_key (+) AND
|
||
cnt.CNT_PRS_BEDRIJF_KEY = b.prs_bedrijf_key (+) AND
|
||
tg.alg_locatie_key = uit.alg_onrgoed_key(+) AND
|
||
uit.alg_kenmerk_key(+) = 22 AND --uit beheer datum locatieniveau
|
||
tg.alg_locatie_key = inh.alg_onrgoed_key(+) AND
|
||
inh.alg_kenmerk_key(+) = 10;
|
||
|
||
|
||
|
||
/* Formatted on 2006/06/16 10:17 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_ppi1 (aanvraagnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
artikelnummer,
|
||
omschrijving,
|
||
aantal,
|
||
prijs,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT b.bes_bestelling_key, TO_CHAR (b.bes_bestelling_datum, 'YYMM'),
|
||
p.prs_perslid_naam || ' ' || NVL (p.prs_perslid_voorletters, '') || ' ' || NVL (p.prs_perslid_voornaam, ''),
|
||
a.prs_afdeling_naam, s.ins_srtdeel_nr, s.ins_srtdeel_omschrijving,
|
||
TO_CHAR (i.bes_bestelling_item_aantal, '99999990'), TO_CHAR (pr.prijs, '99999990D00'), a.prs_afdeling_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item i,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
ins_tab_discipline d,
|
||
bes_v_item_prijs pr
|
||
WHERE b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND i.bes_bestelling_item_key = pr.bes_bestelling_item_key
|
||
AND b.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND i.ins_srtdeel_key = s.ins_srtdeel_key
|
||
AND s.ins_srtgroep_key = g.ins_srtgroep_key
|
||
AND g.ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_discipline_key = 21;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI1_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAALBEDRAG)
|
||
AS
|
||
SELECT
|
||
FCLT_F_Maand
|
||
,SUM(TO_NUMBER(Aantal, '999999D99', 'nls_numeric_characters = ''.,'''))
|
||
,SUM(TO_NUMBER(Aantal, '999999D99', 'nls_numeric_characters = ''.,''') * TO_NUMBER(prijs, '999999D99', 'nls_numeric_characters = ''.,'''))
|
||
FROM CONN_V_PPI1
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
CREATE OR REPLACE VIEW conn_v_ppi2_all (opdrachtnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
totaalbedrag,
|
||
bes_bestelopdr_datum,
|
||
bes_bestelopdr_leverdatum,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT bo.bes_bestelopdr_key, TO_CHAR (bo.bes_bestelopdr_datum, 'YYMM'),
|
||
pp.prs_perslid_naam || ' ' || NVL (pp.prs_perslid_voorletters, '') || ' '
|
||
|| NVL (pp.prs_perslid_voornaam, ''),
|
||
ad.prs_afdeling_naam, pr.prijs * bi.bes_bestelling_item_aantal, bo.bes_bestelopdr_datum,
|
||
bo.bes_bestelopdr_leverdatum, ad.prs_afdeling_key
|
||
FROM bes_bestelling bb,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
prs_perslid pp,
|
||
prs_afdeling ad,
|
||
bes_v_item_prijs pr
|
||
WHERE bb.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_bestelling_item_key = pr.bes_bestelling_item_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bo.prs_perslid_key = pp.prs_perslid_key
|
||
AND pp.prs_afdeling_key = ad.prs_afdeling_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI2_SUBSET
|
||
(OPDRACHTNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, TOTAALBEDRAG,
|
||
PRS_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
Opdrachtnummer,
|
||
FCLT_F_Maand,
|
||
Besteller,
|
||
Afdeling,
|
||
Totaalbedrag,
|
||
PRS_AFDELING_KEY
|
||
FROM CONN_V_PPI2_ALL
|
||
WHERE (
|
||
(BES_BESTELOPDR_LEVERDATUM > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(BES_BESTELOPDR_DATUM, 4,'DAGEN'))
|
||
OR
|
||
(BES_BESTELOPDR_LEVERDATUM IS NULL AND
|
||
sysdate > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(BES_BESTELOPDR_DATUM, 4,'DAGEN')
|
||
)
|
||
);
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI2
|
||
(OPDRACHTNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, TOTAALBEDRAG,
|
||
FCLT_3D_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
Opdrachtnummer,
|
||
FCLT_F_Maand,
|
||
Besteller,
|
||
Afdeling,
|
||
TO_CHAR(SUM(Totaalbedrag),'99999990D00'),
|
||
PRS_AFDELING_KEY
|
||
FROM CONN_V_PPI2_SUBSET
|
||
GROUP BY Opdrachtnummer,FCLT_F_Maand,Besteller,Afdeling,PRS_AFDELING_KEY;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI2_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAAL)
|
||
AS
|
||
SELECT FCLT_F_Maand, SUM(Aantal) Aantal, SUM(Totaal) Totaal
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(Opdrachtnummer) Aantal, 0 Totaal
|
||
FROM (SELECT FCLT_F_Maand, Opdrachtnummer
|
||
FROM CONN_V_PPI2 A
|
||
GROUP BY FCLT_F_Maand, Opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(Opdrachtnummer)
|
||
FROM (SELECT FCLT_F_Maand, Opdrachtnummer
|
||
FROM CONN_V_PPI2_ALL B
|
||
GROUP BY FCLT_F_Maand, Opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
|
||
|
||
|
||
/* Formatted on 2006/06/16 10:18 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_ppi3_all (aanvraagnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
fiatteur,
|
||
status,
|
||
aantal,
|
||
prijs,
|
||
totaalbedrag,
|
||
bes_bestelling_datum,
|
||
bes_bestelling_afgewezen,
|
||
bes_bestelling_geaccepteerd,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT b.bes_bestelling_key, TO_CHAR (b.bes_bestelling_datum, 'YYMM'),
|
||
p.prs_perslid_naam || ' ' || NVL (p.prs_perslid_voorletters, '') || ' ' || NVL (p.prs_perslid_voornaam, ''),
|
||
a.prs_afdeling_naam,
|
||
p2.prs_perslid_naam || ' ' || NVL (p2.prs_perslid_voorletters, '') || ' '
|
||
|| NVL (p2.prs_perslid_voornaam, ''),
|
||
bs.bes_bestellingstatuses_omschr, i.bes_bestelling_item_aantal, pr.prijs,
|
||
i.bes_bestelling_item_aantal * pr.prijs, b.bes_bestelling_datum, b.bes_bestelling_afgewezen,
|
||
b.bes_bestelling_geaccepteerd, a.prs_afdeling_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item i,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_perslid p2,
|
||
bes_bestellingstatuses bs,
|
||
bes_v_item_prijs pr
|
||
WHERE b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND i.bes_bestelling_item_key = pr.bes_bestelling_item_key
|
||
AND b.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND b.bes_bestelling_status = bs.bes_bestellingstatuses_key
|
||
AND b.bes_bestelling_fiat_user IS NOT NULL -- Dus alleen "fiatteringsbestellingen"
|
||
AND b.bes_bestelling_fiat_user = p2.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI3_SUBSET
|
||
(AANVRAAGNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, FIATTEUR,
|
||
STATUS, AANTAL, PRIJS, TOTAALBEDRAG, BES_BESTELLING_DATUM,
|
||
BES_BESTELLING_AFGEWEZEN, BES_BESTELLING_GEACCEPTEERD, PRS_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
Aanvraagnummer,
|
||
FCLT_F_Maand,
|
||
Besteller,
|
||
Afdeling,
|
||
Fiatteur,
|
||
Status,
|
||
Aantal,
|
||
Prijs,
|
||
Totaalbedrag,
|
||
BES_BESTELLING_DATUM,
|
||
BES_BESTELLING_AFGEWEZEN,
|
||
BES_BESTELLING_GEACCEPTEERD,
|
||
PRS_AFDELING_KEY
|
||
FROM CONN_V_PPI3_ALL
|
||
WHERE (
|
||
(mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(BES_BESTELLING_DATUM, 3,'DAGEN') < bes_bestelling_afgewezen)
|
||
OR
|
||
(mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(BES_BESTELLING_DATUM, 3,'DAGEN') < bes_bestelling_geaccepteerd)
|
||
OR
|
||
(bes_bestelling_afgewezen IS NULL AND bes_bestelling_geaccepteerd IS NULL AND
|
||
mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(BES_BESTELLING_DATUM, 3,'DAGEN') < SYSDATE)
|
||
);
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI3
|
||
(AANVRAAGNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, FIATTEUR,
|
||
STATUS, TOTAALBEDRAG, BESTELD, AFGEWEZEN, GEFIATTEERD,
|
||
FCLT_3D_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
Aanvraagnummer,
|
||
FCLT_F_Maand,
|
||
Besteller,
|
||
Afdeling,
|
||
Fiatteur,
|
||
Status,
|
||
TO_CHAR(SUM(Totaalbedrag),'99999990D00'),
|
||
BES_BESTELLING_DATUM,
|
||
BES_BESTELLING_AFGEWEZEN,
|
||
BES_BESTELLING_GEACCEPTEERD,
|
||
PRS_AFDELING_KEY
|
||
FROM CONN_V_PPI3_SUBSET
|
||
GROUP BY Aanvraagnummer, FCLT_F_Maand, Besteller, Afdeling, Fiatteur, Status,
|
||
BES_BESTELLING_DATUM, BES_BESTELLING_AFGEWEZEN, BES_BESTELLING_GEACCEPTEERD,
|
||
PRS_AFDELING_KEY;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI3_TOT
|
||
(FCLT_F_MAAND, TOTAAL, TELAAT)
|
||
AS
|
||
SELECT fclt_f_maand, SUM(totaal) Totaal,SUM(totaal)-SUM(optijd) Telaat
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(*) Totaal, 0 Optijd
|
||
FROM (SELECT FCLT_F_Maand, aanvraagnummer
|
||
FROM CONN_V_PPI3_ALL A
|
||
GROUP BY FCLT_F_Maand, aanvraagnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(*)
|
||
FROM (SELECT FCLT_F_Maand, aanvraagnummer
|
||
FROM CONN_V_PPI3_SUBSET A
|
||
GROUP BY FCLT_F_Maand, aanvraagnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI4_
|
||
(AANVRAAGNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, AANTAL,
|
||
TOTAALPRIJS, PRS_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
B.bes_bestelling_key,
|
||
TO_CHAR(B.bes_bestelling_datum, 'YYMM'),
|
||
P.prs_perslid_naam || ' ' || NVL(P.prs_perslid_voorletters, '') || ' ' || NVL(P.prs_perslid_voornaam, ''),
|
||
A.prs_afdeling_naam,
|
||
I.bes_bestelling_item_aantal,
|
||
I.bes_bestelling_item_aantal * PR.prijs,
|
||
A.PRS_AFDELING_KEY
|
||
FROM BES_BESTELLING B, BES_BESTELLING_ITEM I, PRS_PERSLID P, PRS_AFDELING A,
|
||
bes_v_item_prijs PR
|
||
WHERE B.BES_BESTELLING_KEY = I.BES_BESTELLING_KEY
|
||
AND I.bes_bestelling_item_key = PR.bes_bestelling_item_key
|
||
AND B.prs_perslid_key = P.prs_perslid_key
|
||
AND P.prs_afdeling_key = A.prs_afdeling_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI4
|
||
(AANVRAAGNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, AANTAL,
|
||
TOTAALPRIJS, FCLT_3D_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
Aanvraagnummer,
|
||
FCLT_F_Maand,
|
||
Besteller,
|
||
Afdeling,
|
||
TO_CHAR(SUM(Aantal),'9999999999'),
|
||
TO_CHAR(SUM(Totaalprijs),'99999990D00'),
|
||
PRS_AFDELING_KEY
|
||
FROM CONN_V_PPI4_
|
||
GROUP BY Aanvraagnummer,FCLT_F_Maand,Besteller,Afdeling, prs_afdeling_key
|
||
HAVING SUM(Totaalprijs) < 50;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI4_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAAL)
|
||
AS
|
||
SELECT fclt_f_maand, SUM(Aantal) Aantal, SUM(Totaal) Totaal
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(*) Aantal, 0 Totaal
|
||
FROM (SELECT FCLT_F_Maand, aanvraagnummer
|
||
FROM CONN_V_PPI4 A
|
||
GROUP BY FCLT_F_Maand, aanvraagnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(*)
|
||
FROM (SELECT FCLT_F_Maand, aanvraagnummer
|
||
FROM CONN_V_PPI4_ A
|
||
GROUP BY FCLT_F_Maand, aanvraagnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
|
||
/* Formatted on 2006/06/16 10:24 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_ppi5_all (opdrachtnummer, fclt_f_maand, opmerking, prs_afdeling_key)
|
||
AS
|
||
SELECT bo.bes_bestelopdr_key, TO_CHAR (bo.bes_bestelopdr_datum, 'YYMM'), bo.bes_bestelopdr_delivery_opmerk,
|
||
p.prs_afdeling_key
|
||
FROM bes_bestelling bb, bes_bestelling_item bi, bes_bestelopdr bo, bes_bestelopdr_item boi, prs_perslid p
|
||
WHERE bb.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND bb.prs_perslid_key = p.prs_perslid_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key;
|
||
|
||
/* Formatted on 2006/06/16 10:22 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_ppi5 (opdrachtnummer, fclt_f_maand, opmerking, fclt_3d_prs_afdeling_key)
|
||
AS
|
||
SELECT DISTINCT bo.bes_bestelopdr_key, TO_CHAR (bo.bes_bestelopdr_datum, 'YYMM'), bo.bes_bestelopdr_delivery_opmerk,
|
||
p.prs_afdeling_key
|
||
FROM bes_bestelling bb, bes_bestelling_item bi, bes_bestelopdr bo, bes_bestelopdr_item boi, prs_perslid p
|
||
WHERE bb.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bb.prs_perslid_key = p.prs_perslid_key
|
||
AND bes_bestelopdr_delivery_opmerk IS NOT NULL;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI5_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAAL)
|
||
AS
|
||
SELECT fclt_f_maand, SUM(Aantal) Aantal, SUM(Totaal) Totaal
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(*) Aantal, 0 Totaal
|
||
FROM (SELECT FCLT_F_Maand, opdrachtnummer
|
||
FROM CONN_V_PPI5 A
|
||
GROUP BY FCLT_F_Maand, opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(*)
|
||
FROM (SELECT FCLT_F_Maand, opdrachtnummer
|
||
FROM CONN_V_PPI5_ALL A
|
||
GROUP BY FCLT_F_Maand, opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI_OVERZICHT
|
||
(PPI, FCLT_F_MAAND, AANTAL, TOTAAL)
|
||
AS
|
||
SELECT 'PPI1 - Bestelling artikelen Luxe catalogus per maand',FCLT_F_Maand,TO_CHAR(Aantal),TO_CHAR(Totaalbedrag,'99999990D00')
|
||
FROM CONN_V_PPI1_TOT
|
||
UNION
|
||
SELECT 'PPI2 - Juistheid "afmelding" ontvangsten per maand',FCLT_F_Maand,TO_CHAR(Aantal),TO_CHAR(Totaal)
|
||
FROM CONN_V_PPI2_TOT
|
||
UNION
|
||
SELECT 'PPI3 - Tijd tussen aanvraag en fiattering per maand',FCLT_F_Maand,TO_CHAR(Telaat),TO_CHAR(Totaal)
|
||
FROM CONN_V_PPI3_TOT
|
||
UNION
|
||
SELECT 'PPI4 - Kleine bestellingen per maand',FCLT_F_Maand,TO_CHAR(Aantal),TO_CHAR(Totaal)
|
||
FROM CONN_V_PPI4_TOT
|
||
UNION
|
||
SELECT 'PPI5 - Niet tevreden ontvangers per maand',FCLT_F_Maand,TO_CHAR(Aantal),TO_CHAR(Totaal)
|
||
FROM CONN_V_PPI5_TOT;
|
||
|
||
|
||
|
||
|
||
|
||
-- *
|
||
-- * CONN_V_DELETED_LOC_GEG view
|
||
-- * Overzicht verwijderde locaties (CONN#188)
|
||
-- *
|
||
CREATE OR REPLACE FORCE VIEW CONN_V_DELETED_LOC_GEG
|
||
(FCLT_F_LOCATIE_CODE, OMSCHRIJVING, BEZOEK_ADRES,
|
||
BEZOEK_PLAATS, VERWIJDERDATUM, UITBEHEER, DISTRICT)
|
||
AS
|
||
SELECT l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_adres,
|
||
l.alg_locatie_plaats,
|
||
l.alg_locatie_verwijder,
|
||
(SELECT aok.alg_onrgoedkenmerk_waarde from alg_onrgoedkenmerk aok
|
||
WHERE alg_onrgoed_key = l.alg_locatie_key
|
||
AND alg_kenmerk_key = 22),
|
||
d.alg_district_omschrijving
|
||
FROM alg_locatie l,
|
||
alg_district d
|
||
WHERE d.alg_district_key(+) = l.alg_district_key
|
||
AND (l.alg_locatie_verwijder IS NOT NULL
|
||
OR
|
||
l.alg_locatie_key IN (
|
||
SELECT alg_onrgoed_key from alg_onrgoedkenmerk aok
|
||
WHERE alg_onrgoed_niveau = 'L'
|
||
AND alg_kenmerk_key = 22))
|
||
ORDER BY l.alg_locatie_upper ASC;
|
||
|
||
commit;
|
||
|
||
-- *
|
||
-- * CONN_V_SCHOON_TOT_LOC_GEG view
|
||
-- * Schoonmaak overzicht totaalgegevens per locatie (CONN#232)
|
||
-- *
|
||
CREATE OR REPLACE FORCE VIEW CONN_V_SCHOON_TOT_LOC_GEG
|
||
(FCLT_F_LOCATIE_CODE, OMSCHRIJVING, FCLT_F_BEDRIJF, TOT_OPP, OPP_GLAS_BINNEN, OPP_GLAS_BUITEN,
|
||
TOT_KOSTEN, TOESLAG, SCHOONMAAKKOSTEN, GLASBEWASSING, OVERIGE_KOSTEN, AFRONDING)
|
||
AS
|
||
SELECT l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
b.prs_bedrijf_naam schoonmaakbedrijf,
|
||
FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde) totaal_oppervlakte,
|
||
FAC.SAFE_TO_NUMBER(kogb.alg_onrgoedkenmerk_waarde) opp_glas_binnen_kantoor,
|
||
FAC.SAFE_TO_NUMBER(kogbu.alg_onrgoedkenmerk_waarde) opp_glas_buiten_stalling,
|
||
ROUND(FAC.SAFE_TO_NUMBER(sb.sch_programma_bedrijf_kental)/12*FAC.SAFE_TO_NUMBER(b.prs_bedrijf_uurloon)*FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde)*((FAC.SAFE_TO_NUMBER(kt.alg_onrgoedkenmerk_waarde)/100)-1),2)+ROUND(FAC.SAFE_TO_NUMBER(sb.sch_programma_bedrijf_kental)/12*FAC.SAFE_TO_NUMBER(b.prs_bedrijf_uurloon)*FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde)*FAC.SAFE_TO_NUMBER(kt.alg_onrgoedkenmerk_waarde)/100,2)+kg.alg_onrgoedkenmerk_waarde+kbk1.alg_onrgoedkenmerk_waarde+kbk2.alg_onrgoedkenmerk_waarde+kbk3.alg_onrgoedkenmerk_waarde+ka.alg_onrgoedkenmerk_waarde totale_kosten,
|
||
ROUND(FAC.SAFE_TO_NUMBER(sb.sch_programma_bedrijf_kental)/12*FAC.SAFE_TO_NUMBER(b.prs_bedrijf_uurloon)*FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde)*((FAC.SAFE_TO_NUMBER(kt.alg_onrgoedkenmerk_waarde)/100)-1),2) toeslag,
|
||
ROUND(FAC.SAFE_TO_NUMBER(sb.sch_programma_bedrijf_kental)/12*FAC.SAFE_TO_NUMBER(b.prs_bedrijf_uurloon)*FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde)*FAC.SAFE_TO_NUMBER(kt.alg_onrgoedkenmerk_waarde)/100,2) schoonmaakkosten,
|
||
FAC.SAFE_TO_NUMBER(kg.alg_onrgoedkenmerk_waarde) glasbewassing,
|
||
FAC.SAFE_TO_NUMBER(kbk1.alg_onrgoedkenmerk_waarde)+FAC.SAFE_TO_NUMBER(kbk2.alg_onrgoedkenmerk_waarde)+FAC.SAFE_TO_NUMBER(kbk3.alg_onrgoedkenmerk_waarde) overige_kosten,
|
||
FAC.SAFE_TO_NUMBER(ka.alg_onrgoedkenmerk_waarde) afrondingsverschil
|
||
FROM alg_v_aanweziglocatie l,
|
||
alg_onrgoedkenmerk ko, -- oppervlak
|
||
alg_onrgoedkenmerk ksp, -- schoonmaakprogramma
|
||
alg_onrgoedkenmerk ksb, -- schoonmaakbedrijf
|
||
alg_onrgoedkenmerk kogb, -- oppervlakte glas binnen (glas kantoor)
|
||
alg_onrgoedkenmerk kogbu, -- oppervlakte glas buiten (glas stalling)
|
||
alg_onrgoedkenmerk kt, -- toeslag
|
||
alg_onrgoedkenmerk kg, -- glasbewassing
|
||
alg_onrgoedkenmerk kbk1, -- bijkomende kosten bedrag 1 (overige kosten)
|
||
alg_onrgoedkenmerk kbk2, -- bijkomende kosten bedrag 2 (overige kosten)
|
||
alg_onrgoedkenmerk kbk3, -- bijkomende kosten bedrag 3 (overige kosten)
|
||
alg_onrgoedkenmerk ka, -- afronding
|
||
sch_programma_bedrijf sb,
|
||
prs_bedrijf b
|
||
WHERE l.alg_locatie_key = ko.alg_onrgoed_key(+)
|
||
AND ko.alg_kenmerk_key(+) = 99 -- oppervlak
|
||
AND ko.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = ksp.alg_onrgoed_key(+)
|
||
AND ksp.alg_kenmerk_key(+) = 98 -- schoonmaakprogramma
|
||
AND ksp.alg_onrgoed_niveau(+) = 'L'
|
||
AND sb.sch_programma_key(+) = ksp.alg_onrgoedkenmerk_waarde
|
||
--
|
||
AND l.alg_locatie_key = ksb.alg_onrgoed_key(+)
|
||
AND ksb.alg_kenmerk_key(+) = 97 -- schoonmaakbedrijf
|
||
AND ksb.alg_onrgoed_niveau(+) = 'L'
|
||
AND b.prs_bedrijf_key(+) = ksb.alg_onrgoedkenmerk_waarde
|
||
AND sb.prs_bedrijf_key = b.prs_bedrijf_key
|
||
--
|
||
AND l.alg_locatie_key = kogb.alg_onrgoed_key(+)
|
||
AND kogb.alg_kenmerk_key(+) = 89 -- oppervlakte glas binnen (glas kantoor)
|
||
AND kogb.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = kogbu.alg_onrgoed_key(+)
|
||
AND kogbu.alg_kenmerk_key(+) = 90 -- oppervlakte glas buiten (glas stalling)
|
||
AND kogbu.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = kt.alg_onrgoed_key(+)
|
||
AND kt.alg_kenmerk_key(+) = 87 -- toeslag
|
||
AND kt.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = kg.alg_onrgoed_key(+)
|
||
AND kg.alg_kenmerk_key(+) = 40 -- glasbewassing
|
||
AND kg.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = kbk1.alg_onrgoed_key(+)
|
||
AND kbk1.alg_kenmerk_key(+) = 43 -- bijkomende kosten bedrag 1 (overige kosten)
|
||
AND kbk1.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = kbk2.alg_onrgoed_key(+)
|
||
AND kbk2.alg_kenmerk_key(+) = 45 -- bijkomende kosten bedrag 2 (overige kosten)
|
||
AND kbk2.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = kbk3.alg_onrgoed_key(+)
|
||
AND kbk3.alg_kenmerk_key(+) = 47 -- bijkomende kosten bedrag 3 (overige kosten)
|
||
AND kbk3.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND l.alg_locatie_key = ka.alg_onrgoed_key(+)
|
||
AND ka.alg_kenmerk_key(+) = 105 -- afronding
|
||
AND ka.alg_onrgoed_niveau(+) = 'L'
|
||
ORDER BY l.alg_locatie_upper ASC;
|
||
|
||
commit;
|
||
|
||
-- *
|
||
-- * CONN_V_SCHOON_DETAIL_GEG view
|
||
-- * Schoonmaak overzicht detailgegevens per ruimte (CONN#232)
|
||
-- *
|
||
CREATE OR REPLACE FORCE VIEW CONN_V_SCHOON_DETAIL_GEG
|
||
(FCLT_F_LOC, RUIMTENR, OPP, FREQ, RUIMTE_SOORT, VLOER_AFW, PROGRAMMA, KENTAL,
|
||
FCLT_F_BEDRIJF, SCHOONMAAKKOSTEN, TOESLAG, RUIMTE_DICHT, RUIMTE_OPEN, FIN_OPEN, FIN_DICHT, RUIMTE_OPM,
|
||
FCLT_F_HUURDERNR,
|
||
FCLT_F_BUDGETCODE)
|
||
AS
|
||
SELECT rg.alg_locatie_code locatienummer,
|
||
rg.alg_ruimte_nr ruimtenummer,
|
||
FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde) oppervlakte,
|
||
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = sp.sch_programma_frequentie_key AND fac_usrtab_key = 83) frequentie, -- frequentie schoonmaak
|
||
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = sp.sch_programma_srtruimte_key AND fac_usrtab_key = 82) ruimtesoort, -- ruimtesoort schoonmaak
|
||
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = sp.sch_programma_srtvloer_key AND fac_usrtab_key = 81) vloersoort, -- vloersoort schoonmaak
|
||
sp.sch_programma_code schoonmaakprogramma,
|
||
sb.sch_programma_bedrijf_kental kental,
|
||
b.prs_bedrijf_naam schoonmaakbedrijf,
|
||
ROUND(FAC.SAFE_TO_NUMBER(sb.sch_programma_bedrijf_kental)/12*FAC.SAFE_TO_NUMBER(b.prs_bedrijf_uurloon)*FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde)*FAC.SAFE_TO_NUMBER(kt.alg_onrgoedkenmerk_waarde)/100,2) schoonmaakkosten,
|
||
ROUND(FAC.SAFE_TO_NUMBER(sb.sch_programma_bedrijf_kental)/12*FAC.SAFE_TO_NUMBER(b.prs_bedrijf_uurloon)*FAC.SAFE_TO_NUMBER(ko.alg_onrgoedkenmerk_waarde)*((FAC.SAFE_TO_NUMBER(kt.alg_onrgoedkenmerk_waarde)/100)-1),2) toeslag,
|
||
krd.alg_onrgoedkenmerk_waarde ruimte_dicht_datum,
|
||
kro.alg_onrgoedkenmerk_waarde ruimte_open_datum,
|
||
kfd.alg_onrgoedkenmerk_waarde ruimte_financieel_dicht_datum,
|
||
kfo.alg_onrgoedkenmerk_waarde ruimte_financieel_open_datum,
|
||
r.alg_ruimte_opmerking,
|
||
b.huurdernr,
|
||
b.budgetcode
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_v_ruimte_gegevens rg,
|
||
alg_locatie l,
|
||
alg_onrgoedkenmerk ko, -- oppervlak
|
||
alg_onrgoedkenmerk ksp, -- schoonmaakprogramma
|
||
alg_onrgoedkenmerk ksb, -- schoonmaakbedrijf
|
||
alg_onrgoedkenmerk kt, -- toeslag
|
||
alg_onrgoedkenmerk krd, -- ruimte dicht datum
|
||
alg_onrgoedkenmerk kro, -- ruimte open datum
|
||
alg_onrgoedkenmerk kfd, -- ruimte financieel dicht datum
|
||
alg_onrgoedkenmerk kfo, -- ruimte financieel open datum
|
||
sch_programma sp,
|
||
sch_programma_bedrijf sb,
|
||
conn_v_bedrijf_gegevens b
|
||
WHERE r.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND sb.sch_programma_key = sp.sch_programma_key
|
||
--
|
||
AND r.alg_ruimte_key = ko.alg_onrgoed_key(+)
|
||
AND ko.alg_kenmerk_key(+) = 77 -- oppervlak
|
||
AND ko.alg_onrgoed_niveau(+) = 'R'
|
||
--
|
||
AND r.alg_ruimte_key = ksp.alg_onrgoed_key(+)
|
||
AND ksp.alg_kenmerk_key(+) = 85 -- schoonmaakprogramma
|
||
AND ksp.alg_onrgoed_niveau(+) = 'R'
|
||
AND sp.sch_programma_key(+) = ksp.alg_onrgoedkenmerk_waarde
|
||
--
|
||
AND r.alg_ruimte_key = ksb.alg_onrgoed_key(+)
|
||
AND ksb.alg_kenmerk_key(+) = 78 -- schoonmaakbedrijf
|
||
AND ksb.alg_onrgoed_niveau(+) = 'R'
|
||
AND b.prs_bedrijf_key(+) = ksb.alg_onrgoedkenmerk_waarde
|
||
AND sb.prs_bedrijf_key = b.prs_bedrijf_key
|
||
--
|
||
AND r.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND rg.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_key = kt.alg_onrgoed_key(+)
|
||
AND kt.alg_kenmerk_key(+) = 87 -- toeslag
|
||
AND kt.alg_onrgoed_niveau(+) = 'L'
|
||
--
|
||
AND r.alg_ruimte_key = krd.alg_onrgoed_key(+)
|
||
AND krd.alg_kenmerk_key(+) = 80 -- ruimte dicht datum
|
||
AND krd.alg_onrgoed_niveau(+) = 'R'
|
||
--
|
||
AND r.alg_ruimte_key = kro.alg_onrgoed_key(+)
|
||
AND kro.alg_kenmerk_key(+) = 79 -- ruimte open datum
|
||
AND kro.alg_onrgoed_niveau(+) = 'R'
|
||
--
|
||
AND r.alg_ruimte_key = kfd.alg_onrgoed_key(+)
|
||
AND kfd.alg_kenmerk_key(+) = 82 -- ruimte financieel dicht datum
|
||
AND kfd.alg_onrgoed_niveau(+) = 'R'
|
||
--
|
||
AND r.alg_ruimte_key = kfo.alg_onrgoed_key(+)
|
||
AND kfo.alg_kenmerk_key(+) = 81 -- ruimte financieel open datum
|
||
AND kfo.alg_onrgoed_niveau(+) = 'R'
|
||
ORDER BY rg.alg_locatie_code, b.prs_bedrijf_naam ASC;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_SCHOON_OVERZ_TOT
|
||
(FCLT_F_LOC, OPP, FCLT_F_BEDRIJF, TOTAAL, TOESLAG)
|
||
AS
|
||
SELECT complex, FAC.SAFE_TO_NUMBER(oppervlakte), schoon,
|
||
TO_NUMBER (TO_CHAR (tot_ruimte_bedrag, '999999D99')),
|
||
TO_NUMBER (TO_CHAR (toeslag_bedrag, '999999D99'))
|
||
FROM conn_v_schoon_loc_geg
|
||
WHERE schoon IS NOT NULL
|
||
ORDER BY 1, 2;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_SCHOON_HUURDER
|
||
(FCLT_F_COMPLEX, RUIMTE, OMSCHRIJVING, FCLT_F_SCHOON,
|
||
PROGRAMMA, SCHOON_OPP, HUUR_OPP, HUURDER)
|
||
AS
|
||
SELECT rg.alg_locatie_code complex,
|
||
rg.ALG_RUIMTE_AANDUIDING,
|
||
rg.alg_ruimte_omschrijving AS omschrijving,
|
||
sb.prs_bedrijf_naam AS schoon,
|
||
sp.sch_programma_code AS programma,
|
||
ko.alg_onrgoedkenmerk_waarde AS s_oppervlakte,
|
||
cog.CNT_CONTRACT_ONRGOED_OPP AS r_oppervlakte,
|
||
nvl(prs_afdeling_omschrijving, b.prs_bedrijf_naam)
|
||
FROM alg_v_ruimte_gegevens rg,
|
||
ALG_V_AANWEZIGONRGOEDKENMERK ko,
|
||
ALG_V_AANWEZIGONRGOEDKENMERK ksb,
|
||
ALG_V_AANWEZIGONRGOEDKENMERK ksp,
|
||
PRS_BEDRIJF sb,
|
||
SCH_PROGRAMMA sp,
|
||
cnt_contract_onrgoed cog,
|
||
cnt_contract c,
|
||
prs_afdeling a,
|
||
prs_bedrijf b
|
||
WHERE rg.alg_ruimte_key = cog.ALG_ONRGOED_KEY(+)
|
||
AND cog.cnt_contract_key = c.cnt_contract_key(+)
|
||
AND c.cnt_prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND rg.alg_ruimte_key = ko.alg_onrgoed_key(+)
|
||
AND ko.alg_kenmerk_key(+) = '77' -- oppervlakte
|
||
AND rg.alg_ruimte_key = ksb.alg_onrgoed_key
|
||
AND ksb.alg_kenmerk_key = '78' -- schoonmaakbedrijf
|
||
AND sb.prs_bedrijf_key = ksb.alg_onrgoedkenmerk_waarde
|
||
AND rg.alg_ruimte_key = ksp.alg_onrgoed_key(+)
|
||
AND ksp.alg_kenmerk_key(+) = '85' -- schoonmaakprogramma
|
||
AND sp.sch_programma_key(+) = ksp.alg_onrgoedkenmerk_waarde
|
||
AND cog.CNT_MLD_MELDING_KEY IS NULL;
|
||
|
||
create or replace view CONN_V_PRS_INDIENST (FCLT_F_MAAND, FCLT_F_NAAM, NUMMER, INDIENST, FCLT_F_AFDELING) as
|
||
select TO_CHAR(p.prs_perslid_ingangsdatum, 'YYMM'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR(p.prs_perslid_ingangsdatum, 'DD-MM-YYYY'),
|
||
a.prs_afdeling_naam1
|
||
from prs_v_afdeling a,
|
||
prs_v_aanwezigperslid p,
|
||
prs_v_perslid_fullnames pf
|
||
where p.prs_afdeling_key = a.prs_afdeling_key
|
||
and pf.prs_perslid_key = p.prs_perslid_key
|
||
and p.prs_perslid_ingangsdatum IS NOT NULL;
|
||
|
||
create or replace view CONN_V_PRS_UITDIENST (FCLT_F_MAAND, FCLT_F_NAAM, NUMMER, UITDIENST, FCLT_F_AFDELING) as
|
||
select TO_CHAR(p.prs_perslid_einddatum, 'YYMM'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR(p.prs_perslid_einddatum, 'DD-MM-YYYY'),
|
||
a.prs_afdeling_naam1
|
||
from prs_v_afdeling a,
|
||
prs_v_aanwezigperslid p,
|
||
prs_v_perslid_fullnames pf
|
||
where p.prs_afdeling_key = a.prs_afdeling_key
|
||
and pf.prs_perslid_key = p.prs_perslid_key
|
||
and p.prs_perslid_einddatum IS NOT NULL;
|
||
|
||
|
||
create or replace view CONN_V_VERPLICHTING (FCLT_F_NAAM, NUMMER, UITDIENST, VERPLICHTING, DETAILS) as
|
||
select pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR(p.prs_perslid_einddatum, 'DD-MM-YYYY'),
|
||
t.fac_message_text,
|
||
pv.item
|
||
from prs_v_verplichting pv,
|
||
fac_message t,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames pf
|
||
where pv.fac_message_code = t.fac_message_code
|
||
and pv.prs_perslid_key = p.prs_perslid_key
|
||
and pf.prs_perslid_key = p.prs_perslid_key
|
||
and p.prs_perslid_einddatum < sysdate;
|
||
/
|
||
|
||
--///////////////////////////////////////////VERVALLEN/////////////////////////////////////BEGIN?
|
||
CREATE OR REPLACE VIEW CONN_V_OPDR AS
|
||
select m.MLD_INS_DISCIPLINE_KEY
|
||
,o.*
|
||
from mld_opdr o, mld_melding m
|
||
where o.mld_melding_key = m.mld_melding_key;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_OPDR_IB AS
|
||
select o.*
|
||
from CONN_V_OPDR o
|
||
where o.MLD_INS_DISCIPLINE_KEY = 562;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_OPDR_OVERIG AS
|
||
select o.*
|
||
from CONN_V_OPDR o
|
||
where o.MLD_INS_DISCIPLINE_KEY <> 562;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_MLD_VERPLICHTING_OFF
|
||
(OPDRACHT, LOCATIE, BEDRIJF, DATUM, OFFERTE_STATUS, BEDRAG, EIGENAAR)
|
||
AS
|
||
select (select ins_srtdiscipline_prefix from ins_srtdiscipline sd, ins_tab_discipline d, mld_melding m where
|
||
m.MLD_INS_DISCIPLINE_KEY = d.ins_discipline_key
|
||
and d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
and m.mld_melding_key = o.mld_melding_key) || o.mld_melding_key ||'/' || o.MLD_OPDR_BEDRIJFOPDR_VOLGNR
|
||
, (select alg_locatie_code
|
||
from alg_locatie l, mld_melding m
|
||
where l.alg_locatie_key = m.mld_alg_locatie_key
|
||
and o.mld_melding_key = m.mld_melding_key) as locatie
|
||
, (select prs_bedrijf_naam from prs_bedrijf where prs_bedrijf_key = o.MLD_UITVOERENDE_KEYS) as bedrijf
|
||
, (select TO_CHAR(MLD_OPDR_DATUMBEGIN, 'DD-MM-YYYY') from mld_opdr where mld_melding_key = o.mld_melding_key and rownum = 1) as OpdrDatum
|
||
, ud.FAC_USRDATA_OMSCHR
|
||
, TO_CHAR(nvl(bed.MLD_KENMERKOPDR_WAARDE,0),'9999990D00') as Openstaand
|
||
, (select fd.fac_usrdata_omschr
|
||
from fac_usrdata fd, MLD_V_AANWEZIGKENMERKOPDR gb, mld_opdr opdr
|
||
where gb.mld_opdr_key = opdr.mld_opdr_key
|
||
and gb.mld_kenmerk_key = 83
|
||
and opdr.mld_uitvoerende_keys = o.MLD_UITVOERENDE_KEYS
|
||
and gb.mld_kenmerkopdr_waarde = fd.fac_usrdata_key
|
||
and rownum = 1) as Eigenaar
|
||
from mld_opdr o, MLD_V_AANWEZIGKENMERKOPDR ko, fac_usrdata ud, MLD_V_AANWEZIGKENMERKOPDR bed
|
||
where o.MLD_TYPEOPDR_KEY = 66
|
||
and o.mld_opdr_key = ko.mld_opdr_key(+)
|
||
and ko.MLD_KENMERK_KEY(+) = 74
|
||
and ud.fac_usrdata_key(+) = ko.mld_kenmerkopdr_waarde
|
||
and bed.mld_kenmerk_key(+) = 449
|
||
and o.mld_opdr_key = bed.mld_opdr_key(+)
|
||
and o.mld_statusopdr_key = 5;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_MLD_VERPLICHTING
|
||
(DATUM, FCLT_F_SOORT, OPDRACHT, LOCATIE, BEDRIJF,
|
||
EIGENAAR, OPDRACHT_BEDRAG, FACTUUR_BEDRAG)
|
||
AS
|
||
SELECT TO_CHAR (mld_opdr_datumbegin, 'DD-MM-YYYY') datum,
|
||
(SELECT ins_srtdiscipline_prefix
|
||
FROM ins_srtdiscipline sd,
|
||
ins_tab_discipline d,
|
||
mld_melding m
|
||
WHERE m.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND o.mld_melding_key = m.mld_melding_key) soort,
|
||
opdracht,
|
||
(SELECT alg_locatie_code
|
||
FROM alg_locatie l, mld_melding m
|
||
WHERE l.alg_locatie_key = m.mld_alg_locatie_key
|
||
AND o.mld_melding_key = m.mld_melding_key) AS locatie,
|
||
(SELECT prs_bedrijf_naam
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_key = mld_uitvoerende_keys) AS bedrijf,
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, mld_v_aanwezigkenmerkopdr gb
|
||
WHERE gb.mld_opdr_key = o.mld_opdr_key
|
||
AND gb.mld_kenmerk_key = 83
|
||
AND gb.mld_kenmerkopdr_waarde = fd.fac_usrdata_key) AS eigenaar,
|
||
mld_opdr_kosten opdrachtkosten, fr_bedrag factuurbedrag
|
||
FROM (SELECT o.mld_melding_key
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr opdracht,
|
||
mld_opdr_datumbegin, mld_uitvoerende_keys, mld_melding_key,
|
||
o.mld_opdr_key, mld_opdr_kosten,
|
||
NVL (fin_factuurregel_totaal + fr.fin_factuurregel_btw,
|
||
0
|
||
) fr_bedrag
|
||
FROM fin_factuur f, fin_factuurregel fr, mld_opdr o
|
||
WHERE fr.fin_factuur_key(+) = f.fin_factuur_key
|
||
AND o.mld_opdr_key = f.mld_opdr_key(+)
|
||
AND o.mld_statusopdr_key <> 7
|
||
AND o.mld_typeopdr_key = 5) o
|
||
WHERE mld_opdr_kosten - fr_bedrag > 2500;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_MLD_VERPLICHTING_FIAT
|
||
(OPDRACHT, LOCATIE, FIATTEUR, DATUM, OFFERTE_STATUS, BEDRAG, EIGENAAR)
|
||
AS
|
||
select (select ins_srtdiscipline_prefix from ins_srtdiscipline sd, ins_tab_discipline d, mld_melding m where
|
||
m.MLD_INS_DISCIPLINE_KEY = d.ins_discipline_key
|
||
and d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
and m.mld_melding_key = o.mld_melding_key) || o.mld_melding_key ||'/' || o.MLD_OPDR_BEDRIJFOPDR_VOLGNR
|
||
, (select alg_locatie_code
|
||
from alg_locatie l, mld_melding m
|
||
where l.alg_locatie_key = m.mld_alg_locatie_key
|
||
and o.mld_melding_key = m.mld_melding_key) as locatie
|
||
, NVL((select prs_bedrijf_naam from prs_bedrijf where prs_bedrijf_key = o.MLD_UITVOERENDE_KEYS),
|
||
(select prs_perslid_naam from prs_perslid where prs_perslid_key = o.MLD_UITVOERENDE_KEYS)) as bedrijf
|
||
, (select TO_CHAR(MLD_OPDR_DATUMBEGIN,'DD-MM-YYYY') from mld_opdr where mld_melding_key = o.mld_melding_key) as OpdrDatum
|
||
, ud.FAC_USRDATA_OMSCHR
|
||
, TO_CHAR(nvl(bed.MLD_KENMERKOPDR_WAARDE,0),'9999990D00') as Openstaand
|
||
, (select fd.fac_usrdata_omschr
|
||
from fac_usrdata fd, MLD_V_AANWEZIGKENMERKOPDR gb, mld_opdr opdr
|
||
where gb.mld_opdr_key = opdr.mld_opdr_key
|
||
and gb.mld_kenmerk_key = 83
|
||
and opdr.mld_uitvoerende_keys = o.MLD_UITVOERENDE_KEYS
|
||
and gb.mld_kenmerkopdr_waarde = fd.fac_usrdata_key
|
||
and rownum = 1) as Eigenaar
|
||
from mld_opdr o, MLD_V_AANWEZIGKENMERKOPDR ko , fac_usrdata ud, MLD_V_AANWEZIGKENMERKOPDR bed
|
||
where o.MLD_TYPEOPDR_KEY = 65
|
||
and o.mld_opdr_key = ko.mld_opdr_key(+)
|
||
and ko.MLD_KENMERK_KEY(+) = 69
|
||
and ud.fac_usrdata_key(+) = ko.mld_kenmerkopdr_waarde
|
||
and bed.mld_kenmerk_key(+) = 445
|
||
and o.mld_opdr_key = bed.mld_opdr_key(+)
|
||
and o.mld_statusopdr_key = 5;
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_rap_tekeningen
|
||
AS
|
||
SELECT alg_locatie_code AS fclt_f_locatie, alg_gebouw_code,
|
||
alg_verdieping_omschrijving, cad_tekening_type,
|
||
cad_tekening_filenaam
|
||
FROM cad_tekening, alg_locatie, alg_gebouw, alg_verdieping AVG
|
||
WHERE cad_tekening.alg_verdieping_key = AVG.alg_verdieping_key
|
||
AND alg_locatie.alg_locatie_key = alg_gebouw.alg_locatie_key
|
||
AND AVG.alg_gebouw_key = alg_gebouw.alg_gebouw_key
|
||
UNION
|
||
SELECT alg_locatie_code AS fclt_f_locatie, '', '', cad_tekening_type,
|
||
cad_tekening_filenaam
|
||
FROM cad_tekening, alg_locatie
|
||
WHERE cad_tekening.alg_verdieping_key = NULL
|
||
AND alg_locatie.alg_locatie_key = cad_tekening.alg_locatie_key;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_RAP_GROEPLEDEN
|
||
(NAAM, FCLT_F_LOGIN, FCLT_F_DIVISIE, REGIO, FCLT_F_GROEP, AANTAL_RECHTEN)
|
||
AS
|
||
SELECT p.prs_perslid_naam, p.prs_perslid_oslogin, a1.prs_afdeling_omschrijving, a2.prs_afdeling_omschrijving,
|
||
gr.fac_groep_omschrijving, TO_CHAR(count(*))
|
||
FROM fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_v_afdeling_boom ab,
|
||
fac_groep gr,
|
||
fac_groeprechten grr
|
||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 = a1.prs_afdeling_key
|
||
AND ab.prs_afdeling_key2 = a2.prs_afdeling_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND gr.FAC_GROEP_KEY = grr.fac_groep_key
|
||
AND gr.fac_groep_verwijder IS NULL
|
||
GROUP BY p.prs_perslid_naam, p.prs_perslid_oslogin,
|
||
gr.fac_groep_omschrijving, a1.prs_afdeling_omschrijving, a2.prs_afdeling_omschrijving;
|
||
|
||
-- CONN#546
|
||
CREATE OR REPLACE VIEW conn_v_contracten_gegevens
|
||
AS
|
||
SELECT TO_CHAR (c.cnt_contract_key) contractnr, c.cnt_contract_nummer externnr,
|
||
NVL (b.prs_bedrijf_naam, afd2.prs_afdeling_naam) fclt_f_bedrijf,
|
||
TO_CHAR (c.cnt_contract_looptijd_van, 'DD-MM-YYYY') ingangsdatum,
|
||
TO_CHAR (c.cnt_contract_looptijd_tot, 'DD-MM-YYYY') einddatum, k1.cnt_kenmerkcontract_waarde bedrag
|
||
FROM prs_v_aanwezigbedrijf b,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigafdeling afd,
|
||
prs_v_aanwezigafdeling afd2,
|
||
cnt_kenmerkcontract k1,
|
||
cnt_disc_params cdp
|
||
WHERE b.prs_bedrijf_key(+) = c.cnt_prs_bedrijf_key
|
||
AND cdp.cnt_ins_discipline_key = c.ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type <> 2
|
||
AND c.cnt_prs_afdeling_key = afd2.prs_afdeling_key(+)
|
||
AND afd.prs_afdeling_key = c.prs_afdeling_key_eig
|
||
AND c.cnt_contract_key = k1.cnt_contract_key(+)
|
||
AND 26 = k1.cnt_kenmerk_key(+)
|
||
AND k1.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND ( (SYSDATE BETWEEN c.cnt_contract_looptijd_van AND c.cnt_contract_rappeldatum)
|
||
OR (SYSDATE BETWEEN c.cnt_contract_rappeldatum AND c.cnt_contract_opzegdatum)
|
||
OR (SYSDATE BETWEEN c.cnt_contract_opzegdatum AND c.cnt_contract_looptijd_tot + 1)
|
||
);
|
||
|
||
|
||
/* Formatted on 2005/09/13 14:07 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_rcontracten_gegevens (fclt_f_locatie,
|
||
OBJECT,
|
||
externnr,
|
||
beschrijving,
|
||
einddatum,
|
||
uitvoerder,
|
||
contractnemer,
|
||
betalingsvoorwaarden,
|
||
totaal_pj,
|
||
facturatietermijn,
|
||
dienstverlening_afroep,
|
||
dienstverlening_periodiek,
|
||
responsetijden,
|
||
afspraken
|
||
)
|
||
AS
|
||
SELECT NVL (l.alg_locatie_omschrijving, g.alg_locatie_omschrijving) fclt_f_locatie,
|
||
sd.ins_srtdeel_omschrijving OBJECT, c.cnt_contract_nummer externnr, c.cnt_contract_omschrijving beschrijving,
|
||
c.cnt_contract_looptijd_tot einddatum, b.prs_bedrijf_naam uitvoerder,
|
||
(SELECT prs_bedrijf_naam
|
||
FROM prs_v_contractbedrijf
|
||
WHERE prs_bedrijf_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 141
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) contractnemer,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 143
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) betalingsvoorwaarden,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 144
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) totaal_pj,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 145
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) facturatietermijn,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 146
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) dienstverlening_afroep,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 147
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) dienstverlening_periodiek,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 149
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) responsetijden,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 161
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) afspraken
|
||
FROM cnt_v_aanwezigcontract_plaats cp,
|
||
(SELECT g2.alg_gebouw_key, l2.alg_locatie_omschrijving
|
||
FROM alg_gebouw g2, alg_locatie l2
|
||
WHERE g2.alg_locatie_key = l2.alg_locatie_key) g,
|
||
alg_locatie l,
|
||
cnt_contract c,
|
||
cnt_contract_object co,
|
||
prs_bedrijf b,
|
||
ins_srtdeel sd,
|
||
cnt_disc_params cdp
|
||
WHERE cp.cnt_alg_plaats_key = g.alg_gebouw_key(+)
|
||
AND cp.cnt_alg_plaats_key = l.alg_locatie_key(+)
|
||
AND cp.cnt_alg_plaats_code IN ('L', 'G')
|
||
AND cp.cnt_contract_key = c.cnt_contract_key
|
||
AND co.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = cdp.cnt_ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type = 3
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND co.cnt_ins_srtdeel_key = sd.ins_srtdeel_key;
|
||
|
||
|
||
CREATE OR REPLACE function CONN_GET_CONTRACT_KEY (
|
||
p_locatie in VARCHAR2,
|
||
p_huurder in VARCHAR2,
|
||
p_budgetcode in VARCHAR2)
|
||
RETURN NUMBER AS
|
||
v_cnt_contract_key NUMBER(10);
|
||
BEGIN
|
||
BEGIN
|
||
select distinct cnt_contract_key
|
||
into v_cnt_contract_key
|
||
from cnt_v_contract_locatie_geg lg
|
||
,alg_locatie l
|
||
,prs_bedrijf b
|
||
where lg.alg_locatie_key = l.alg_locatie_key
|
||
and l.alg_locatie_code = p_locatie
|
||
and lg.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
and b.prs_leverancier_nr = p_budgetcode||'/'||p_huurder
|
||
and rownum = 1;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
RETURN NULL;
|
||
END;
|
||
RETURN v_cnt_contract_key;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE CONN_IMPORT_CONTRACTMUTATIE (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
v_newline FAC_IMP_FILE.fac_imp_file_line%TYPE; -- Input line
|
||
v_field VARCHAR2 (100);
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
v_hint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
-- De velden op de eerste regel
|
||
v_bedrijfsnummer VARCHAR2(30);
|
||
v_mutatienummer VARCHAR2(20);
|
||
v_complexnummer VARCHAR2(20);
|
||
v_eenheidsnummer VARCHAR2(83);
|
||
v_huurdernummer VARCHAR2(20);
|
||
v_budgetcode VARCHAR2(20);
|
||
v_ingangsdatum VARCHAR2(20);
|
||
v_indexeringsdatum VARCHAR2(20);
|
||
v_brutohuur VARCHAR2(20);
|
||
v_invoerdatum VARCHAR2(20);
|
||
v_gebeurtenis VARCHAR2(20);
|
||
v_tarieftype VARCHAR2(10);
|
||
v_ruimtesoort VARCHAR2(10);
|
||
v_aantal VARCHAR2(20);
|
||
v_tarief VARCHAR2(20);
|
||
v_totaal VARCHAR2(20);
|
||
v_aantalregels VARCHAR2(20);
|
||
|
||
CURSOR c_cm
|
||
IS
|
||
SELECT *
|
||
FROM FAC_IMP_FILE
|
||
WHERE fac_imp_file_applicatie = p_applname
|
||
ORDER BY FAC_IMP_FILE_INDEX;
|
||
|
||
v_rec c_cm%ROWTYPE;
|
||
|
||
BEGIN
|
||
-- Init
|
||
v_fielddelimitor := ';';
|
||
|
||
DELETE CONN_IMP_CONTRACTMUTATIE;
|
||
|
||
DELETE IMP_LOG
|
||
WHERE imp_log_applicatie = p_applname
|
||
AND imp_log_datum < sysdate -7;
|
||
|
||
OPEN c_cm;
|
||
IF c_cm%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH c_cm INTO v_rec;
|
||
EXIT WHEN c_cm%NOTFOUND;
|
||
|
||
v_hint := substr('import regel:' || v_rec.fac_imp_file_index || ' inhoud: ' || v_rec.fac_imp_file_line,0,200);
|
||
v_newline := v_rec.fac_imp_file_line;
|
||
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijfsnummer);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_mutatienummer);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_complexnummer);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_eenheidsnummer);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_huurdernummer);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_budgetcode);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_ingangsdatum);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_indexeringsdatum);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_brutohuur);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_invoerdatum);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_gebeurtenis);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_tarieftype);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_ruimtesoort);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_aantal);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_tarief);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_totaal);
|
||
Fac.imp_getfield (v_newline, v_fielddelimitor, v_aantalregels);
|
||
|
||
|
||
INSERT INTO CONN_IMP_CONTRACTMUTATIE
|
||
( bedrijfsnummer
|
||
, mutatienummer
|
||
, complexnummer
|
||
, eenheidsnummer
|
||
, huurdernummer
|
||
, budgetcode
|
||
, ingangsdatum
|
||
, indexeringsdatum
|
||
, brutohuur
|
||
, invoerdatum
|
||
, gebeurtenis
|
||
, tarieftype
|
||
, ruimtesoort
|
||
, aantal
|
||
, tarief
|
||
, totaal
|
||
, aantalregels
|
||
)
|
||
VALUES ( substr(v_bedrijfsnummer,1,30)
|
||
, substr(v_mutatienummer,1,20)
|
||
, substr(v_complexnummer,1,20)
|
||
, substr(v_eenheidsnummer,1,83)
|
||
, substr(v_huurdernummer,1,20)
|
||
, substr(v_budgetcode,1,20)
|
||
, to_date(substr(v_ingangsdatum,1,8),'YYYYMMDD')
|
||
, to_date(substr(v_indexeringsdatum,1,8),'YYYYMMDD')
|
||
, to_number(substr(v_brutohuur,1,11))
|
||
, to_date(substr(v_invoerdatum,1,8),'YYYYMMDD')
|
||
, substr(v_gebeurtenis,1,20)
|
||
, substr(v_tarieftype,1,10)
|
||
, substr(v_ruimtesoort,1,10)
|
||
, to_number(substr(v_aantal,1,9))
|
||
, to_number(substr(v_tarief,1,13))
|
||
, to_number(substr(v_totaal,1,11))
|
||
, to_number(substr(v_aantalregels,1,6))
|
||
);
|
||
|
||
COMMIT;
|
||
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_applname, p_applrun, 'E', v_errormsg, v_hint);
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, v_hint);
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE CONN_UPDATE_CONTRACTMUTATIE (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
v_newline FAC_IMP_FILE.fac_imp_file_line%TYPE; -- Input line
|
||
v_field VARCHAR2 (100);
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
v_hintmsg VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
-- De velden op de eerste regel
|
||
v_alg_srtonrgoed_key NUMBER;
|
||
v_alg_srtonrgoed_prijs NUMBER;
|
||
v_exp_totaal NUMBER;
|
||
v_tot_prijs NUMBER;
|
||
v_afwijking NUMBER;
|
||
v_alg_type VARCHAR2(1);
|
||
|
||
CURSOR c_index
|
||
IS
|
||
SELECT *
|
||
FROM CONN_IMP_CONTRACTMUTATIE
|
||
WHERE gebeurtenis = 'Index'
|
||
ORDER BY eenheidsnummer, tarieftype;
|
||
|
||
v_rec_index c_index%ROWTYPE;
|
||
|
||
CURSOR c_mutatie
|
||
IS
|
||
SELECT DISTINCT mutatienummer, brutohuur
|
||
FROM conn_imp_contractmutatie
|
||
WHERE gebeurtenis = 'Mutatie';
|
||
|
||
v_rec_mutatie c_mutatie%ROWTYPE;
|
||
|
||
CURSOR c_mut_index (pMutnummer IN VARCHAR2)
|
||
IS
|
||
SELECT *
|
||
FROM CONN_IMP_CONTRACTMUTATIE
|
||
WHERE mutatienummer = pMutnummer;
|
||
|
||
BEGIN
|
||
-- Init
|
||
|
||
|
||
OPEN c_index;
|
||
IF c_index%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH c_index INTO v_rec_index;
|
||
EXIT WHEN c_index%NOTFOUND;
|
||
|
||
BEGIN
|
||
|
||
v_hintmsg := ' Complex: ' || v_rec_index.complexnummer || 'Tarieftype: ' || v_rec_index.tarieftype || ' Tarief:' || v_rec_index.tarief;
|
||
SELECT alg_srtonrgoed_key, alg_srtonrgoed_prijs, alg_type
|
||
INTO v_alg_srtonrgoed_key, v_alg_srtonrgoed_prijs, v_alg_type
|
||
FROM alg_v_allsrtonrgoed
|
||
WHERE alg_srtonrgoed_verwijder is null
|
||
AND alg_srtonrgoed_upper = v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype);
|
||
|
||
IF v_rec_index.tarief <> v_alg_srtonrgoed_prijs THEN
|
||
IF v_alg_type = 'R' THEN
|
||
UPDATE alg_srtruimte
|
||
SET alg_srtruimte_prijs = v_rec_index.tarief
|
||
WHERE alg_srtruimte_key = v_alg_srtonrgoed_key;
|
||
ELSE
|
||
UPDATE alg_srtterreinsector
|
||
SET alg_srtterreinsector_prijs = v_rec_index.tarief
|
||
WHERE alg_srtterreinsector_key = v_alg_srtonrgoed_key;
|
||
END IF;
|
||
|
||
v_errormsg := 'Ind: Tarief aangepast. Tarief:' || v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype) || ' Prijs:' || v_rec_index.tarief || ' Oude prijs:' || v_alg_srtonrgoed_prijs;
|
||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||
END IF;
|
||
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_errormsg := 'Ind: Kan tarieftype niet vinden. Tarief:' || v_rec_index.complexnummer || '-' || upper(v_rec_index.tarieftype);
|
||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||
WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'Ind: OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_hintmsg);
|
||
END;
|
||
END;
|
||
END LOOP;
|
||
CLOSE c_index;
|
||
COMMIT;
|
||
END IF;
|
||
v_rec_index := null;
|
||
|
||
OPEN c_mutatie;
|
||
IF c_mutatie%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH c_mutatie INTO v_rec_mutatie;
|
||
EXIT WHEN c_mutatie%NOTFOUND;
|
||
BEGIN
|
||
SELECT max(totaal)
|
||
INTO v_exp_totaal
|
||
FROM conn_exp_contractmutatie cec
|
||
WHERE cec.mutatienummer = v_rec_mutatie.mutatienummer;
|
||
|
||
IF v_exp_totaal IS NULL THEN
|
||
v_errormsg := 'Mut: Kan contractmutatie niet vinden. Mutatie:' || v_rec_mutatie.mutatienummer || ' Huur:' || v_rec_mutatie.brutohuur;
|
||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||
ELSE
|
||
--Fac.imp_writelog (p_applname, p_applrun, 'E', 'Else v_exp_totaal: ' || v_exp_totaal, '');
|
||
IF v_exp_totaal = 0 THEN
|
||
v_afwijking := 0;
|
||
ELSE
|
||
v_afwijking := TRUNC((ABS(v_rec_mutatie.brutohuur - v_exp_totaal)/v_exp_totaal)*100);
|
||
END IF;
|
||
IF v_afwijking < 10 THEN
|
||
-- update tarieftype vanuit ontvangen mutatie
|
||
FOR v_rec_mut_index IN c_mut_index(v_rec_mutatie.mutatienummer) LOOP
|
||
BEGIN
|
||
|
||
v_hintmsg := ' Complex: ' || v_rec_mut_index.complexnummer || 'Tarieftype: ' || v_rec_mut_index.tarieftype || ' Tarief:' || v_rec_mut_index.tarief;
|
||
SELECT alg_srtonrgoed_key, alg_srtonrgoed_prijs, alg_type
|
||
INTO v_alg_srtonrgoed_key, v_alg_srtonrgoed_prijs, v_alg_type
|
||
FROM alg_v_allsrtonrgoed
|
||
WHERE alg_srtonrgoed_verwijder is null
|
||
AND alg_srtonrgoed_upper = v_rec_mut_index.complexnummer || '-' || upper(v_rec_mut_index.tarieftype);
|
||
|
||
IF v_rec_index.tarief <> v_alg_srtonrgoed_prijs THEN
|
||
IF v_alg_type = 'R' THEN
|
||
UPDATE alg_srtruimte
|
||
SET alg_srtruimte_prijs = v_rec_mut_index.tarief
|
||
WHERE alg_srtruimte_key = v_alg_srtonrgoed_key;
|
||
ELSE
|
||
UPDATE alg_srtterreinsector
|
||
SET alg_srtterreinsector_prijs = v_rec_mut_index.tarief
|
||
WHERE alg_srtterreinsector_key = v_alg_srtonrgoed_key;
|
||
END IF;
|
||
|
||
v_errormsg := 'Mut: Tarief aangepast. Tarief:' || v_rec_mut_index.complexnummer || '-' || upper(v_rec_mut_index.tarieftype) || ' Prijs:' || v_rec_mut_index.tarief || ' Oude prijs:' || v_alg_srtonrgoed_prijs;
|
||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||
ELSE
|
||
v_errormsg := 'Mut: Tarief NIET aangepast. Tarief:' || v_rec_mut_index.complexnummer || '-' || upper(v_rec_mut_index.tarieftype) || ' Prijs:' || v_rec_mut_index.tarief || ' Oude prijs:' || v_alg_srtonrgoed_prijs;
|
||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||
END IF;
|
||
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_errormsg := 'Mut: Kan tarieftype niet vinden. Tarief:' || v_rec_mut_index.complexnummer || '-' || upper(v_rec_mut_index.tarieftype);
|
||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||
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_applname, p_applrun, 'E', v_errormsg, v_hintmsg);
|
||
END;
|
||
END LOOP;
|
||
|
||
-- verwijder records uit de export
|
||
DELETE CONN_EXP_CONTRACTMUTATIE WHERE mutatienummer = v_rec_mutatie.mutatienummer;
|
||
-- voor mutatie uit
|
||
CONN_VERWERK_HUURMUTATIE (p_applname, p_applrun, substr(v_rec_mutatie.MUTATIENUMMER,0,instr(v_rec_mutatie.MUTATIENUMMER, '/')-1));
|
||
|
||
UPDATE mld_melding
|
||
SET mld_melding_afgemeld_user= 1042
|
||
, mld_melding_afgemeld = sysdate
|
||
, mld_melding_opmerking = substr(mld_melding_opmerking || ' Bevestiging ontvangen d.d. ' || sysdate, 0, 3000)
|
||
WHERE mld_melding_key = substr(v_rec_mutatie.MUTATIENUMMER,0,instr(v_rec_mutatie.MUTATIENUMMER, '/')-1);
|
||
|
||
|
||
v_ErrorMsg := 'Mut: Mutatie verwerkt Mutatie: ' || v_rec_mutatie.mutatienummer || ' afwijking:'|| v_afwijking || '% Facilitor bedrag:'|| v_exp_totaal||' Ontvangen bedrag:' ||v_rec_mutatie.brutohuur ;
|
||
Fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, '');
|
||
COMMIT;
|
||
ELSE
|
||
-- afwijking is te groot
|
||
v_ErrorMsg := 'Mut: Ontvangen contract mismatch! Mutatie: ' || v_rec_mutatie.mutatienummer || ' afwijking:'|| v_afwijking || '% Facilitor bedrag:'|| v_exp_totaal||' Ontvangen bedrag:' ||v_rec_mutatie.brutohuur ;
|
||
Fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, '');
|
||
|
||
UPDATE mld_melding
|
||
SET mld_melding_opmerking = substr(mld_melding_opmerking || ' ' || v_ErrorMsg, 0, 3000)
|
||
WHERE mld_melding_key = substr(v_rec_mutatie.MUTATIENUMMER,0,instr(v_rec_mutatie.MUTATIENUMMER, '/')-1);
|
||
|
||
UPDATE CNT_CONTRACT_ONRGOED SET CNT_MUTATIE_STATUS_KEY = 4 WHERE CNT_MLD_MELDING_KEY || '/' || CNT_CONTRACT_KEY = v_rec_mutatie.mutatienummer;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END;
|
||
END LOOP;
|
||
COMMIT;
|
||
END IF;
|
||
|
||
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, v_hintmsg);
|
||
END;
|
||
/
|
||
|
||
|
||
-- Procedure CONN_VERWERK_HUURMUTATIE wordt gebruikt door de procedure CONN_UPDATE_CONTRACTMUTATIE
|
||
CREATE OR REPLACE procedure CONN_VERWERK_HUURMUTATIE (
|
||
p_ApplName in VARCHAR2,
|
||
p_ApplRun in VARCHAR2,
|
||
p_mut_key in NUMBER) AS
|
||
ORACLE_err_mes VARCHAR2(300);
|
||
v_ErrorMsg VARCHAR2(300);
|
||
ORACLE_err_num NUMBER;
|
||
CURSOR c1 IS
|
||
SELECT ALG_ONRGOED_KEY
|
||
,CNT_CONTRACT_ONRGOED_KEY
|
||
,NVL(CNT_CONTRACT_ONRGOED_OPP1, 0) AS CNT_CONTRACT_ONRGOED_OPP1
|
||
,NVL(CNT_CONTRACT_ONRGOED_OPP2, 0) AS CNT_CONTRACT_ONRGOED_OPP2
|
||
,CNT_CONTRACT_ONRGOED_KEY2
|
||
,CNT_CONTRACT_KEY
|
||
,CNT_CONTRACT_KEY2
|
||
,CNT_PRS_BEDRIJF_KEY2
|
||
FROM CNT_V_CONTRACT_HUURDER ch
|
||
WHERE CNT_MLD_MELDING_KEY = p_mut_key
|
||
ORDER BY 1;
|
||
CURSOR c2 IS
|
||
SELECT cog.CNT_CONTRACT_KEY
|
||
,CNT_CONTRACT_ONRGOED_KEY
|
||
,TOT_OPP
|
||
,cog.ALG_ONRGOED_KEY
|
||
FROM CNT_CONTRACT_ONRGOED cog
|
||
,(SELECT CNT_CONTRACT_KEY
|
||
,ALG_ONRGOED_KEY
|
||
,SUM(CNT_CONTRACT_ONRGOED_OPP) AS tot_opp
|
||
FROM CNT_CONTRACT_ONRGOED
|
||
WHERE CNT_MLD_MELDING_KEY IS NULL
|
||
GROUP BY CNT_CONTRACT_KEY, ALG_ONRGOED_KEY
|
||
HAVING COUNT(ALG_ONRGOED_KEY) > 1) dup
|
||
WHERE cog.CNT_CONTRACT_KEY = dup.CNT_CONTRACT_KEY
|
||
AND cog.ALG_ONRGOED_KEY = dup.ALG_ONRGOED_KEY
|
||
ORDER BY 1,4;
|
||
v_rec c1%rowtype;
|
||
v_rec2 c2%rowtype;
|
||
v_alg_onrgoed_key_prev NUMBER(10);
|
||
v_cnt_contract_key_prev NUMBER(10);
|
||
v_remove_contract_key NUMBER(10);
|
||
v_count NUMBER(10);
|
||
BEGIN
|
||
BEGIN
|
||
v_remove_contract_key := -1;
|
||
dbms_output.put_line('begin'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||
OPEN c1;
|
||
IF c1%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH c1 INTO v_rec;
|
||
EXIT WHEN c1%NOTFOUND;
|
||
UPDATE CNT_CONTRACT_ONRGOED
|
||
SET CNT_MLD_MELDING_KEY = NULL
|
||
,CNT_CONTRACT_ONRGOED_KEY_ORG = NULL
|
||
WHERE CNT_CONTRACT_ONRGOED_KEY = v_rec.CNT_CONTRACT_ONRGOED_KEY2;
|
||
-- update the original contacts. Variables used for original contracts have a 1 in the variable
|
||
-- name.
|
||
IF v_rec.CNT_CONTRACT_ONRGOED_KEY IS NOT NULL THEN
|
||
--if (! isNaN(cnt_contract_key1)) {
|
||
UPDATE CNT_CONTRACT_ONRGOED
|
||
SET CNT_CONTRACT_ONRGOED_OPP = CNT_CONTRACT_ONRGOED_OPP - v_rec.CNT_CONTRACT_ONRGOED_OPP2
|
||
WHERE CNT_CONTRACT_ONRGOED_KEY = v_rec.CNT_CONTRACT_ONRGOED_KEY;
|
||
END IF;
|
||
IF v_rec.CNT_PRS_BEDRIJF_KEY2 = 1 THEN
|
||
DELETE CNT_CONTRACT_ONRGOED
|
||
WHERE CNT_CONTRACT_ONRGOED_KEY = v_rec.CNT_CONTRACT_ONRGOED_KEY2;
|
||
v_remove_contract_key := v_rec.CNT_CONTRACT_ONRGOED_KEY;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
CLOSE c1;
|
||
|
||
IF v_remove_contract_key = -1 THEN
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM CNT_CONTRACT_ONRGOED
|
||
WHERE CNT_CONTRACT_KEY = v_remove_contract_key;
|
||
|
||
IF v_count = NULL THEN
|
||
UPDATE CNT_CONTRACT SET CNT_CONTRACT_LOOPTIJD_TOT = sysdate + 10,
|
||
CNT_CONTRACT_RAPPELDATUM = sysdate + 10,
|
||
CNT_CONTRACT_OPZEGDATUM = sysdate + 10,
|
||
CNT_CONTRACT_LOOPTIJD_VAN = sysdate + 9
|
||
where CNT_CONTRACT_KEY = v_remove_contract_key;
|
||
|
||
UPDATE CNT_CONTRACT SET CNT_CONTRACT_VERWIJDER = sysdate
|
||
WHERE CNT_CONTRACT_KEY = v_remove_contract_key;
|
||
END IF;
|
||
END IF;
|
||
|
||
dbms_output.put_line('na close c1'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||
--
|
||
DELETE CNT_CONTRACT_ONRGOED
|
||
WHERE CNT_CONTRACT_ONRGOED_OPP = 0;
|
||
dbms_output.put_line('na delete'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||
v_alg_onrgoed_key_prev := -1;
|
||
v_cnt_contract_key_prev := -1;
|
||
OPEN c2;
|
||
IF c2%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH c2 INTO v_rec2;
|
||
EXIT WHEN c2%NOTFOUND;
|
||
IF v_rec2.CNT_CONTRACT_KEY <> v_cnt_contract_key_prev OR
|
||
v_rec2.ALG_ONRGOED_KEY <> v_alg_onrgoed_key_prev THEN
|
||
-- if (cnt_contract_key != cnt_contract_key_prev || alg_onrgoed_key != alg_onrgoed_key_prev) {
|
||
-- update oppervlakte to total
|
||
UPDATE CNT_CONTRACT_ONRGOED SET CNT_CONTRACT_ONRGOED_OPP = v_rec2.TOT_OPP
|
||
WHERE CNT_CONTRACT_ONRGOED_KEY = v_rec2.CNT_CONTRACT_ONRGOED_KEY;
|
||
ELSE
|
||
-- delete duplicate records.
|
||
DELETE CNT_CONTRACT_ONRGOED
|
||
WHERE CNT_CONTRACT_ONRGOED_KEY = v_rec2.CNT_CONTRACT_ONRGOED_KEY;
|
||
END IF;
|
||
v_cnt_contract_key_prev := v_rec2.CNT_CONTRACT_KEY;
|
||
v_alg_onrgoed_key_prev := v_rec2.ALG_ONRGOED_KEY;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
CLOSE c2;
|
||
dbms_output.put_line('na close c2'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||
|
||
COMMIT;
|
||
EXCEPTION WHEN OTHERS THEN
|
||
dbms_output.put_line('exception'||TO_CHAR(sysdate,'YYMMDD-HHMISS'));
|
||
ROLLBACK;
|
||
ORACLE_err_num := SQLCODE;
|
||
ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||
v_ErrorMsg := 'Fout tijdens doorvoeren van de mutatie (mutatienr:'||p_mut_key||') (ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)';
|
||
INSERT INTO IMP_LOG (IMP_LOG_APPLICATIE,IMP_LOG_RUN, IMP_LOG_DATUM, IMP_LOG_STATUS, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
||
VALUES
|
||
(p_ApplName, p_ApplRun, sysdate, 'E', v_ErrorMsg,'Onbekend');
|
||
COMMIT;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_BAD_PERMAN_IMPORT
|
||
(NAAM, NUMMER, AFD_CODE, AFDELING, REGIO,
|
||
DIVISIE)
|
||
AS
|
||
SELECT pf.prs_perslid_naam_full, p.prs_perslid_nr, oac.afd_code,
|
||
oac.afd_omschrijving, oac.dvb_k_regio_label, oac.dvb_divisie_label
|
||
FROM PRS_PERSLID p,
|
||
PRS_AFDELING a,
|
||
oac.oac_stg_distribute_medewerker oac,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_nr = oac.dvb_personeelsnummer
|
||
AND a.prs_afdeling_upper = 'PERMAN'
|
||
AND UPPER (a.prs_afdeling_omschrijving) = 'PERMAN NIEUW'
|
||
AND ind_toekomstmutatie = 'N';
|
||
|
||
-- CONN#581
|
||
CREATE OR REPLACE VIEW conn_v_bedrijf
|
||
AS
|
||
SELECT prs_bedrijf_naam fclt_f_Bedrijfsnaam,
|
||
prs_leverancier_nr fclt_f_Leveranciersnummer, prs_bedrijf_email,
|
||
prs_bedrijf_order_adres, prs_bedrijf_xsl
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_verwijder IS NULL;
|
||
/
|
||
|
||
|
||
--CONN#599
|
||
CREATE OR REPLACE VIEW conn_v_opdr_doorloop (opdracht,
|
||
fclt_f_maand,
|
||
fclt_f_locatie,
|
||
aanmaak,
|
||
afgemeld,
|
||
verschil
|
||
)
|
||
AS
|
||
SELECT o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdr, to_char(o.mld_opdr_aanmaak, 'yymm'),
|
||
(SELECT alg_locatie_code
|
||
FROM alg_locatie l, mld_melding m
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key) locatie_code,
|
||
o.mld_opdr_aanmaak aanmaak,
|
||
NVL (o.mld_opdr_datumuitgevoerd,
|
||
TO_DATE ('29991231', 'yyyymmdd')
|
||
) afgemeld,
|
||
TRUNC (NVL (o.mld_opdr_datumuitgevoerd,
|
||
TO_DATE ('29991231', 'yyyymmdd')
|
||
)
|
||
)
|
||
- TRUNC (o.mld_opdr_aanmaak) verschil
|
||
FROM mld_opdr o, mld_melding m
|
||
WHERE o.mld_opdr_aanmaak IS NOT NULL
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_ins_discipline_key = 163;
|
||
|
||
|
||
|
||
-- FSN#1251
|
||
CREATE OR REPLACE VIEW conn_v_thema_ruimtefunctie (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT cogc.alg_onrgoed_key, SUBSTR (alg_srtruimte_code, 0, 1)
|
||
FROM cnt_v_cnt_contract_onrgoed_cur cogc, alg_srtruimte asr
|
||
WHERE asr.alg_srtruimte_key = cogc.alg_srtonrgoed_key;
|
||
|
||
|
||
/* Formatted on 2005/12/06 16:25 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_thema_huurder (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT vg.alg_ruimte_key,
|
||
NVL ((SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling abu, prs_v_afdeling_boom ab
|
||
WHERE ab.prs_afdeling_key1 = abu.prs_afdeling_key AND ab.prs_afdeling_key = a.prs_afdeling_key),
|
||
(SELECT fac_usrdata_code
|
||
FROM fac_usrdata ud, prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerk_key = 1015
|
||
AND prs_link_key = b.prs_bedrijf_key
|
||
AND kl.prs_kenmerklink_waarde = ud.fac_usrdata_key)
|
||
)
|
||
FROM alg_v_ruimte_gegevens vg,
|
||
cnt_v_cnt_contract_onrgoed_cur cogc,
|
||
cnt_v_aanwezigcontract cnt,
|
||
prs_afdeling a,
|
||
prs_bedrijf b
|
||
WHERE vg.alg_ruimte_key = cogc.alg_onrgoed_key(+)
|
||
AND cogc.cnt_contract_key = cnt.cnt_contract_key(+)
|
||
AND cnt.cnt_prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND cnt.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+);
|
||
|
||
CREATE OR REPLACE VIEW conn_v_thema_terhuurder (alg_terreinsector_key, waarde)
|
||
AS
|
||
SELECT tg.alg_terreinsector_key,
|
||
NVL ((SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling abu, prs_v_afdeling_boom ab
|
||
WHERE ab.prs_afdeling_key1 = abu.prs_afdeling_key AND ab.prs_afdeling_key = a.prs_afdeling_key),
|
||
(SELECT fac_usrdata_code
|
||
FROM fac_usrdata ud, prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerk_key = 1015
|
||
AND prs_link_key = b.prs_bedrijf_key
|
||
AND kl.prs_kenmerklink_waarde = ud.fac_usrdata_key)
|
||
)
|
||
FROM alg_v_aanwezigterreinsector tg,
|
||
cnt_v_cnt_contract_onrgoed_cur cogc,
|
||
cnt_v_aanwezigcontract cnt,
|
||
prs_afdeling a,
|
||
prs_bedrijf b
|
||
WHERE tg.alg_terreinsector_key = cogc.alg_onrgoed_key(+)
|
||
AND cogc.cnt_contract_key = cnt.cnt_contract_key(+)
|
||
AND cnt.cnt_prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND cnt.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+);
|
||
|
||
CREATE OR REPLACE VIEW conn_v_thema_schvloersoort (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT rg.alg_ruimte_key, vs.fac_usrdata_omschr
|
||
FROM alg_v_ruimte_gegevens rg, alg_v_aanwezigonrgoedkenmerk ksp, sch_programma sp, fac_usrdata vs
|
||
WHERE sp.sch_programma_key(+) = ksp.alg_onrgoedkenmerk_waarde
|
||
AND rg.alg_ruimte_key = ksp.alg_onrgoed_key(+)
|
||
AND ksp.alg_kenmerk_key(+) = '85' -- schoonmaakprogramma
|
||
AND vs.fac_usrdata_key(+) = sp.sch_programma_srtvloer_key
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW conn_v_thema_schfrequentie (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT rg.alg_ruimte_key, fr.fac_usrdata_omschr
|
||
FROM alg_v_ruimte_gegevens rg, alg_v_aanwezigonrgoedkenmerk ksp, sch_programma sp, fac_usrdata fr
|
||
WHERE sp.sch_programma_key(+) = ksp.alg_onrgoedkenmerk_waarde
|
||
AND rg.alg_ruimte_key = ksp.alg_onrgoed_key(+)
|
||
AND ksp.alg_kenmerk_key(+) = '85' -- schoonmaakprogramma
|
||
AND fr.fac_usrdata_key(+) = sp.sch_programma_frequentie_key;
|
||
|
||
CREATE OR REPLACE VIEW conn_v_thema_schopendicht (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT rg.alg_ruimte_key, sd.sch_dicht
|
||
FROM alg_v_ruimte_gegevens rg, conn_v_sch_dicht sd
|
||
WHERE rg.alg_ruimte_key = sd.alg_ruimte_key(+);
|
||
|
||
|
||
-- PRS KENMERK TRIGGERS
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_d
|
||
AFTER DELETE
|
||
ON prs_kenmerklink
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_fout VARCHAR2 (2048);
|
||
BEGIN
|
||
|
||
IF (:old.prs_kenmerk_key = 1200) THEN
|
||
update CONN_EXP_DEBITEUR
|
||
set Blokering = 'JA'
|
||
, Mutatiedatumtijd = sysdate
|
||
where prs_key = :old.prs_link_key;
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS THEN
|
||
v_fout := SQLERRM;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_d2
|
||
AFTER DELETE
|
||
ON prs_kenmerklink
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_fout VARCHAR2 (2048);
|
||
v_aantal NUMBER (1);
|
||
v_perslid_nr prs_perslid.prs_perslid_nr%type;
|
||
BEGIN
|
||
|
||
IF (:old.prs_kenmerk_key = 1080) THEN
|
||
|
||
BEGIN
|
||
|
||
BEGIN
|
||
|
||
select max(prs_perslid_nr)
|
||
into v_perslid_nr
|
||
from prs_perslid
|
||
where prs_perslid_verwijder is null
|
||
and prs_perslid_key = :old.prs_link_key;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_perslid_nr := '';
|
||
END;
|
||
|
||
-- Faxnr
|
||
IF (:old.prs_kenmerk_key = 1080) THEN
|
||
update CONN_EXP_TELEFOON
|
||
set FAXNR = ''
|
||
where PERSONEELSNR = v_perslid_nr;
|
||
END IF;
|
||
|
||
END;
|
||
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_fout := SQLERRM;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_u_i
|
||
AFTER UPDATE OR INSERT
|
||
ON PRS_KENMERKLINK
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_fout VARCHAR2 (2048);
|
||
v_message VARCHAR2(32);
|
||
v_aantal NUMBER (1);
|
||
v_kenmerklink_waarde PRS_KENMERKLINK.prs_kenmerklink_waarde%TYPE;
|
||
v_link_key PRS_PERSLID.prs_perslid_key%TYPE;
|
||
v_perslid_nr PRS_PERSLID.prs_perslid_nr%TYPE;
|
||
BEGIN
|
||
|
||
IF :NEW.prs_kenmerklink_verwijder IS NULL THEN
|
||
v_kenmerklink_waarde := :NEW.prs_kenmerklink_waarde;
|
||
ELSE
|
||
v_kenmerklink_waarde := '';
|
||
END IF;
|
||
|
||
IF (:NEW.prs_kenmerk_key = 1080) -- Faxnr (type = P)
|
||
THEN
|
||
|
||
BEGIN
|
||
|
||
BEGIN
|
||
|
||
v_perslid_nr := '';
|
||
v_link_key := -1;
|
||
|
||
IF :NEW.prs_kenmerklink_niveau = 'P' THEN
|
||
|
||
SELECT prs_perslid_nr
|
||
INTO v_perslid_nr
|
||
FROM PRS_PERSLID
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
AND prs_perslid_key = :NEW.prs_link_key;
|
||
|
||
END IF;
|
||
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_perslid_nr := v_perslid_nr;
|
||
|
||
END;
|
||
|
||
-- Faxnr (type = P)
|
||
IF (:NEW.prs_kenmerk_key = 1080) THEN
|
||
|
||
UPDATE CONN_EXP_TELEFOON
|
||
SET FAXNR = SUBSTR(v_kenmerklink_waarde,1,15)
|
||
WHERE PERSONEELSNR = v_perslid_nr;
|
||
|
||
END IF;
|
||
|
||
END;
|
||
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
|
||
v_fout := SQLERRM;
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_u_i2
|
||
AFTER UPDATE OR INSERT
|
||
ON PRS_KENMERKLINK
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_fout VARCHAR2 (2048);
|
||
v_message VARCHAR2(32);
|
||
v_aantal NUMBER (1);
|
||
v_kenmerklink_waarde PRS_KENMERKLINK.prs_kenmerklink_waarde%TYPE;
|
||
v_perslid_nr PRS_PERSLID.prs_perslid_nr%TYPE;
|
||
v_link_key PRS_PERSLID.prs_perslid_key%TYPE;
|
||
v_Huurdernummer VARCHAR2(30);
|
||
v_Budgetcode VARCHAR2(30);
|
||
v_Factureren_aan VARCHAR2(30);
|
||
v_Debiteur VARCHAR2(60);
|
||
v_Adres VARCHAR2(35);
|
||
v_Postcode VARCHAR2(12);
|
||
v_Plaats VARCHAR2(30);
|
||
v_Land VARCHAR2(30);
|
||
v_Telefoon VARCHAR2(20);
|
||
v_Fax VARCHAR2(20);
|
||
v_Email VARCHAR2(80);
|
||
v_Huurder NUMBER(1);
|
||
v_count NUMBER(1);
|
||
v_bedrijf_key NUMBER(10);
|
||
|
||
|
||
BEGIN
|
||
|
||
-- Init
|
||
IF :NEW.prs_kenmerklink_verwijder IS NULL THEN
|
||
v_kenmerklink_waarde := :NEW.prs_kenmerklink_waarde;
|
||
ELSE
|
||
v_kenmerklink_waarde := '';
|
||
IF (:old.prs_kenmerk_key = 1200) THEN
|
||
update CONN_EXP_DEBITEUR
|
||
set Blokering = 'JA'
|
||
, Mutatiedatumtijd = sysdate
|
||
where prs_key = :old.prs_link_key;
|
||
END IF;
|
||
END IF;
|
||
|
||
v_link_key := :NEW.prs_link_key;
|
||
|
||
IF (:NEW.prs_kenmerk_key = 1200) THEN
|
||
|
||
BEGIN
|
||
SELECT huurdernummer, budgetcode, factureren_aan
|
||
INTO v_Huurdernummer, v_Budgetcode, v_Factureren_aan
|
||
FROM conn_exp_debiteur_tmp
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_Huurdernummer := null;
|
||
v_Budgetcode := null;
|
||
v_Factureren_aan := null;
|
||
END;
|
||
|
||
DELETE FROM conn_exp_debiteur_tmp WHERE prs_bedrijf_key = v_link_key;
|
||
|
||
SELECT SUBSTR(NVL(PRS_BEDRIJF_NAAM,''),1,60)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_POST_ADRES,''),1,35)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_POST_POSTCODE,''),1,12)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_POST_PLAATS,''),1,30)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_POST_LAND,''),1,30)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_TELEFOON,''),1,20)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_FAX,''),1,20)
|
||
, SUBSTR(NVL(PRS_BEDRIJF_EMAIL,''),1,80)
|
||
, NVL(PRS_BEDRIJF_HUURDER,0)
|
||
INTO v_Debiteur
|
||
, v_Adres
|
||
, v_Postcode
|
||
, v_Plaats
|
||
, v_Land
|
||
, v_Telefoon
|
||
, v_Fax
|
||
, v_Email
|
||
, v_Huurder
|
||
FROM PRS_BEDRIJF
|
||
WHERE PRS_BEDRIJF_KEY = v_link_key;
|
||
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM CONN_EXP_DEBITEUR
|
||
WHERE prs_key = v_link_key;
|
||
|
||
IF v_Huurder = 1 THEN
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
insert into CONN_EXP_DEBITEUR
|
||
(prs_key
|
||
,prs_type
|
||
,Debiteurnaam
|
||
,Adres
|
||
,Postcode
|
||
,Plaats
|
||
,Land
|
||
,Telefoon
|
||
,Fax
|
||
,Email
|
||
,Blokering
|
||
,Mutatiedatumtijd
|
||
,Huurdernummer
|
||
,Budgetcode
|
||
,Factureren_aan)
|
||
values
|
||
(v_link_key
|
||
,'B'
|
||
,v_Debiteur
|
||
,v_Adres
|
||
,v_Postcode
|
||
,v_Plaats
|
||
,v_Land
|
||
,v_Telefoon
|
||
,v_Fax
|
||
,v_Email
|
||
,'NEE'
|
||
,sysdate
|
||
,v_Huurdernummer
|
||
,v_Budgetcode
|
||
,v_Factureren_aan);
|
||
|
||
|
||
ELSE
|
||
|
||
update CONN_EXP_DEBITEUR
|
||
set Debiteurnaam = v_Debiteur
|
||
,Adres = v_Adres
|
||
,Postcode = v_Postcode
|
||
,Plaats = v_Plaats
|
||
,Land = v_Land
|
||
,Telefoon = v_Telefoon
|
||
,Fax = v_Fax
|
||
,Email = v_Email
|
||
,Blokering = 'NEE'
|
||
,Huurdernummer = v_Huurdernummer
|
||
,Budgetcode = v_Budgetcode
|
||
,Factureren_aan = v_Factureren_aan
|
||
,Mutatiedatumtijd = sysdate
|
||
where prs_key = v_link_key;
|
||
|
||
END IF;
|
||
ELSE
|
||
-- geen huurder (meer)
|
||
update CONN_EXP_DEBITEUR
|
||
set Blokering = 'JA'
|
||
, Mutatiedatumtijd = sysdate
|
||
where prs_key = :old.prs_link_key;
|
||
END IF;
|
||
ELSE
|
||
BEGIN
|
||
SELECT prs_bedrijf_key
|
||
INTO v_bedrijf_key
|
||
FROM conn_exp_debiteur_tmp
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_bedrijf_key := null;
|
||
END;
|
||
|
||
END IF;
|
||
|
||
IF (:NEW.prs_kenmerk_key = 1010) THEN
|
||
|
||
IF v_bedrijf_key <> -1 THEN
|
||
UPDATE CONN_EXP_DEBITEUR_TMP
|
||
SET huurdernummer = SUBSTR(v_kenmerklink_waarde,1,20)
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
ELSE
|
||
INSERT INTO CONN_EXP_DEBITEUR_TMP
|
||
(prs_bedrijf_key, huurdernummer)
|
||
values
|
||
(v_link_key, SUBSTR(v_kenmerklink_waarde,1,20));
|
||
END IF;
|
||
|
||
UPDATE PRS_BEDRIJF
|
||
SET prs_leverancier_nr = SUBSTR(prs_leverancier_nr||'/',1,50)
|
||
WHERE prs_bedrijf_key = v_link_key
|
||
AND ( (INSTR(prs_leverancier_nr,'/') = 0) OR (prs_leverancier_nr IS NULL) );
|
||
|
||
UPDATE PRS_BEDRIJF
|
||
SET prs_leverancier_nr =
|
||
SUBSTR(
|
||
REPLACE(NVL(prs_leverancier_nr,''),
|
||
SUBSTR(NVL(prs_leverancier_nr,''),INSTR(NVL(prs_leverancier_nr,''),'/')),
|
||
'/'||SUBSTR(v_kenmerklink_waarde,1,20)
|
||
)
|
||
,1,50)
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
|
||
END IF;
|
||
|
||
IF (:NEW.prs_kenmerk_key = 1011) THEN
|
||
|
||
IF v_bedrijf_key <> -1 THEN
|
||
UPDATE CONN_EXP_DEBITEUR_TMP
|
||
SET budgetcode = SUBSTR(v_kenmerklink_waarde,1,20)
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
ELSE
|
||
INSERT INTO CONN_EXP_DEBITEUR_TMP
|
||
(prs_bedrijf_key, budgetcode)
|
||
values
|
||
(v_link_key, SUBSTR(v_kenmerklink_waarde,1,20));
|
||
END IF;
|
||
|
||
UPDATE PRS_BEDRIJF
|
||
SET prs_leverancier_nr = SUBSTR(prs_leverancier_nr||'/',1,50)
|
||
WHERE prs_bedrijf_key = v_link_key
|
||
AND ( (INSTR(prs_leverancier_nr,'/') = 0) OR (prs_leverancier_nr IS NULL) );
|
||
|
||
UPDATE PRS_BEDRIJF
|
||
SET prs_leverancier_nr =
|
||
SUBSTR(
|
||
REPLACE(NVL(prs_leverancier_nr,''),
|
||
SUBSTR(NVL(prs_leverancier_nr,''),1,INSTR(NVL(prs_leverancier_nr,''),'/')),
|
||
SUBSTR(v_kenmerklink_waarde,1,20)||'/'
|
||
)
|
||
,1,50)
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
END IF;
|
||
|
||
-- Factureren aan (type = B)
|
||
IF (:NEW.prs_kenmerk_key = 1014) THEN
|
||
|
||
IF v_bedrijf_key <> -1 THEN
|
||
UPDATE CONN_EXP_DEBITEUR_TMP
|
||
SET factureren_aan = SUBSTR(v_kenmerklink_waarde,1,20)
|
||
WHERE prs_bedrijf_key = v_link_key;
|
||
ELSE
|
||
INSERT INTO CONN_EXP_DEBITEUR_TMP
|
||
(prs_bedrijf_key, factureren_aan)
|
||
values
|
||
(v_link_key, SUBSTR(v_kenmerklink_waarde,1,20));
|
||
END IF;
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
|
||
v_fout := SQLERRM;
|
||
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_perslid_d
|
||
AFTER DELETE
|
||
ON prs_perslid
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_fout VARCHAR2 (2048);
|
||
v_aantal NUMBER (1);
|
||
BEGIN
|
||
|
||
delete
|
||
from CONN_EXP_TELEFOON
|
||
where PERSONEELSNR = :old.prs_perslid_nr;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_fout := SQLERRM;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_perslid_u_i
|
||
AFTER UPDATE OR INSERT
|
||
ON prs_perslid
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_aantal NUMBER (1);
|
||
v_fout VARCHAR2 (2048);
|
||
v_prs_kenmerk_fax_key prs_kenmerk.prs_kenmerk_key%TYPE;
|
||
v_prs_kenmerklink_fax prs_kenmerklink.prs_kenmerklink_waarde%TYPE;
|
||
BEGIN
|
||
IF :NEW.prs_perslid_nr IS NOT NULL
|
||
AND ( NVL (:NEW.prs_perslid_oslogin, CHR (191)) <>
|
||
NVL (:OLD.prs_perslid_oslogin, CHR (191))
|
||
OR NVL (:NEW.prs_perslid_telefoonnr, CHR (191)) <>
|
||
NVL (:OLD.prs_perslid_telefoonnr, CHR (191))
|
||
OR NVL (:NEW.prs_perslid_mobiel, CHR (191)) <>
|
||
NVL (:OLD.prs_perslid_mobiel, CHR (191))
|
||
OR NVL (:NEW.prs_perslid_email, CHR (191)) <>
|
||
NVL (:OLD.prs_perslid_email, CHR (191))
|
||
)
|
||
THEN
|
||
-- er is een relevante wijziging
|
||
-- eerst kijken of er al een record in conn_exp_telefoon bestaat
|
||
SELECT COUNT (*)
|
||
INTO v_aantal
|
||
FROM conn_exp_telefoon
|
||
WHERE personeelsnr = :NEW.prs_perslid_nr;
|
||
|
||
IF v_aantal > 0
|
||
THEN
|
||
-- update conn_exp_telefoon
|
||
UPDATE conn_exp_telefoon
|
||
SET login = :NEW.prs_perslid_oslogin,
|
||
telefoonnr = :NEW.prs_perslid_telefoonnr,
|
||
mobielnr = :NEW.prs_perslid_mobiel,
|
||
email = :NEW.prs_perslid_email
|
||
WHERE personeelsnr = :NEW.prs_perslid_nr;
|
||
ELSE
|
||
-- insert conn_exp_telefoon
|
||
BEGIN
|
||
SELECT prs_kenmerk.prs_kenmerk_key
|
||
INTO v_prs_kenmerk_fax_key
|
||
FROM prs_kenmerk
|
||
WHERE prs_kenmerk.prs_kenmerk_upper = 'FAXNR'
|
||
AND prs_kenmerk.prs_kenmerk_niveau = 'P'
|
||
AND prs_kenmerk.prs_kenmerk_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_prs_kenmerk_fax_key := 0;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT prs_kenmerklink_waarde
|
||
INTO v_prs_kenmerklink_fax
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerk_key = v_prs_kenmerk_fax_key
|
||
AND prs_link_key = :NEW.prs_perslid_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_prs_kenmerklink_fax := NULL;
|
||
END;
|
||
|
||
INSERT INTO conn_exp_telefoon
|
||
(personeelsnr, login,
|
||
telefoonnr, mobielnr,
|
||
faxnr, email
|
||
)
|
||
VALUES (:NEW.prs_perslid_nr, :NEW.prs_perslid_oslogin,
|
||
:NEW.prs_perslid_telefoonnr, :NEW.prs_perslid_mobiel,
|
||
v_prs_kenmerklink_fax, :NEW.prs_perslid_email
|
||
);
|
||
END IF;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_fout := SQLERRM;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER conn_prs_perslid_u_i2
|
||
AFTER UPDATE OR INSERT
|
||
ON prs_perslid
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
v_count NUMBER (10);
|
||
v_fout VARCHAR2 (2048);
|
||
BEGIN
|
||
|
||
IF :NEW.prs_perslid_nr IS NULL THEN
|
||
|
||
v_count := 0;
|
||
|
||
ELSE
|
||
|
||
select count(*)
|
||
into v_count
|
||
FROM CONN_EXP_TELEFOON
|
||
WHERE PERSONEELSNR = :OLD.prs_perslid_nr;
|
||
|
||
END IF;
|
||
|
||
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
IF (:NEW.prs_perslid_verwijder IS NULL) AND NOT (:NEW.prs_perslid_nr IS NULL) THEN
|
||
|
||
insert into CONN_EXP_TELEFOON
|
||
(PERSONEELSNR
|
||
,LOGIN
|
||
,TELEFOONNR)
|
||
values
|
||
(substr(:NEW.prs_perslid_nr,1,16)
|
||
,substr(:NEW.prs_perslid_oslogin,1,30)
|
||
,substr(:NEW.prs_perslid_telefoonnr,1,15));
|
||
|
||
END IF;
|
||
|
||
ELSE
|
||
|
||
IF :NEW.prs_perslid_verwijder IS NULL THEN
|
||
|
||
update CONN_EXP_TELEFOON
|
||
set LOGIN = :NEW.prs_perslid_oslogin
|
||
,TELEFOONNR = :NEW.prs_perslid_telefoonnr
|
||
,PERSONEELSNR = :NEW.prs_perslid_nr
|
||
,MUTATIEDATUMTIJD = sysdate
|
||
WHERE PERSONEELSNR = :OLD.prs_perslid_nr;
|
||
|
||
ELSE
|
||
|
||
delete
|
||
from CONN_EXP_TELEFOON
|
||
WHERE PERSONEELSNR = :NEW.prs_perslid_nr;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_fout := SQLERRM;
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
-- CONN#656
|
||
CREATE OR REPLACE PACKAGE CONN_HALTES AS
|
||
|
||
|
||
FUNCTION get_halte_key
|
||
(p_haltecode IN VARCHAR2
|
||
,p_kenmerk_key IN NUMBER
|
||
) return NUMBER;
|
||
|
||
FUNCTION verwerk_halte
|
||
(p_HALTECODE IN VARCHAR2
|
||
,p_HALTENAAM IN VARCHAR2
|
||
,p_PLAATSNAAM IN VARCHAR2
|
||
,p_PLACECODE IN VARCHAR2
|
||
,p_ZONE IN VARCHAR2
|
||
,p_X_COORDINAAT IN VARCHAR2
|
||
,p_Y_COORDINAAT IN VARCHAR2
|
||
,p_LIJNNUMMER IN VARCHAR2
|
||
) return NUMBER;
|
||
|
||
|
||
END CONN_HALTES;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY CONN_HALTES AS
|
||
|
||
FUNCTION get_halte_key
|
||
(p_haltecode IN VARCHAR2
|
||
,p_kenmerk_key IN NUMBER
|
||
) return NUMBER
|
||
IS
|
||
|
||
v_result NUMBER(10);
|
||
v_count NUMBER(10);
|
||
|
||
BEGIN
|
||
|
||
-- Init
|
||
v_result := 0;
|
||
|
||
select count(*)
|
||
into v_count
|
||
from ins_deel
|
||
where ins_deel_verwijder is null
|
||
and substr(ins_deel_omschrijving,2,8) = p_haltecode;
|
||
|
||
IF (v_count = 1) THEN
|
||
|
||
select ins_deel_key
|
||
into v_result
|
||
from ins_deel
|
||
where ins_deel_verwijder is null
|
||
and substr(ins_deel_omschrijving,2,8) = p_haltecode;
|
||
|
||
ELSE
|
||
|
||
select count(*)
|
||
into v_count
|
||
FROM ins_deel d, ins_kenmerkdeel kd
|
||
WHERE d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = p_kenmerk_key
|
||
AND kd.ins_kenmerkdeel_waarde = p_haltecode
|
||
AND ins_kenmerkdeel_verwijder is null;
|
||
|
||
IF (v_count = 1) THEN
|
||
|
||
select d.ins_deel_key
|
||
into v_result
|
||
FROM ins_deel d, ins_kenmerkdeel kd
|
||
WHERE d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = p_kenmerk_key
|
||
AND kd.ins_kenmerkdeel_waarde = p_haltecode
|
||
AND ins_kenmerkdeel_verwijder is null;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
RETURN v_result;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
RETURN -1;
|
||
|
||
END get_halte_key;
|
||
|
||
|
||
FUNCTION verwerk_halte
|
||
(p_HALTECODE IN VARCHAR2
|
||
,p_HALTENAAM IN VARCHAR2
|
||
,p_PLAATSNAAM IN VARCHAR2
|
||
,p_PLACECODE IN VARCHAR2
|
||
,p_ZONE IN VARCHAR2
|
||
,p_X_COORDINAAT IN VARCHAR2
|
||
,p_Y_COORDINAAT IN VARCHAR2
|
||
,p_LIJNNUMMER IN VARCHAR2
|
||
) return NUMBER
|
||
IS
|
||
|
||
v_DEEL_OMSCHRIJVING VARCHAR2(30);
|
||
v_HALTENAAM VARCHAR2(40);
|
||
v_HALTECODE VARCHAR2(8);
|
||
v_PLAATSNAAM VARCHAR2(30);
|
||
v_PLACECODE VARCHAR2(10);
|
||
v_ZONE VARCHAR2(10);
|
||
v_X_COORDINAAT VARCHAR2(10);
|
||
v_Y_COORDINAAT VARCHAR2(10);
|
||
v_LIJNNUMMER VARCHAR2(200);
|
||
|
||
ORACLE_err_num NUMBER;
|
||
ORACLE_err_mes VARCHAR2(100);
|
||
v_result NUMBER(10);
|
||
v_errormsg VARCHAR2(1000);
|
||
v_import_row VARCHAR2(1000);
|
||
v_count NUMBER(10);
|
||
v_terreinsector_key NUMBER(10);
|
||
v_ins_deel_key NUMBER(10);
|
||
|
||
c_error_result NUMBER(10) := -1;
|
||
|
||
-- Constanten: diversen
|
||
c_srtdeel_key INTEGER := 43401; -- Halte
|
||
c_srtdeel_module VARCHAR2 (3) := 'INS';
|
||
c_locatie_key_onbekend INTEGER := 3123;
|
||
c_ruimte_type VARCHAR2 (1) := 'T';
|
||
c_halte_prefix VARCHAR2 (1) := 'H';
|
||
|
||
-- Constanten: kenmerken key's
|
||
c_halte_code INTEGER := 501;
|
||
c_zone_kenmerk_key INTEGER := 503;
|
||
c_place_kenmerk_key INTEGER := 541;
|
||
c_plaatsnaam_kenmerk_key INTEGER := 502;
|
||
c_haltenaam_kenmerk_key INTEGER := 504;
|
||
c_Lijnnummer1_kenmerk_key INTEGER := 601;
|
||
|
||
BEGIN
|
||
|
||
-- INIT
|
||
v_result := c_error_result;
|
||
v_errormsg := 'INIT';
|
||
v_import_row := p_HALTECODE||'|'||p_HALTENAAM||'|'||p_PLAATSNAAM||'|'||p_PLACECODE||'|'||p_ZONE||'|'||p_X_COORDINAAT||'|'||p_Y_COORDINAAT||'|'||p_LIJNNUMMER;
|
||
v_terreinsector_key := -1;
|
||
|
||
v_HALTENAAM := substr(p_HALTENAAM,1,40);
|
||
v_HALTECODE := substr(p_HALTECODE,1,8);
|
||
v_PLAATSNAAM := substr(p_PLAATSNAAM,1,30);
|
||
v_PLACECODE := substr(p_PLACECODE,1,10);
|
||
v_ZONE := substr(p_ZONE,1,4);
|
||
v_X_COORDINAAT := substr(p_X_COORDINAAT,1,6);
|
||
v_Y_COORDINAAT := substr(p_Y_COORDINAAT,1,6);
|
||
v_LIJNNUMMER := substr(p_LIJNNUMMER,1,200);
|
||
v_DEEL_OMSCHRIJVING := substr(c_halte_prefix||v_HALTECODE||' '||v_HALTENAAM,1,30);
|
||
|
||
select get_halte_key(v_HALTECODE,c_halte_code)
|
||
into v_ins_deel_key
|
||
from dual;
|
||
|
||
IF (v_ins_deel_key <= 0) THEN
|
||
|
||
-- alg_terrein
|
||
v_errormsg := '-- Terrein zoeken';
|
||
select count(*)
|
||
into v_count
|
||
from alg_terreinsector
|
||
where alg_terreinsector_verwijder is null
|
||
and alg_terreinsector_upper = upper(substr(v_PLAATSNAAM,1,10))
|
||
and alg_locatie_key = c_locatie_key_onbekend;
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
v_errormsg := '-- Nieuwe key voor alg_terrein ophalen ';
|
||
|
||
SELECT alg_s_alg_onroerendgoed_keys.NEXTVAL
|
||
INTO v_terreinsector_key
|
||
FROM DUAL;
|
||
|
||
v_errormsg := '-- alg_terrein toevoegen ';
|
||
|
||
INSERT INTO alg_terreinsector
|
||
(alg_locatie_key
|
||
,alg_terreinsector_code
|
||
,alg_terreinsector_naam)
|
||
VALUES
|
||
(c_locatie_key_onbekend
|
||
,SUBSTR(v_PLAATSNAAM,1,10)
|
||
,SUBSTR(v_PLAATSNAAM,1,30));
|
||
|
||
END IF;
|
||
|
||
v_errormsg := '-- Terrein zoeken (2)';
|
||
select alg_terreinsector_key
|
||
into v_terreinsector_key
|
||
from alg_terreinsector
|
||
where alg_terreinsector_verwijder is null
|
||
and alg_terreinsector_upper = upper(substr(v_PLAATSNAAM,1,10))
|
||
and alg_locatie_key = c_locatie_key_onbekend;
|
||
|
||
SELECT ins_s_ins_inst_keys.NEXTVAL
|
||
INTO v_ins_deel_key
|
||
FROM DUAL;
|
||
|
||
v_errormsg := '-- Toevoegen halte ';
|
||
|
||
insert into INS_DEEL
|
||
(ins_deel_key
|
||
,ins_srtdeel_key
|
||
,ins_deel_module
|
||
,ins_alg_ruimte_key
|
||
,ins_alg_ruimte_type
|
||
,ins_deel_omschrijving
|
||
, ins_deel_x
|
||
, ins_deel_y)
|
||
values
|
||
(v_ins_deel_key
|
||
,c_srtdeel_key
|
||
,c_srtdeel_module
|
||
,v_terreinsector_key
|
||
,c_ruimte_type
|
||
,v_DEEL_OMSCHRIJVING
|
||
,Fac.safe_to_number(v_X_COORDINAAT)
|
||
,Fac.safe_to_number(v_Y_COORDINAAT));
|
||
|
||
ELSE
|
||
|
||
v_errormsg := '-- Update bestaande halte ';
|
||
|
||
update ins_deel
|
||
set ins_deel_omschrijving = v_DEEL_OMSCHRIJVING
|
||
where ins_deel_key = v_ins_deel_key;
|
||
|
||
END IF;
|
||
|
||
v_result := v_ins_deel_key;
|
||
|
||
v_errormsg := '-- Verwijder eventueel bestaande flexibele kenmerken die relevant zijn voor de koppeling';
|
||
|
||
DELETE
|
||
FROM ins_kenmerkdeel
|
||
WHERE ins_deel_key = v_ins_deel_key
|
||
AND ins_kenmerk_key in (c_halte_code,c_zone_kenmerk_key,c_place_kenmerk_key,c_plaatsnaam_kenmerk_key,c_haltenaam_kenmerk_key,c_Lijnnummer1_kenmerk_key);
|
||
|
||
|
||
-- c_halte_code
|
||
v_errormsg := '--C-- flexprops Halte code toevoegen met kenmerk_key = <'||to_char(c_Halte_code)||'> en deel_key = <'||to_char(v_ins_deel_key)||'> en v_HALTECODE = <'||substr(v_HALTECODE,1,8)||'>';
|
||
IF v_HALTECODE IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_Halte_code
|
||
, v_ins_deel_key
|
||
, substr(v_HALTECODE,1,8));
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_zone_kenmerk_key
|
||
v_errormsg := '--N-- flexprops Zone toevoegen';
|
||
IF v_ZONE IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_zone_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_ZONE);
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_place_kenmerk_key
|
||
v_errormsg := '--C-- flexprops Placecode toevoegen';
|
||
IF v_PLACECODE IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_place_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_PLACECODE);
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_plaatsnaam_kenmerk_key
|
||
v_errormsg := '--C-- flexprops Plaatsnaam toevoegen';
|
||
IF v_PLAATSNAAM IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_plaatsnaam_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_PLAATSNAAM);
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_haltenaam_kenmerk_key
|
||
v_errormsg := '--N-- flexprops Haltenaam toevoegen';
|
||
IF v_HALTENAAM IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_haltenaam_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_HALTENAAM);
|
||
|
||
END IF;
|
||
|
||
|
||
|
||
-- c_Lijnnummer1_kenmerk_key
|
||
v_errormsg := '--N-- flexprops passerende lijnen toevoegen';
|
||
IF v_LIJNNUMMER IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_Lijnnummer1_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_LIJNNUMMER);
|
||
|
||
END IF;
|
||
|
||
v_errormsg := 'Verwijderen rapportage meldingen ouder dan 30 dagen';
|
||
DELETE FROM imp_log WHERE imp_log_applicatie = 'VERWERK_HALTE' AND imp_log_datum + 30 < SYSDATE;
|
||
|
||
RETURN v_result;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := v_errormsg || ' ' ||
|
||
'(ORACLE error ' || to_char(oracle_err_num) || '/' || oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog ('VERWERK_HALTE',
|
||
'PACKAGE CONN_HALTES',
|
||
'E',
|
||
v_errormsg,
|
||
v_import_row
|
||
);
|
||
|
||
RETURN c_error_result;
|
||
|
||
END verwerk_halte;
|
||
|
||
END CONN_HALTES;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_rap_chalte_import AS
|
||
SELECT imp_log_omschrijving melding, TO_CHAR(imp_log_datum,'DD-MM-YYYY') datum_import, imp_log_hint importregel
|
||
FROM imp_log
|
||
WHERE imp_log_applicatie = 'VERWERK_HALTE'
|
||
ORDER BY imp_log_datum DESC;
|
||
/
|
||
|
||
--//////////////////////////////////////////////////////////////////////////////////CONN#668
|
||
-- Somewhat under construction
|
||
-- gewijzigde export op basis van gen_export agv FIN module.
|
||
-- Schrijft opdrachtgegevens naar file van opdrachten waarvan facturen zijn gefiatteerd
|
||
-- Er worden 2 files gegenereerd, voor Coda en voor Navision, welke regel waarin komt
|
||
-- wordt bepaald aan de hand van de eerste letter van de kostensoort.
|
||
--
|
||
-- TODO:
|
||
-- post-importzaken: AV verklaren van meldingen etc??
|
||
-- Voor facturen/deelfacturen wordt het totaalfactuurbedrag vereist in de exportfile,
|
||
-- om aan te kunnen geven dat er betaald kan worden. Dit factuurtotaal wordt berekend
|
||
-- door de som van alle facturen met hetzelfde factuurnummer en van dezelfde leverancier
|
||
-- te nemen, ongeacht de fiatteringsstatus. Dit is waarschijnlijk het bedrag inclusief BTW (?).
|
||
|
||
-- Tabellen voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE VIEW CONN_V_EXP_BES
|
||
(ORDERNR, FACTUURNR, LEVERANCIERSNR, FACTUURDATUM, BOEKINGSDATUM,
|
||
SPREIDENOVER, KOSTENSOORT, FACREGELOMS, LOCATIENR, HUURDERNR,
|
||
BUDGETCODE, AANTAL, PRIJS, VERDEELPERIODE, BTWTYPE,
|
||
TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
AS
|
||
SELECT TO_CHAR (bo.bes_bestelopdr_key) OrderNr,
|
||
f.fin_factuur_nr FactNr,
|
||
b.prs_leverancier_nr LeverancNr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD') FactDatum,
|
||
'' BoekDatum,
|
||
'' SpreidenOver,
|
||
NVL(ks.prs_kostensoort_oms, kst.prs_kostensoort_oms) KostenSoort,
|
||
fr.fin_factuurregel_omschrijving Omschrijving,
|
||
fr.fin_factuurregel_referentie KostenPlaats,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, 1 ,INSTR(k.prs_kostenplaats_nr, '/', 1, 1)-1)
|
||
FROM dual) BudgetCode,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, INSTR(k.prs_kostenplaats_nr, '/', 1, 1)+1)
|
||
FROM dual) Huurder,
|
||
SUM(boi.bes_bestelopdr_item_aantal) Aantal,
|
||
fr.fin_factuurregel_totaal KostPrijs, --SUM(boi.bes_bestelopdr_item_prijs) KostPrijs,
|
||
NVL (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')) VerdeelPeriode,
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0') BTWtype,
|
||
(f.fin_factuur_totaal + f.fin_factuur_totaal_BTW) TotBedrFactuur,
|
||
f.fin_factuur_debiteur_nr OnsKlantNr,
|
||
'FB' Bedrijf,
|
||
f.fin_factuur_key
|
||
FROM bes_bestelopdr bo,
|
||
prs_bedrijf b,
|
||
bes_bestelling bes,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
prs_kostenplaats k,
|
||
fin_factuur f,
|
||
fin_factuurregel fr,
|
||
prs_kostensoort ks,
|
||
ins_srtdeel isd,
|
||
ins_srtgroep isg,
|
||
ins_tab_discipline itd,
|
||
prs_kostensoort kst
|
||
WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND bes.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND k.prs_kostenplaats_key = bes.prs_kostenplaats_key
|
||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND f.fin_factuur_statuses_key = 6
|
||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||
AND kst.prs_kostensoort_key = itd.prs_kostensoort_key
|
||
AND itd.ins_discipline_key = isg.ins_discipline_key
|
||
AND isg.ins_srtgroep_key = isd.ins_srtgroep_key
|
||
AND isd.ins_srtdeel_key = bi.ins_srtdeel_key
|
||
GROUP BY TO_CHAR (bo.bes_bestelopdr_key),
|
||
f.fin_factuur_nr,
|
||
b.prs_leverancier_nr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD'),
|
||
NVL(ks.prs_kostensoort_oms, kst.prs_kostensoort_oms),
|
||
fr.fin_factuurregel_omschrijving,
|
||
fr.fin_factuurregel_referentie,
|
||
k.prs_kostenplaats_nr,
|
||
fr.fin_factuurregel_totaal,
|
||
NVL (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')),
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0'),
|
||
f.fin_factuur_totaal_btw,
|
||
f.fin_factuur_totaal,
|
||
f.fin_factuur_debiteur_nr,
|
||
f.fin_factuur_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXP_CNT
|
||
(ORDERNR, FACTUURNR, LEVERANCIERSNR, FACTUURDATUM, BOEKINGSDATUM,
|
||
SPREIDENOVER, KOSTENSOORT, FACREGELOMS, LOCATIENR, HUURDERNR,
|
||
BUDGETCODE, AANTAL, PRIJS, VERDEELPERIODE, BTWTYPE,
|
||
TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
AS
|
||
SELECT 'C' || c.cnt_contract_nummer_intern opdrachtnr,
|
||
f.fin_factuur_nr FactNr,
|
||
b.prs_leverancier_nr LeverancNr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD') FactDatum,
|
||
'' BoekDatum,
|
||
'' SpreidenOver,
|
||
NVL(ks.prs_kostensoort_oms, kst.prs_kostensoort_oms) KostenSoort,
|
||
fr.fin_factuurregel_omschrijving Omschrijving,
|
||
fr.fin_factuurregel_referentie KostenPlaats,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, 1 ,INSTR(k.prs_kostenplaats_nr, '/', 1, 1)-1)
|
||
FROM dual) BudgetCode,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, INSTR(k.prs_kostenplaats_nr, '/', 1, 1)+1)
|
||
FROM dual) Huurder,
|
||
1 Aantal,
|
||
fr.fin_factuurregel_totaal KostPrijs, --SUM(boi.bes_bestelopdr_item_prijs) KostPrijs,
|
||
NVL (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')) VerdeelPeriode,
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0') BTWtype,
|
||
(f.fin_factuur_totaal + f.fin_factuur_totaal_BTW) TotBedrFactuur,
|
||
f.fin_factuur_debiteur_nr OnsKlantNr,
|
||
'FB' Bedrijf,
|
||
f.fin_factuur_key
|
||
FROM prs_bedrijf b,
|
||
cnt_contract c,
|
||
prs_kostenplaats k,
|
||
prs_kostensoort ks,
|
||
prs_kostensoort kst,
|
||
fin_factuur f,
|
||
fin_factuurregel fr
|
||
WHERE f.cnt_contract_key = c.cnt_contract_key
|
||
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND c.prs_kostensoort_key = kst.prs_kostensoort_key(+)
|
||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND fr.fin_factuur_key = f.fin_factuur_key
|
||
AND f.fin_factuur_statuses_key = 6;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXP_MLD
|
||
(ORDERNR, FACTUURNR, LEVERANCIERSNR, FACTUURDATUM, BOEKINGSDATUM,
|
||
SPREIDENOVER, KOSTENSOORT, FACREGELOMS, LOCATIENR, HUURDERNR,
|
||
BUDGETCODE, AANTAL, PRIJS, VERDEELPERIODE, BTWTYPE,
|
||
TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY, PRS_KOSTENPLAATS_MODULE, PRS_KOSTENPLAATS_NR)
|
||
AS
|
||
SELECT sdi.ins_srtdiscipline_prefix || o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdrachtnr,
|
||
f.fin_factuur_nr FactNr,
|
||
b.prs_leverancier_nr LeverancNr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD') FactDatum,
|
||
'' BoekDatum, -- mld_kenmerk_key = 131 , wordt niet meer gebruikt
|
||
'' SpreidenOver,
|
||
NVL(ks.prs_kostensoort_oms,
|
||
NVL((SELECT prs_kostensoort_oms
|
||
FROM prs_kostensoort kst
|
||
WHERE kst.prs_kostensoort_key = stdm.prs_kostensoort_key),
|
||
(SELECT kst.prs_kostensoort_oms
|
||
FROM prs_kostensoort kst
|
||
WHERE kst.prs_kostensoort_key = di.prs_kostensoort_key))) KostenSoort,
|
||
fr.fin_factuurregel_omschrijving Omschrijving,
|
||
fr.fin_factuurregel_referentie KostenPlaats,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, 1 ,INSTR(k.prs_kostenplaats_nr, '/', 1, 1)-1)
|
||
FROM dual) BudgetCode,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, INSTR(k.prs_kostenplaats_nr, '/', 1, 1)+1)
|
||
FROM dual) Huurder,
|
||
1 Aantal,
|
||
fr.fin_factuurregel_totaal KostPrijs,
|
||
NVL (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')) VerdeelPeriode,
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0') BTWtype,
|
||
(f.fin_factuur_totaal + f.fin_factuur_totaal_BTW) TotBedrFactuur,
|
||
f.fin_factuur_debiteur_nr OnsKlantNr,
|
||
(SELECT fud.fac_usrdata_omschr
|
||
FROM mld_kenmerkopdr v,
|
||
fac_usrdata fud
|
||
WHERE v.mld_kenmerkopdr_waarde = fud.fac_usrdata_key
|
||
AND v.mld_opdr_key = o.mld_opdr_key
|
||
AND v.mld_kenmerk_key = 83) Bedrijf,
|
||
f.fin_factuur_key,
|
||
prs_kostenplaats_module,
|
||
prs_kostenplaats_nr
|
||
FROM mld_opdr o,
|
||
prs_bedrijf b,
|
||
mld_melding m,
|
||
prs_kostenplaats k,
|
||
fin_factuur f,
|
||
fin_factuurregel fr,
|
||
alg_locatie l,
|
||
mld_stdmelding stdm,
|
||
ins_tab_discipline di,
|
||
ins_srtdiscipline sdi,
|
||
prs_kostensoort ks
|
||
WHERE b.prs_bedrijf_key = o.mld_uitvoerende_keys
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND k.prs_kostenplaats_key = o.prs_kostenplaats_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
|
||
AND di.ins_discipline_key = stdm.mld_ins_discipline_key
|
||
AND sdi.ins_srtdiscipline_key = di.ins_srtdiscipline_key
|
||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND f.fin_factuur_statuses_key = 6
|
||
ORDER BY 1, 2;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXPORT_FINORDERS_CODA (result_key, result, module, fin_factuur_key, result_order)
|
||
AS
|
||
SELECT null,
|
||
ordernr
|
||
|| ';'
|
||
|| factuurnr
|
||
|| ';'
|
||
|| leveranciersnr
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| boekingsdatum
|
||
|| ';'
|
||
|| spreidenover
|
||
|| ';'
|
||
|| kostensoort
|
||
|| ';'
|
||
|| facregeloms
|
||
|| ';'
|
||
|| locatienr
|
||
|| ';'
|
||
|| '' --huurdernr
|
||
|| ';'
|
||
|| budgetcode
|
||
|| ';'
|
||
-- || aantal op verzoek van Martin het aantal uitgezet omdat dit ook niet in de oude export zat
|
||
-- || ';'
|
||
|| prijs
|
||
|| ';'
|
||
|| verdeelperiode
|
||
|| ';'
|
||
|| btwtype
|
||
|| ';'
|
||
|| totaal
|
||
|| ';'
|
||
|| klantnr
|
||
|| ';'
|
||
|| eigenaar regel,
|
||
module, fin_factuur_key, factuurnr
|
||
FROM conn_exp_finorders_coda;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXPORT_FINORDERS_NAV_FB (result_key, result, module, fin_factuur_key, result_order)
|
||
AS
|
||
SELECT null,
|
||
ordernr
|
||
|| ';'
|
||
|| factuurnr
|
||
|| ';'
|
||
|| leveranciersnr
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| boekingsdatum
|
||
|| ';'
|
||
|| spreidenover
|
||
|| ';'
|
||
|| kostensoort
|
||
|| ';'
|
||
|| facregeloms
|
||
|| ';'
|
||
|| locatienr
|
||
|| ';'
|
||
|| '' --huurdernr
|
||
|| ';'
|
||
|| budgetcode
|
||
|| ';'
|
||
-- || aantal op verzoek van Martin het aantal uitgezet omdat dit ook niet in de oude export zat
|
||
-- || ';'
|
||
|| prijs
|
||
|| ';'
|
||
|| verdeelperiode
|
||
|| ';'
|
||
|| btwtype
|
||
|| ';'
|
||
|| totaal
|
||
|| ';'
|
||
|| klantnr
|
||
|| ';'
|
||
|| eigenaar regel,
|
||
module, fin_factuur_key, factuurnr
|
||
FROM conn_exp_finorders_nav_fb;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXPORT_FINORDERS_NAV_VG (result_key, result, module, fin_factuur_key, result_order)
|
||
AS
|
||
SELECT null,
|
||
ordernr
|
||
|| ';'
|
||
|| factuurnr
|
||
|| ';'
|
||
|| leveranciersnr
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| boekingsdatum
|
||
|| ';'
|
||
|| spreidenover
|
||
|| ';'
|
||
|| kostensoort
|
||
|| ';'
|
||
|| facregeloms
|
||
|| ';'
|
||
|| locatienr
|
||
|| ';'
|
||
|| '' -- huurdernr
|
||
|| ';'
|
||
|| budgetcode
|
||
|| ';'
|
||
-- || aantal op verzoek van Martin het aantal uitgezet omdat dit ook niet in de oude export zat
|
||
-- || ';'
|
||
|| prijs
|
||
|| ';'
|
||
|| verdeelperiode
|
||
|| ';'
|
||
|| btwtype
|
||
|| ';'
|
||
|| totaal
|
||
|| ';'
|
||
|| klantnr
|
||
|| ';'
|
||
|| eigenaar regel,
|
||
module, fin_factuur_key, factuurnr
|
||
FROM conn_exp_finorders_nav_vg;
|
||
|
||
-- Procedure voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE PROCEDURE conn_select_finorders_coda (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
DELETE conn_exp_finorders_coda;
|
||
|
||
INSERT INTO conn_exp_finorders_coda
|
||
(MODULE, DOEL, ORDERNR, FACTUURNR, LEVERANCIERSNR,
|
||
FACTUURDATUM, BOEKINGSDATUM, SPREIDENOVER, KOSTENSOORT, FACREGELOMS,
|
||
LOCATIENR, HUURDERNR, BUDGETCODE, AANTAL, PRIJS,
|
||
VERDEELPERIODE, BTWTYPE, TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
(SELECT 'MLD' module, SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_mld
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'C'
|
||
UNION ALL
|
||
SELECT 'CNT', SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_cnt
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'C'
|
||
UNION ALL
|
||
SELECT 'BES', SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_bes
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'C');
|
||
END;
|
||
/
|
||
|
||
-- Procedure voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE PROCEDURE conn_export_finorders_coda (
|
||
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
|
||
v_errormsg := 'Update fin_factuur';
|
||
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_verwerkt = SYSDATE,
|
||
fin_factuur_statuses_key = 7
|
||
WHERE fin_factuur_key IN
|
||
( SELECT fin_factuur_key
|
||
FROM conn_v_export_finorders_coda
|
||
);
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
-- Procedure voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE PROCEDURE conn_select_finorders_nav_fb (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
DELETE conn_exp_finorders_nav_fb;
|
||
|
||
INSERT INTO conn_exp_finorders_nav_fb
|
||
(MODULE, DOEL, ORDERNR, FACTUURNR, LEVERANCIERSNR,
|
||
FACTUURDATUM, BOEKINGSDATUM, SPREIDENOVER, KOSTENSOORT, FACREGELOMS,
|
||
LOCATIENR, HUURDERNR, BUDGETCODE, AANTAL, PRIJS,
|
||
VERDEELPERIODE, BTWTYPE, TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
(SELECT 'MLD' module, SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), DECODE (prs_kostenplaats_module, 'PRJ', prs_kostenplaats_nr, locatienr),
|
||
huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_mld
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'N' and nvl(eigenaar,' ') <> 'VG'
|
||
UNION ALL
|
||
SELECT 'CNT', SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_cnt
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'N' and nvl(eigenaar,' ') <> 'VG'
|
||
UNION ALL
|
||
SELECT 'BES', SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_bes
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'N' and nvl(eigenaar,' ') <> 'VG');
|
||
END;
|
||
/
|
||
|
||
-- Procedure voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE PROCEDURE conn_export_finorders_nav_fb (
|
||
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
|
||
v_errormsg := 'Update fin_factuur';
|
||
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_verwerkt = SYSDATE,
|
||
fin_factuur_statuses_key = 7
|
||
WHERE fin_factuur_key IN
|
||
( SELECT fin_factuur_key
|
||
FROM conn_v_export_finorders_nav_fb
|
||
);
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
-- Procedure voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE PROCEDURE conn_select_finorders_nav_vg (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
DELETE conn_exp_finorders_nav_vg;
|
||
|
||
INSERT INTO conn_exp_finorders_nav_vg
|
||
(MODULE, DOEL, ORDERNR, FACTUURNR, LEVERANCIERSNR,
|
||
FACTUURDATUM, BOEKINGSDATUM, SPREIDENOVER, KOSTENSOORT, FACREGELOMS,
|
||
LOCATIENR, HUURDERNR, BUDGETCODE, AANTAL, PRIJS,
|
||
VERDEELPERIODE, BTWTYPE, TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
(SELECT 'MLD' module, SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), DECODE (prs_kostenplaats_module, 'PRJ', prs_kostenplaats_nr, locatienr),
|
||
huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_mld
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'N' AND eigenaar = 'VG'
|
||
UNION ALL
|
||
SELECT 'CNT', SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_cnt
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'N' AND eigenaar = 'VG'
|
||
UNION ALL
|
||
SELECT 'BES', SUBSTR (kostensoort, 1, 1) doel, ordernr,
|
||
factuurnr, leveranciersnr, factuurdatum,
|
||
boekingsdatum, spreidenover, SUBSTR (kostensoort, 2) kostensoort,
|
||
REPLACE(facregeloms,';',':'), locatienr, huurdernr, budgetcode, aantal, prijs,
|
||
verdeelperiode, btwtype, totaal, klantnr, eigenaar, fin_factuur_key
|
||
FROM conn_v_exp_bes
|
||
WHERE SUBSTR (kostensoort, 1, 1) = 'N' AND eigenaar = 'VG');
|
||
END;
|
||
/
|
||
|
||
-- Procedure voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE PROCEDURE conn_export_finorders_nav_vg (
|
||
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
|
||
v_errormsg := 'Update fin_factuur';
|
||
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_verwerkt = SYSDATE,
|
||
fin_factuur_statuses_key = 7
|
||
WHERE fin_factuur_key IN
|
||
( SELECT fin_factuur_key
|
||
FROM conn_v_export_finorders_nav_vg
|
||
);
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
-- Procedure voor de import van facturen (van leverancier of basware)
|
||
CREATE OR REPLACE PROCEDURE conn_import_factuur (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||
v_field VARCHAR2 (100);
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
-- De velden op de eerste regel
|
||
v_totbedrfact VARCHAR2 (100);
|
||
v_totbedrfactvalue VARCHAR2 (100);
|
||
-- De importvelden
|
||
v_empty VARCHAR2 (100);
|
||
v_onsklantnr VARCHAR2 (100);
|
||
v_ordernr VARCHAR2 (100);
|
||
v_leveranciernr VARCHAR2 (100);
|
||
v_factuurnr VARCHAR2 (100);
|
||
v_factuurdatum VARCHAR2 (100);
|
||
v_aantal VARCHAR2 (100);
|
||
v_kostprijs VARCHAR2 (100);
|
||
v_btw VARCHAR2 (100);
|
||
v_btw_bedrag VARCHAR2 (100);
|
||
v_docid VARCHAR2 (100);
|
||
v_locatie VARCHAR2 (100);
|
||
v_afleverdatum VARCHAR2 (100);
|
||
v_omschrijving VARCHAR2 (100);
|
||
v_check_dec_sign NUMBER(5,2);
|
||
|
||
CURSOR cfactuur
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_imp_file_applicatie = p_applname
|
||
ORDER BY FAC_IMP_FILE_INDEX;
|
||
|
||
v_rec cfactuur%rowtype;
|
||
|
||
BEGIN
|
||
-- Init
|
||
v_fielddelimitor := ';';
|
||
header_is_valid := 0;
|
||
|
||
DELETE FROM conn_imp_factuur;
|
||
|
||
DELETE imp_log
|
||
WHERE imp_log_applicatie = 'FACTUUR';
|
||
|
||
-- check the client decimal settings
|
||
-- we do not convert the , to a . if the client decimal separator is a ,
|
||
SELECT FAC.SAFE_TO_NUMBER('2,5')
|
||
INTO v_check_dec_sign
|
||
FROM DUAL;
|
||
|
||
OPEN cfactuur;
|
||
IF cfactuur%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH cfactuur INTO v_rec;
|
||
EXIT WHEN cfactuur%NOTFOUND;
|
||
|
||
v_newline := v_rec.fac_imp_file_line;
|
||
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_leveranciernr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurnr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurdatum);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_empty);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_ordernr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_locatie);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_afleverdatum);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_omschrijving);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_aantal);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostprijs);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw_bedrag);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_docid);
|
||
|
||
IF v_check_dec_sign IS NULL THEN
|
||
v_kostprijs := REPLACE (SUBSTR (v_kostprijs, 1, 11), ',', '.');
|
||
v_btw_bedrag := REPLACE (SUBSTR (v_btw_bedrag, 1, 11), ',', '.');
|
||
v_aantal := REPLACE (SUBSTR (v_aantal, 1, 11), ',', '.');
|
||
ELSE
|
||
v_kostprijs := SUBSTR (v_kostprijs, 1, 11);
|
||
v_btw_bedrag := SUBSTR (v_btw_bedrag, 1, 11);
|
||
v_aantal := SUBSTR (v_aantal, 1, 11);
|
||
END IF;
|
||
INSERT INTO conn_imp_factuur
|
||
(debiteurnr,
|
||
ordernr,
|
||
leveranciernr,
|
||
factuurnr,
|
||
factuurdatum,
|
||
aantal,
|
||
kostprijs,
|
||
btw,
|
||
btw_bedrag,
|
||
locatie,
|
||
afleverdatum,
|
||
omschrijving,
|
||
docid
|
||
)
|
||
VALUES (SUBSTR (v_onsklantnr, 1, 30),
|
||
SUBSTR (v_ordernr, 1, 13),
|
||
UPPER(SUBSTR (v_leveranciernr, 1, 10)),
|
||
SUBSTR (v_factuurnr, 1, 10),
|
||
SUBSTR (v_factuurdatum, 1, 8),
|
||
SUBSTR (v_aantal, 1, 10),
|
||
v_kostprijs,
|
||
SUBSTR (v_btw, 1, 2),
|
||
v_btw_bedrag,
|
||
SUBSTR (v_locatie, 1, 4),
|
||
SUBSTR (v_afleverdatum, 1, 8),
|
||
SUBSTR (v_omschrijving, 1, 60),
|
||
SUBSTR (v_docid, 1, 100)
|
||
);
|
||
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 2006/07/06 16:46 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE PROCEDURE conn_update_factuur (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
CURSOR cfactuur
|
||
IS
|
||
SELECT RTRIM (LTRIM (ordernr)) ordernr,
|
||
leveranciernr,
|
||
factuurnr,
|
||
factuurdatum,
|
||
SUM (kostprijs) totaal,
|
||
SUM (btw_bedrag) totaal_btw,
|
||
btw,
|
||
SUBSTR (factuurdatum, 5, 4) fjaar,
|
||
SUBSTR (factuurdatum, 3, 2) fmaand,
|
||
SUBSTR (factuurdatum, 1, 2) fdag,
|
||
debiteurnr, -- wordt nog niets mee gedaan
|
||
SUM (aantal) aantal,
|
||
locatie,
|
||
SUBSTR (afleverdatum, 5, 4) ajaar, -- afleverdatum nodig om opdrachtnummer bij bestelopdrachten te achterhalen indien ordernr niet is meegegeven
|
||
SUBSTR (afleverdatum, 3, 2) amaand,
|
||
SUBSTR (afleverdatum, 1, 2) adag,
|
||
omschrijving,
|
||
SUM (btw_bedrag) btw_bedrag
|
||
FROM conn_imp_factuur
|
||
GROUP BY ordernr,
|
||
leveranciernr,
|
||
factuurnr,
|
||
factuurdatum,
|
||
btw,
|
||
factuurdatum,
|
||
debiteurnr,
|
||
locatie,
|
||
omschrijving,
|
||
afleverdatum
|
||
ORDER BY ordernr,
|
||
btw DESC;
|
||
|
||
c_i NUMBER;
|
||
c_teller NUMBER;
|
||
c_index NUMBER;
|
||
c_factuurregel NUMBER;
|
||
c_fac_type VARCHAR2 (1);
|
||
c_prefix VARCHAR2 (3);
|
||
c_ordernr_index NUMBER;
|
||
c_ordernr_s1 VARCHAR2 (20);
|
||
c_ordernr_s2 VARCHAR2 (20);
|
||
c_old_ordernr VARCHAR2 (20);
|
||
c_write_ordernr VARCHAR2 (20);
|
||
c_besteloprd_ordernr NUMBER (10);
|
||
c_totaal NUMBER;
|
||
c_find BOOLEAN;
|
||
c_find_ordernr BOOLEAN;
|
||
c_mld_opdr_key NUMBER (10);
|
||
c_cnt_contract_key NUMBER (10);
|
||
c_bes_bestelopdr_key NUMBER (10);
|
||
c_prs_bedrijf_naam VARCHAR2(100);
|
||
c_opmerking VARCHAR2(150);
|
||
v_errormsg VARCHAR (200);
|
||
oracle_err_mes VARCHAR2 (150);
|
||
BEGIN
|
||
-- Maak de log tabel leeg
|
||
DELETE imp_log
|
||
WHERE imp_log_run <> p_applrun
|
||
AND imp_log_applicatie = 'FACTUUR';
|
||
|
||
c_old_ordernr := '';
|
||
c_teller := 0;
|
||
|
||
-- Facturen
|
||
FOR rc IN cfactuur
|
||
LOOP
|
||
IF rc.ordernr = c_old_ordernr
|
||
THEN
|
||
-- voeg alleen nieuwe factuurregel toe die een andere BTW waarde heeft
|
||
-- waarde van c_index is nog steeds actueel
|
||
c_factuurregel := c_factuurregel + 1;
|
||
|
||
BEGIN
|
||
INSERT INTO fin_factuurregel
|
||
(fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie
|
||
)
|
||
VALUES (c_index,
|
||
c_factuurregel,
|
||
rc.totaal,
|
||
rc.totaal_btw,
|
||
rc.omschrijving,
|
||
rc.locatie
|
||
);
|
||
|
||
COMMIT;
|
||
fac.imp_writelog (p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Factuurregel '
|
||
|| c_factuurregel
|
||
|| ' toegevoegd aan factuur '
|
||
|| c_index,
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog
|
||
(p_applname,
|
||
p_applrun,
|
||
'E',
|
||
'Factuur(regel) kan niet toegevoegd worden '
|
||
|| v_errormsg,
|
||
rc.ordernr || '/' || rc.factuurnr
|
||
);
|
||
END;
|
||
|
||
c_teller := c_teller + 1;
|
||
ELSE
|
||
c_old_ordernr := rc.ordernr;
|
||
c_factuurregel := 1;
|
||
c_ordernr_index := INSTR (rc.ordernr, '/');
|
||
c_totaal := 0;
|
||
|
||
IF c_ordernr_index = 0
|
||
THEN
|
||
c_ordernr_s1 := rc.ordernr;
|
||
c_ordernr_s2 := '';
|
||
ELSE
|
||
c_ordernr_s1 := SUBSTR (rc.ordernr, 1, c_ordernr_index - 1);
|
||
c_ordernr_s2 := SUBSTR (rc.ordernr, c_ordernr_index + 1);
|
||
END IF;
|
||
|
||
c_find := FALSE;
|
||
c_find_ordernr := FALSE;
|
||
c_fac_type := '';
|
||
c_prefix := '';
|
||
|
||
IF (LENGTH (rc.ordernr) > 0)
|
||
THEN
|
||
c_prefix := SUBSTR (rc.ordernr, 1, 1);
|
||
|
||
IF ( c_ordernr_index != 0
|
||
OR ( ( ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 65
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 90
|
||
)
|
||
OR ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 97
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 122
|
||
)
|
||
)
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 67
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 99
|
||
)
|
||
)
|
||
THEN
|
||
c_fac_type := 'O'; -- Opdracht (Melding)
|
||
ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 48
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57
|
||
)
|
||
THEN
|
||
c_fac_type := 'B'; -- Bestelling
|
||
ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) = 67
|
||
OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99
|
||
)
|
||
THEN
|
||
c_fac_type := 'C'; -- Contract
|
||
ELSE
|
||
fac.imp_writelog (p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Kan type van factuur niet bepalen ',
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
ELSE
|
||
BEGIN
|
||
-- Probeer opdrachtnummer te achterhalen bij bestelopdrachten
|
||
-- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal
|
||
SELECT bo.bes_bestelopdr_key
|
||
INTO c_besteloprd_ordernr
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_bestelling bb,
|
||
mld_adres ma,
|
||
alg_locatie l,
|
||
prs_bedrijf b
|
||
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_bestelling_key = bb.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_item_aantal = rc.aantal
|
||
AND bb.bes_bestelling_leverdatum = TO_DATE (rc.ajaar
|
||
|| '-'
|
||
|| rc.amaand
|
||
|| '-'
|
||
|| rc.adag
|
||
|| ' 00:00',
|
||
'YYYY-MM-DD HH24:MI')
|
||
AND bo.mld_adres_key_lev = ma.mld_adres_key
|
||
AND ma.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_code = rc.locatie
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_leverancier_nr = rc.leveranciernr;
|
||
c_find_ordernr := TRUE;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog
|
||
(p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Kan het bestelopdrachtnummer (OrderNr) niet vinden '
|
||
|| v_errormsg,
|
||
'?/' || rc.factuurnr || '/' || rc.aantal || '/' ||
|
||
rc.ajaar || '-' || rc.amaand || '-' || rc.adag || '/' ||
|
||
rc.locatie || '/' || rc.leveranciernr
|
||
);
|
||
c_find_ordernr := FALSE;
|
||
END;
|
||
IF c_find_ordernr
|
||
THEN
|
||
c_ordernr_s1 := '' || c_besteloprd_ordernr;
|
||
c_fac_type := 'B';
|
||
END IF;
|
||
END IF;
|
||
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
IF ( c_ordernr_index != 0
|
||
AND ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 48
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57
|
||
)
|
||
)
|
||
-- Er is geen prefix maar het is wel een opdracht
|
||
-- Afgedwongen door /
|
||
THEN
|
||
-- c_ordernr_s2 bevat al het gedeelte na de /
|
||
-- c_ordernr_s1 bevat geen prefix
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := 1;
|
||
|
||
LOOP
|
||
IF ( ASCII (SUBSTR (c_ordernr_s1, c_i, 1)) >= 48
|
||
AND ASCII (SUBSTR (c_ordernr_s1, c_i, 1)) <= 57
|
||
)
|
||
THEN
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := c_i + 1;
|
||
END IF;
|
||
|
||
EXIT WHEN (c_find OR c_i > LENGTH (c_ordernr_s1));
|
||
END LOOP;
|
||
|
||
IF c_find
|
||
THEN
|
||
c_ordernr_s1 := SUBSTR (c_ordernr_s1, c_i);
|
||
ELSE
|
||
fac.imp_writelog (p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Kan OrderNr niet bepalen ',
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
END IF;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- haal prefix 'C' of 'c' eraf
|
||
c_ordernr_s1 := SUBSTR (c_ordernr_s1, 2);
|
||
c_find := TRUE;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
-- geen prefix aanwezig, c_ordernr_s1 is goed
|
||
c_find := TRUE;
|
||
END IF;
|
||
|
||
-- c_ordernr_s1 bevat ordernummer
|
||
-- c_ordernr_s2 bevat volgnummer van de opdracht bij meldingen
|
||
-- Bij bestellingen en contracten is deze waarde leeg
|
||
|
||
-- Find mld_opdr_key met mld_melding_key
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
c_cnt_contract_key := NULL;
|
||
c_bes_bestelopdr_key := NULL;
|
||
|
||
BEGIN
|
||
SELECT o.mld_opdr_key
|
||
INTO c_mld_opdr_key
|
||
FROM mld_opdr o
|
||
WHERE o.mld_melding_key = c_ordernr_s1
|
||
AND mld_opdr_bedrijfopdr_volgnr = c_ordernr_s2;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog
|
||
(p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Kan de melding referentie niet vinden '
|
||
|| v_errormsg,
|
||
rc.ordernr || '/' || rc.factuurnr
|
||
);
|
||
c_find := FALSE;
|
||
END;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
c_cnt_contract_key := c_ordernr_s1;
|
||
c_bes_bestelopdr_key := NULL;
|
||
c_mld_opdr_key := NULL;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
c_cnt_contract_key := NULL;
|
||
c_bes_bestelopdr_key := c_ordernr_s1;
|
||
c_mld_opdr_key := NULL;
|
||
END IF;
|
||
|
||
-- CONN#12074 ook facturen die niet gelinkt kunnen worden moeten ingelezen worden.
|
||
-- IF ( (c_fac_type = 'B' OR c_fac_type = 'C' OR c_fac_type = 'O')
|
||
-- AND c_find
|
||
-- )
|
||
-- THEN
|
||
c_opmerking := '';
|
||
IF NOT c_find THEN
|
||
BEGIN
|
||
SELECT prs_bedrijf_naam
|
||
INTO c_prs_bedrijf_naam
|
||
FROM prs_bedrijf
|
||
WHERE prs_leverancier_nr = rc.leveranciernr;
|
||
c_opmerking := 'Leverancier: ' || c_prs_bedrijf_naam || ' Ontvangen ordernummer: ' || rc.ordernr;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
c_opmerking := 'Leverancier: onbekend' || ' Ontvangen ordernummer: ' || rc.ordernr;
|
||
END;
|
||
END IF;
|
||
|
||
BEGIN
|
||
SELECT fin_s_fin_factuur_key.NEXTVAL
|
||
INTO c_index
|
||
FROM DUAL;
|
||
|
||
INSERT INTO fin_factuur
|
||
(fin_factuur_key,
|
||
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_opmerking,
|
||
fin_factuur_statuses_key,
|
||
fin_factuur_nr,
|
||
fin_factuur_boekmaand,
|
||
fin_factuur_debiteur_nr,
|
||
prs_kostensoort_key
|
||
)
|
||
VALUES (c_index,
|
||
rc.totaal,
|
||
rc.totaal_btw,
|
||
c_mld_opdr_key,
|
||
c_cnt_contract_key,
|
||
c_bes_bestelopdr_key,
|
||
1042, -- Martin Hanemaaijer
|
||
TO_DATE (rc.fjaar
|
||
|| '-'
|
||
|| rc.fmaand
|
||
|| '-'
|
||
|| rc.fdag
|
||
|| ' 00:00',
|
||
'YYYY-MM-DD HH24:MI'),
|
||
'Ge<EFBFBD>mporteerde factuur ' || c_opmerking,
|
||
2,
|
||
rc.factuurnr,
|
||
rc.fjaar || '-' || rc.fmaand,
|
||
rc.debiteurnr,
|
||
NULL
|
||
);
|
||
|
||
COMMIT;
|
||
|
||
|
||
INSERT INTO fin_factuurregel
|
||
(fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie
|
||
)
|
||
VALUES (c_index,
|
||
c_factuurregel, -- Zal hier altijd 1 zijn
|
||
rc.totaal,
|
||
rc.totaal_btw,
|
||
rc.omschrijving,
|
||
rc.locatie
|
||
);
|
||
COMMIT;
|
||
IF c_find_ordernr
|
||
THEN
|
||
c_write_ordernr := '' || c_besteloprd_ordernr;
|
||
ELSE
|
||
c_write_ordernr := rc.ordernr;
|
||
END IF;
|
||
fac.imp_writelog (p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Factuur '
|
||
|| c_index
|
||
|| ' toegevoegd met factuurregel '
|
||
|| c_factuurregel,
|
||
c_write_ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog
|
||
(p_applname,
|
||
p_applrun,
|
||
'E',
|
||
'Factuur(regel) kan niet toegevoegd worden '
|
||
|| v_errormsg,
|
||
rc.ordernr || '/' || rc.factuurnr
|
||
);
|
||
END;
|
||
-- END IF;
|
||
|
||
c_teller := c_teller + 1;
|
||
END IF;
|
||
END LOOP;
|
||
|
||
-- Facturen
|
||
FOR rc IN cfactuur
|
||
LOOP
|
||
c_fac_type := '';
|
||
c_prefix := '';
|
||
c_find_ordernr := FALSE;
|
||
|
||
IF (LENGTH (rc.ordernr) > 0)
|
||
THEN
|
||
c_prefix := SUBSTR (rc.ordernr, 1, 1);
|
||
|
||
IF ( c_ordernr_index != 0
|
||
OR ( ( ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 65
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 90
|
||
)
|
||
OR ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 97
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 122
|
||
)
|
||
)
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 67
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 99
|
||
)
|
||
)
|
||
THEN
|
||
c_fac_type := 'O'; -- Opdracht (Melding)
|
||
ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 48
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57
|
||
)
|
||
THEN
|
||
c_fac_type := 'B'; -- Bestelling
|
||
c_besteloprd_ordernr := TO_NUMBER (rc.ordernr, '9999999999');
|
||
ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) = 67
|
||
OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99
|
||
)
|
||
THEN
|
||
c_fac_type := 'C'; -- Contract
|
||
ELSE
|
||
fac.imp_writelog (p_applname,
|
||
p_applrun,
|
||
'E',
|
||
'Kan type van factuur niet bepalen ',
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
ELSE
|
||
BEGIN
|
||
-- Probeer opdrachtnummer te achterhalen bij bestelopdrachten
|
||
-- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal
|
||
SELECT bo.bes_bestelopdr_key
|
||
INTO c_besteloprd_ordernr
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_bestelling bb,
|
||
mld_adres ma,
|
||
alg_locatie l,
|
||
prs_bedrijf b
|
||
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_bestelling_key = bb.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_item_aantal = rc.aantal
|
||
AND bb.bes_bestelling_leverdatum = TO_DATE (rc.ajaar
|
||
|| '-'
|
||
|| rc.amaand
|
||
|| '-'
|
||
|| rc.adag
|
||
|| ' 00:00',
|
||
'YYYY-MM-DD HH24:MI')
|
||
AND bo.mld_adres_key_lev = ma.mld_adres_key
|
||
AND ma.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_code = rc.locatie
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_leverancier_nr = rc.leveranciernr;
|
||
c_find_ordernr := TRUE;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog
|
||
(p_applname,
|
||
p_applrun,
|
||
'E',
|
||
'Kan het bestelopdrachtnummer (OrderNr) niet vinden '
|
||
|| v_errormsg,
|
||
'?/' || rc.factuurnr || '/' || rc.aantal || '/' ||
|
||
rc.ajaar || '-' || rc.amaand || '-' || rc.adag || '/' ||
|
||
rc.locatie || '/' || rc.leveranciernr
|
||
);
|
||
c_find_ordernr := FALSE;
|
||
END;
|
||
IF c_find_ordernr
|
||
THEN
|
||
c_fac_type := 'B';
|
||
END IF;
|
||
END IF;
|
||
|
||
IF c_fac_type = 'B'
|
||
THEN
|
||
SELECT SUM ( boi.bes_bestelopdr_item_prijs
|
||
* boi.bes_bestelopdr_item_aantal
|
||
)
|
||
INTO c_totaal
|
||
FROM bes_bestelopdr b, bes_bestelopdr_item boi
|
||
WHERE boi.bes_bestelopdr_key = b.bes_bestelopdr_key
|
||
AND b.bes_bestelopdr_key = c_besteloprd_ordernr;
|
||
|
||
SELECT MAX (fin_factuur_key)
|
||
INTO c_index
|
||
FROM fin_factuur
|
||
WHERE bes_bestelopdr_key = c_besteloprd_ordernr;
|
||
|
||
IF c_totaal = rc.totaal
|
||
THEN
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_datumfiat_ok = SYSDATE,
|
||
prs_perslid_key_fiat = 1042,
|
||
fin_factuur_statuses_key = 6
|
||
WHERE fin_factuur_key = c_index
|
||
AND ( mld_opdr_key IS NOT NULL
|
||
OR cnt_contract_key IS NOT NULL
|
||
OR bes_bestelopdr_key IS NOT NULL
|
||
);
|
||
|
||
fac.imp_writelog (p_applname,
|
||
p_applrun,
|
||
'I',
|
||
'Factuur '
|
||
|| c_index
|
||
|| ' status op afgemeld gezet ',
|
||
c_besteloprd_ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
END;
|
||
/
|
||
|
||
-- CONN#756 view tbv b-ware ( view wordt niet door facilitor gebruikt)
|
||
CREATE OR REPLACE VIEW CXX_CRED_BWIPEXP
|
||
("CMPCODE", "CODE", "NAME", "ADD1", "ADD2", "TERMS", "ACNUM", "ACREF",
|
||
"CFVALUE", "STARTYEAR", "STARTPERIOD", "ENDYEAR", "ENDPERIOD")
|
||
AS
|
||
SELECT 'FB-01'
|
||
, PRS_LEVERANCIER_NR
|
||
, PRS_BEDRIJF_NAAM
|
||
, PRS_BEDRIJF_POST_ADRES
|
||
, PRS_BEDRIJF_POST_POSTCODE || '/' || PRS_BEDRIJF_POST_PLAATS
|
||
, '-' --betalingstermijn
|
||
, DECODE (UPPER(SUBSTR(PRS_LEVERANCIER_NR,1,1)),
|
||
'C', SUBSTR(PRS_LEVERANCIER_NR,2) ,
|
||
(SELECT PRS_KENMERKLINK_WAARDE
|
||
FROM PRS_KENMERKLINK WHERE PRS_KENMERK_KEY = 1180
|
||
AND PRS_LINK_KEY = PRS_BEDRIJF_KEY)) --bankrekeningnummer
|
||
, '-'
|
||
, '1431100'
|
||
, '0'
|
||
, '0'
|
||
, '0'
|
||
, '0'
|
||
FROM PRS_V_AANWEZIGBEDRIJF
|
||
WHERE PRS_BEDRIJF_INTERN IS NULL
|
||
AND NVL(PRS_BEDRIJF_HUURDER,0) <> 1
|
||
AND ( UPPER(PRS_LEVERANCIER_NR) LIKE 'C%'
|
||
OR UPPER(PRS_LEVERANCIER_NR) LIKE 'LEV%');
|
||
|
||
commit;
|
||
|
||
-- Zaken tbv Perman/Interconnect koppeling (voorheen in aparte bestanden)
|
||
-- Start perman.sql
|
||
/* Formatted on 2006/09/15 11:37 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE PACKAGE perman
|
||
AS
|
||
PROCEDURE verwerk (
|
||
p_ind_toekomstmutatie IN VARCHAR2,
|
||
p_dvb_personeelsnummer IN VARCHAR2,
|
||
p_per_naam IN VARCHAR2,
|
||
p_per_partnernaam IN VARCHAR2,
|
||
p_per_indnaamsvoegen IN VARCHAR2,
|
||
p_per_tussenvoegsels IN VARCHAR2,
|
||
p_per_partussenvoegs IN VARCHAR2,
|
||
p_per_voorletters IN VARCHAR2,
|
||
p_per_roepnaam IN VARCHAR2,
|
||
p_per_username IN VARCHAR2,
|
||
p_per_titel IN VARCHAR2,
|
||
p_per_achtervoegsel IN VARCHAR2,
|
||
p_dvb_datum_in_dienst IN DATE,
|
||
p_dvb_datum_uit_dienst IN DATE,
|
||
p_fnc_omschrijving IN VARCHAR2,
|
||
p_dvb_k_emailzake IN VARCHAR2,
|
||
p_dvb_divisie IN VARCHAR2,
|
||
p_dvb_divisie_label IN VARCHAR2,
|
||
p_dvb_k_regio IN VARCHAR2,
|
||
p_dvb_k_regio_label IN VARCHAR2,
|
||
p_dvb_k_regiozoeknaam IN VARCHAR2,
|
||
p_afd_code IN VARCHAR2,
|
||
p_afd_omschrijving IN VARCHAR2,
|
||
p_dvb_k_standplts_label IN VARCHAR2
|
||
);
|
||
|
||
FUNCTION prs_perslid_key (p_dvb_personeelsnummer IN VARCHAR2)
|
||
RETURN NUMBER;
|
||
|
||
FUNCTION prs_srtperslid_key (p_fnc_omschrijving IN VARCHAR2)
|
||
RETURN NUMBER;
|
||
|
||
FUNCTION prs_perslid_verwijder
|
||
RETURN NUMBER;
|
||
|
||
FUNCTION prs_afdeling_key (
|
||
p_dvb_divisie IN VARCHAR2,
|
||
p_dvb_divisie_label IN VARCHAR2,
|
||
p_dvb_k_regiozoeknaam IN VARCHAR2,
|
||
p_dvb_k_regio_label IN VARCHAR2,
|
||
p_afd_code IN VARCHAR2,
|
||
p_afd_omschrijving IN VARCHAR2
|
||
)
|
||
RETURN NUMBER;
|
||
|
||
FUNCTION prs_afdeling_key_old (p_dvb_personeelsnummer IN VARCHAR2)
|
||
RETURN NUMBER;
|
||
END perman;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY perman
|
||
AS
|
||
PROCEDURE verwerk (
|
||
p_ind_toekomstmutatie IN VARCHAR2,
|
||
p_dvb_personeelsnummer IN VARCHAR2,
|
||
p_per_naam IN VARCHAR2,
|
||
p_per_partnernaam IN VARCHAR2,
|
||
p_per_indnaamsvoegen IN VARCHAR2,
|
||
p_per_tussenvoegsels IN VARCHAR2,
|
||
p_per_partussenvoegs IN VARCHAR2,
|
||
p_per_voorletters IN VARCHAR2,
|
||
p_per_roepnaam IN VARCHAR2,
|
||
p_per_username IN VARCHAR2,
|
||
p_per_titel IN VARCHAR2,
|
||
p_per_achtervoegsel IN VARCHAR2,
|
||
p_dvb_datum_in_dienst IN DATE,
|
||
p_dvb_datum_uit_dienst IN DATE,
|
||
p_fnc_omschrijving IN VARCHAR2,
|
||
p_dvb_k_emailzake IN VARCHAR2,
|
||
p_dvb_divisie IN VARCHAR2,
|
||
p_dvb_divisie_label IN VARCHAR2,
|
||
p_dvb_k_regio IN VARCHAR2,
|
||
p_dvb_k_regio_label IN VARCHAR2,
|
||
p_dvb_k_regiozoeknaam IN VARCHAR2,
|
||
p_afd_code IN VARCHAR2,
|
||
p_afd_omschrijving IN VARCHAR2,
|
||
p_dvb_k_standplts_label IN VARCHAR2
|
||
)
|
||
IS
|
||
v_prs_srtperslid_key prs_srtperslid.prs_srtperslid_key%TYPE;
|
||
v_prs_afdeling_key prs_afdeling.prs_afdeling_key%TYPE;
|
||
v_prs_afdeling_key_old prs_afdeling.prs_afdeling_key%TYPE;
|
||
v_prs_perslid_key prs_perslid.prs_perslid_key%TYPE;
|
||
v_fac_groep_key fac_groep.fac_groep_key%TYPE;
|
||
v_prs_perslid_naam prs_perslid.prs_perslid_naam%TYPE;
|
||
v_prs_perslid_tussenvoegsels prs_perslid.prs_perslid_tussenvoegsel%TYPE;
|
||
v_prs_perslid_titel prs_perslid.prs_perslid_titel%TYPE := NULL;
|
||
v_prs_perslid_einddatum prs_perslid.prs_perslid_einddatum%TYPE;
|
||
v_standplaats_kenmerk_key prs_kenmerk.prs_kenmerk_key%TYPE;
|
||
v_standplaats_kenmerklink_key prs_kenmerklink.prs_kenmerklink_key%TYPE;
|
||
v_count NUMBER (10);
|
||
BEGIN
|
||
v_prs_srtperslid_key := prs_srtperslid_key (p_fnc_omschrijving);
|
||
v_prs_afdeling_key :=
|
||
prs_afdeling_key (p_dvb_divisie,
|
||
p_dvb_divisie_label,
|
||
p_dvb_k_regiozoeknaam,
|
||
p_dvb_k_regio_label,
|
||
p_afd_code,
|
||
p_afd_omschrijving
|
||
);
|
||
v_prs_perslid_key := prs_perslid_key (p_dvb_personeelsnummer);
|
||
v_prs_afdeling_key_old := prs_afdeling_key_old (p_dvb_personeelsnummer);
|
||
v_prs_perslid_naam := SUBSTR (p_per_naam, 1, 30);
|
||
v_prs_perslid_tussenvoegsels := p_per_tussenvoegsels;
|
||
|
||
IF p_per_indnaamsvoegen = 'J'
|
||
OR p_per_indnaamsvoegen = 'W'
|
||
OR p_per_indnaamsvoegen = 'E'
|
||
OR p_per_indnaamsvoegen = 'P'
|
||
THEN
|
||
v_prs_perslid_tussenvoegsels := p_per_partussenvoegs;
|
||
|
||
IF p_per_tussenvoegsels IS NOT NULL
|
||
THEN
|
||
v_prs_perslid_naam := SUBSTR (p_per_partnernaam || '-' || p_per_tussenvoegsels || ' ' || p_per_naam, 1, 30);
|
||
ELSE
|
||
v_prs_perslid_naam := SUBSTR (p_per_partnernaam || '-' || p_per_naam, 1, 30);
|
||
END IF;
|
||
ELSIF p_per_indnaamsvoegen = 'A'
|
||
THEN
|
||
v_prs_perslid_tussenvoegsels := p_per_partussenvoegs;
|
||
v_prs_perslid_naam := SUBSTR (p_per_partnernaam, 1, 30);
|
||
ELSIF p_per_indnaamsvoegen = 'G'
|
||
THEN
|
||
IF p_per_partussenvoegs IS NOT NULL
|
||
THEN
|
||
v_prs_perslid_naam :=
|
||
SUBSTR (v_prs_perslid_naam || '-' || p_per_partussenvoegs || ' ' || p_per_partnernaam, 1, 30);
|
||
ELSE
|
||
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam || '-' || p_per_partnernaam, 1, 30);
|
||
END IF;
|
||
END IF;
|
||
|
||
IF p_ind_toekomstmutatie = 'N'
|
||
THEN -- Toekomstmutaties niet meenemen
|
||
IF p_per_titel IS NOT NULL OR p_per_achtervoegsel IS NOT NULL
|
||
THEN
|
||
v_prs_perslid_titel := SUBSTR (p_per_titel || '()' || p_per_achtervoegsel, 1, 15);
|
||
END IF;
|
||
|
||
-- controleren op onbepaald (dwz dvb_datum_uit_dienst=31 dec 2999)
|
||
v_prs_perslid_einddatum := p_dvb_datum_uit_dienst;
|
||
|
||
IF p_dvb_datum_uit_dienst IS NULL
|
||
THEN
|
||
v_prs_perslid_einddatum := TO_DATE ('31-12-2999', 'DD-MM-YYYY');
|
||
END IF;
|
||
|
||
IF v_prs_perslid_key = 0
|
||
THEN --nieuwe medewerker
|
||
INSERT INTO prs_perslid
|
||
(prs_perslid_nr, prs_perslid_module, prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel, prs_perslid_voorletters,
|
||
prs_perslid_voornaam
|
||
-- , prs_perslid_oslogin
|
||
, prs_perslid_titel, prs_perslid_ingangsdatum,
|
||
prs_perslid_einddatum, prs_afdeling_key, prs_srtperslid_key
|
||
)
|
||
VALUES (p_dvb_personeelsnummer, 'PRS', v_prs_perslid_naam,
|
||
SUBSTR (v_prs_perslid_tussenvoegsels, 1, 15), SUBSTR (p_per_voorletters, 1, 10),
|
||
SUBSTR (p_per_roepnaam, 1, 30)
|
||
-- , substr(p_per_username,1,30)
|
||
, v_prs_perslid_titel, p_dvb_datum_in_dienst,
|
||
v_prs_perslid_einddatum, v_prs_afdeling_key, v_prs_srtperslid_key
|
||
);
|
||
|
||
SELECT prs_perslid_key
|
||
INTO v_prs_perslid_key
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_nr = p_dvb_personeelsnummer;
|
||
|
||
-- Default autorisatie toekennen aan deze nieuwe persoon
|
||
BEGIN
|
||
SELECT fac_groep_key
|
||
INTO v_fac_groep_key
|
||
FROM fac_groep
|
||
WHERE fac_groep_upper = 'ALGEMEEN2808' AND fac_groep_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
INSERT INTO fac_groep
|
||
(fac_groep_omschrijving
|
||
)
|
||
VALUES ('Algemeen2808'
|
||
);
|
||
|
||
SELECT fac_groep_key
|
||
INTO v_fac_groep_key
|
||
FROM fac_groep
|
||
WHERE fac_groep_upper = 'ALGEMEEN2808' AND fac_groep_verwijder IS NULL;
|
||
END;
|
||
|
||
INSERT INTO fac_gebruikersgroep
|
||
(fac_groep_key, prs_perslid_key
|
||
)
|
||
VALUES (v_fac_groep_key, v_prs_perslid_key
|
||
);
|
||
ELSE
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_naam = v_prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel = SUBSTR (v_prs_perslid_tussenvoegsels, 1, 15),
|
||
prs_perslid_voorletters = SUBSTR (p_per_voorletters, 1, 10),
|
||
prs_perslid_voornaam = SUBSTR (p_per_roepnaam, 1, 30)
|
||
-- , prs_perslid_oslogin=substr(p_per_username,1,30)
|
||
,
|
||
prs_perslid_titel = v_prs_perslid_titel,
|
||
prs_perslid_ingangsdatum = p_dvb_datum_in_dienst,
|
||
prs_perslid_einddatum = v_prs_perslid_einddatum,
|
||
prs_afdeling_key = v_prs_afdeling_key,
|
||
prs_srtperslid_key = v_prs_srtperslid_key
|
||
WHERE prs_perslid_key = v_prs_perslid_key;
|
||
END IF;
|
||
|
||
--standplaats-kenmerk!!!
|
||
SELECT prs_kenmerk.prs_kenmerk_key
|
||
INTO v_standplaats_kenmerk_key
|
||
FROM prs_kenmerk
|
||
WHERE prs_kenmerk_upper = 'STANDPLAATS';
|
||
|
||
BEGIN
|
||
SELECT prs_kenmerklink_key
|
||
INTO v_standplaats_kenmerklink_key
|
||
FROM prs_kenmerklink
|
||
WHERE prs_link_key = v_prs_perslid_key AND prs_kenmerk_key = v_standplaats_kenmerk_key;
|
||
|
||
IF p_dvb_k_standplts_label IS NULL
|
||
THEN
|
||
DELETE FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_key = v_standplaats_kenmerklink_key;
|
||
ELSE
|
||
UPDATE prs_kenmerklink
|
||
SET prs_kenmerklink_waarde = p_dvb_k_standplts_label
|
||
WHERE prs_kenmerklink_key = v_standplaats_kenmerklink_key;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN -- nieuwe toevoegen indien niet leeg
|
||
IF p_dvb_k_standplts_label IS NOT NULL
|
||
THEN
|
||
INSERT INTO prs_kenmerklink
|
||
(prs_link_key, prs_kenmerklink_niveau, prs_kenmerk_key, prs_kenmerklink_waarde
|
||
)
|
||
VALUES (v_prs_perslid_key, 'P', v_standplaats_kenmerk_key, p_dvb_k_standplts_label
|
||
);
|
||
END IF;
|
||
END;
|
||
END IF;
|
||
|
||
v_count := prs_perslid_verwijder; -- CONN#410
|
||
END;
|
||
|
||
FUNCTION prs_perslid_key (p_dvb_personeelsnummer IN VARCHAR2)
|
||
RETURN NUMBER
|
||
IS
|
||
v_prs_perslid_key prs_perslid.prs_perslid_key%TYPE;
|
||
-- CONN#613 only search for active persons
|
||
BEGIN
|
||
SELECT prs_perslid_key
|
||
INTO v_prs_perslid_key
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_nr = p_dvb_personeelsnummer;
|
||
|
||
RETURN v_prs_perslid_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
RETURN 0;
|
||
END;
|
||
|
||
FUNCTION prs_srtperslid_key (p_fnc_omschrijving IN VARCHAR2)
|
||
RETURN NUMBER
|
||
IS
|
||
v_prs_srtperslid_key prs_perslid.prs_srtperslid_key%TYPE;
|
||
BEGIN
|
||
SELECT prs_srtperslid_key
|
||
INTO v_prs_srtperslid_key
|
||
FROM prs_srtperslid
|
||
WHERE prs_srtperslid_upper = UPPER (p_fnc_omschrijving);
|
||
|
||
RETURN v_prs_srtperslid_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
INSERT INTO prs_srtperslid
|
||
(prs_srtperslid_omschrijving
|
||
)
|
||
VALUES (p_fnc_omschrijving
|
||
);
|
||
|
||
SELECT prs_srtperslid_key
|
||
INTO v_prs_srtperslid_key
|
||
FROM prs_srtperslid
|
||
WHERE prs_srtperslid_upper = UPPER (p_fnc_omschrijving);
|
||
|
||
RETURN v_prs_srtperslid_key;
|
||
END;
|
||
|
||
-- CONN#410
|
||
FUNCTION prs_perslid_verwijder
|
||
RETURN NUMBER
|
||
IS
|
||
CURSOR c_prs_del
|
||
IS
|
||
SELECT DISTINCT p.prs_perslid_key
|
||
FROM prs_perslid p, prs_v_verplichting pv
|
||
WHERE p.prs_perslid_verwijder IS NULL
|
||
AND NOT (p.prs_perslid_einddatum IS NULL)
|
||
AND p.prs_perslid_einddatum <= SYSDATE
|
||
AND p.prs_perslid_key = pv.prs_perslid_key(+)
|
||
AND pv.prs_perslid_key IS NULL;
|
||
|
||
rec_prs_del c_prs_del%ROWTYPE;
|
||
v_count_verwijderd NUMBER (10);
|
||
v_errmes VARCHAR2 (512);
|
||
BEGIN
|
||
v_count_verwijderd := 0;
|
||
|
||
FOR rec_prs_del IN c_prs_del
|
||
LOOP
|
||
BEGIN
|
||
UPDATE prs_perslidwerkplek
|
||
SET prs_perslidwerkplek_verwijder = SYSDATE
|
||
WHERE prs_perslid_key = rec_prs_del.prs_perslid_key AND prs_perslidwerkplek_verwijder IS NULL;
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_verwijder = SYSDATE
|
||
WHERE prs_perslid_key = rec_prs_del.prs_perslid_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errmes := 'Error bij verwijderen persoon. Negeer fouten, verwerk de volgende persoon.';
|
||
END;
|
||
END LOOP;
|
||
|
||
RETURN v_count_verwijderd;
|
||
END;
|
||
|
||
FUNCTION prs_afdeling_key (
|
||
p_dvb_divisie IN VARCHAR2,
|
||
p_dvb_divisie_label IN VARCHAR2,
|
||
p_dvb_k_regiozoeknaam IN VARCHAR2,
|
||
p_dvb_k_regio_label IN VARCHAR2,
|
||
p_afd_code IN VARCHAR2,
|
||
p_afd_omschrijving IN VARCHAR2
|
||
)
|
||
RETURN NUMBER
|
||
IS
|
||
v_mh_bedrijf_key prs_afdeling.prs_afdeling_key%TYPE;
|
||
v_mh_afdeling_parentkey prs_afdeling.prs_afdeling_key%TYPE;
|
||
v_afdeling_key prs_afdeling.prs_afdeling_key%TYPE;
|
||
BEGIN
|
||
BEGIN
|
||
SELECT a.prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_upper = UPPER (p_afd_code) AND a.prs_afdeling_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_afdeling_key := NULL;
|
||
END;
|
||
|
||
IF v_afdeling_key IS NULL
|
||
THEN -- afdeling bestaat niet
|
||
BEGIN
|
||
-- bestaat afdeling "perman nieuw"
|
||
SELECT a.prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_upper = UPPER ('Perman')
|
||
AND UPPER (a.prs_afdeling_omschrijving) = UPPER ('Perman nieuw')
|
||
AND a.prs_afdeling_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_afdeling_key := NULL;
|
||
END;
|
||
|
||
IF v_afdeling_key IS NULL
|
||
THEN -- afdeling "Perman nieuw" bestaat niet
|
||
-- maak de afdeling " Perman nieuw" aan (dezelfde regio als Maarten Hanemaaijer)
|
||
-- vind afdeling van Maarten Hanemaaijer, perslid_key = 1042
|
||
-- benodigd zijn prs_afdeling_parent_key en prs_bedrijf_key
|
||
BEGIN
|
||
SELECT a.prs_bedrijf_key, a.prs_afdeling_parentkey
|
||
INTO v_mh_bedrijf_key, v_mh_afdeling_parentkey
|
||
FROM prs_perslid p, prs_afdeling a
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key AND p.prs_perslid_key = 1042;
|
||
-- and p.prs_perslid_upper = upper ('Hanemaaijer')
|
||
-- and upper (p.prs_perslid_voornaam) = upper ('Maarten');
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
RETURN 0;
|
||
END;
|
||
|
||
-- maak de afdeling "Perman nieuw" aan
|
||
INSERT INTO prs_afdeling
|
||
(prs_afdeling_parentkey, prs_afdeling_naam, prs_afdeling_omschrijving, prs_bedrijf_key
|
||
)
|
||
VALUES (v_mh_afdeling_parentkey, 'Perman', 'Perman nieuw', v_mh_bedrijf_key
|
||
);
|
||
|
||
-- vindt de afdeling_key van de afdeling "Perman nieuw"
|
||
SELECT prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_upper = UPPER ('Perman')
|
||
AND UPPER (a.prs_afdeling_omschrijving) = UPPER ('Perman nieuw');
|
||
END IF;
|
||
-- else -- afdeling bestaat: return v-afdeling_key.
|
||
END IF;
|
||
|
||
RETURN v_afdeling_key;
|
||
END;
|
||
|
||
FUNCTION prs_afdeling_key_old (p_dvb_personeelsnummer IN VARCHAR2)
|
||
RETURN NUMBER
|
||
IS
|
||
v_prs_afdeling_key prs_perslid.prs_afdeling_key%TYPE;
|
||
BEGIN
|
||
SELECT prs_afdeling_key
|
||
INTO v_prs_afdeling_key
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_nr = p_dvb_personeelsnummer;
|
||
|
||
RETURN v_prs_afdeling_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
RETURN 0;
|
||
END;
|
||
END perman;
|
||
/
|
||
|
||
-- End perman.sql
|
||
|
||
-- HALTEWERK-rapportage/doorbelastingsoverzicht (CONN#3661)
|
||
CREATE OR REPLACE VIEW conn_v_haltewerk
|
||
(fclt_f_maand, dag, fclt_f_opdrachtgever, fclt_f_plaats, fclt_f_halte, fclt_f_medewerker, fclt_f_activiteit,
|
||
diversen, bestede_tijd, materiaal_bedrag, kilometers)
|
||
AS
|
||
SELECT TO_CHAR(dw.mld_deelwerk_datum, 'YYYYMM') maand,
|
||
TO_CHAR(dw.mld_deelwerk_datum, 'dd-mm-yyyy') dag,
|
||
opdrachtgever,
|
||
-- l.alg_locatie_code || ' - ' || ts.alg_terreinsector_code plaats,
|
||
ts.alg_terreinsector_code plaats,
|
||
haltecode || ' ' || haltenaam halte,
|
||
pf.prs_perslid_naam_full medewerker,
|
||
activiteit,
|
||
dw.mld_deelwerk_opmerking,
|
||
SUM(dw.mld_deelwerk_duur) bestede_tijd,
|
||
SUM(materiaal_bedrag),
|
||
SUM(dw.mld_deelwerk_km)
|
||
FROM (SELECT kd.ins_deel_key kd1, kd.ins_kenmerkdeel_waarde haltecode
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerk_key = 501),
|
||
(SELECT kd.ins_deel_key kd2, kd.ins_kenmerkdeel_waarde haltenaam
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerk_key = 504),
|
||
(SELECT dw.mld_deelwerk_key dw1, ud.fac_usrdata_omschr opdrachtgever
|
||
FROM mld_deelwerk dw,
|
||
fac_usrdata ud
|
||
WHERE dw.fac_usrdata_key_opdrachtgever = ud.fac_usrdata_key),
|
||
(SELECT dwa dw2, activiteit, materiaal_bedrag
|
||
FROM (SELECT dw.mld_deelwerk_key dwa, ud.fac_usrdata_omschr activiteit
|
||
FROM mld_deelwerk dw,
|
||
fac_usrdata ud
|
||
WHERE dw.fac_usrdata_key_activiteit = ud.fac_usrdata_key) a
|
||
LEFT JOIN
|
||
(SELECT dwm.mld_deelwerk_key dwb, SUM(dwm.mld_deelwerkmateriaal_aantal * ud.fac_usrdata_prijs) materiaal_bedrag
|
||
FROM mld_deelwerkmateriaal dwm,
|
||
fac_usrdata ud
|
||
WHERE dwm.fac_usrdata_key_materiaal = ud.fac_usrdata_key
|
||
GROUP BY dwm.mld_deelwerk_key) b
|
||
ON a.dwa = b.dwb),
|
||
mld_deelwerk dw,
|
||
ins_deel d,
|
||
alg_terreinsector ts,
|
||
-- alg_locatie l,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE dw.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_ruimte_key = ts.alg_terreinsector_key
|
||
-- AND ts.alg_locatie_key = l.alg_locatie_key
|
||
AND dw.prs_perslid_key = pf.prs_perslid_key
|
||
AND dw.ins_deel_key = kd1
|
||
AND dw.ins_deel_key = kd2
|
||
AND dw.mld_deelwerk_key = dw1
|
||
AND dw.mld_deelwerk_key = dw2
|
||
GROUP BY TO_CHAR(dw.mld_deelwerk_datum, 'YYYYMM'),
|
||
TO_CHAR(dw.mld_deelwerk_datum, 'dd-mm-yyyy'),
|
||
opdrachtgever,
|
||
-- l.alg_locatie_code || '-' || ts.alg_terreinsector_code,
|
||
ts.alg_terreinsector_code,
|
||
haltecode || ' ' || haltenaam,
|
||
pf.prs_perslid_naam_full,
|
||
activiteit,
|
||
dw.mld_deelwerk_opmerking
|
||
ORDER BY maand, dag, opdrachtgever, plaats, halte, medewerker, activiteit;
|
||
|
||
-- CONN#12661: Notificatie op basis van meterstandverantwoordelijke per locatie
|
||
-- View voor kenmerk "Meterstanden verantwoordelijke"
|
||
CREATE OR REPLACE VIEW conn_v_meterstanden_verantw (prs_perslid_key, verantwoordelijke)
|
||
AS
|
||
SELECT w.prs_perslid_key,
|
||
p.prs_perslid_naam || DECODE (NVL (p.prs_perslid_voorletters, ''), '', '', ', ' || p.prs_perslid_voorletters) || DECODE (NVL (p.prs_perslid_tussenvoegsel, ''), '', '', ' ' || p.prs_perslid_tussenvoegsel) || DECODE (NVL (p.prs_perslid_voornaam, ''), '', '', ' (' || p.prs_perslid_voornaam || ')') naam
|
||
FROM fac_v_webgebruiker w,
|
||
prs_v_aanwezigperslid p
|
||
WHERE w.prs_perslid_key = p.prs_perslid_key
|
||
AND w.fac_functie_key = (SELECT fac_functie_key
|
||
FROM fac_functie
|
||
WHERE fac_functie_code = 'WEB_OBJUSE')
|
||
AND w.fac_gebruiker_kolomkey =
|
||
(SELECT itd.ins_discipline_key
|
||
FROM ins_tab_discipline itd
|
||
WHERE itd.ins_discipline_omschrijving = 'Verbruiksregistratie')
|
||
ORDER BY p.prs_perslid_upper;
|
||
|
||
-- View notificatiejob
|
||
CREATE OR REPLACE VIEW conn_v_noti_meterstreminder
|
||
(code, sender, receiver, text, key, xkey)
|
||
AS
|
||
SELECT 'OBJINF',
|
||
NULL,
|
||
meterstanden_verantwoordelijke,
|
||
'U wordt verzocht de meterstanden van locatie ' || alg_locatie_omschrijving || ' in te voeren in Facilitor.',
|
||
alg_locatie_key,
|
||
NULL
|
||
FROM (SELECT l.alg_locatie_key,
|
||
COUNT(l.alg_locatie_omschrijving) aantal_objecten,
|
||
l.alg_locatie_omschrijving,
|
||
(SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_locatie l,
|
||
alg_onrgoedkenmerk ogk
|
||
WHERE l.alg_locatie_key = ogk.alg_onrgoed_key
|
||
AND ogk.alg_onrgoed_niveau = 'L'
|
||
AND l.alg_locatie_key = d.ins_alg_locatie_key
|
||
AND ogk.alg_kenmerk_key IN (SELECT alg_kenmerk_key
|
||
FROM alg_kenmerk k, alg_refkenmerk rk
|
||
WHERE rk.alg_refkenmerk_omschrijving = 'Meterstandverantwoordelijke'
|
||
AND rk.alg_refkenmerk_key=k.alg_refkenmerk_key)) meterstanden_verantwoordelijke,
|
||
COUNT((SELECT 'buiten'
|
||
FROM ins_v_aanwezigkenmerkdeel akd
|
||
WHERE akd.ins_deel_key = d.ins_deel_key
|
||
AND akd.ins_kenmerk_key = sk.ins_kenmerk_key
|
||
AND akd.ins_kenmerkdeel_aanmaak NOT
|
||
BETWEEN (SELECT TO_DATE ((SELECT TO_CHAR (SYSDATE, 'YYYY') FROM DUAL) || '-' || (SELECT TO_CHAR (SYSDATE, 'MM') FROM DUAL) || '-01', 'YYYY-MM-DD HH24:MI') FROM DUAL) - 10
|
||
AND (SELECT TO_DATE ((SELECT TO_CHAR (SYSDATE, 'YYYY') FROM DUAL) || '-' || (SELECT TO_CHAR (SYSDATE, 'MM') FROM DUAL) || '-01', 'YYYY-MM-DD HH24:MI') FROM DUAL) + 14)) buiten,
|
||
COUNT((SELECT 'binnen'
|
||
FROM ins_v_aanwezigkenmerkdeel akd
|
||
WHERE akd.ins_deel_key = d.ins_deel_key
|
||
AND akd.ins_kenmerk_key = sk.ins_kenmerk_key
|
||
AND akd.ins_kenmerkdeel_aanmaak
|
||
BETWEEN (SELECT TO_DATE ((SELECT TO_CHAR (SYSDATE, 'YYYY') FROM DUAL) || '-' || (SELECT TO_CHAR (SYSDATE, 'MM') FROM DUAL) || '-01', 'YYYY-MM-DD HH24:MI') FROM DUAL) - 10
|
||
AND (SELECT TO_DATE ((SELECT TO_CHAR (SYSDATE, 'YYYY') FROM DUAL) || '-' || (SELECT TO_CHAR (SYSDATE, 'MM') FROM DUAL) || '-01', 'YYYY-MM-DD HH24:MI') FROM DUAL) + 14)) binnen
|
||
FROM ins_v_srtdeel_kenmerk sk,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
alg_locatie l
|
||
WHERE sk.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND sk.ins_kenmerk_meetwaarde = 1
|
||
AND sk.ins_srtkenmerk_kenmerktype = 'N'
|
||
AND (SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_locatie l,
|
||
alg_onrgoedkenmerk ogk
|
||
WHERE l.alg_locatie_key = ogk.alg_onrgoed_key
|
||
AND ogk.alg_onrgoed_niveau = 'L'
|
||
AND l.alg_locatie_key = d.ins_alg_locatie_key
|
||
AND ogk.alg_kenmerk_key IN (SELECT alg_kenmerk_key
|
||
FROM alg_kenmerk k, alg_refkenmerk rk
|
||
WHERE rk.alg_refkenmerk_omschrijving = 'Meterstandverantwoordelijke'
|
||
AND rk.alg_refkenmerk_key=k.alg_refkenmerk_key)) IS NOT NULL
|
||
GROUP BY l.alg_locatie_omschrijving,
|
||
d.ins_alg_locatie_key,
|
||
alg_locatie_key) t1
|
||
WHERE (t1.binnen = 0 AND t1.buiten > 0)
|
||
OR (t1.aantal_objecten > (t1.binnen + t1.buiten)) -- Indien er nog geen waarde is ingevuld dan altijd melding
|
||
ORDER BY 2;
|
||
|
||
CREATE OR REPLACE VIEW conn_v_export_contractmutatie as
|
||
SELECT
|
||
bedrijfsnummer
|
||
|| ';' ||
|
||
mutatienummer
|
||
|| ';' ||
|
||
huurdernummer
|
||
|| ';' ||
|
||
budgetcode
|
||
|| ';' ||
|
||
complexnummer
|
||
|| ';' ||
|
||
eenheidsnummer
|
||
|| ';' ||
|
||
to_char(ingangsdatum, 'yyyymmdd')
|
||
|| ';' ||
|
||
factuurdebiteur
|
||
|| ';' ||
|
||
prolongatietermijn
|
||
|| ';' ||
|
||
to_char(indexeringsdatum, 'yyyymmdd')
|
||
|| ';' ||
|
||
indexeringscode
|
||
|| ';' ||
|
||
indexeringsmethode
|
||
|| ';' ||
|
||
tarieftype
|
||
|| ';' ||
|
||
replace(to_char(aantal),'.',',')
|
||
|| ';' ||
|
||
replace(to_char(tarief),'.',',')
|
||
|| ';' ||
|
||
replace(to_char(totaal),'.',',') result,
|
||
mutatienummer result_order
|
||
FROM (SELECT *
|
||
FROM CONN_EXP_CONTRACTMUTATIE
|
||
WHERE NOT (UPPER(eenheidsnummer) LIKE '%CXX GEEN CONTRACT%'
|
||
OR tarief = 0
|
||
OR aantal = 0)
|
||
AND exportdatum IS NULL);
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE conn_select_contractmutatie (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
v_errormsg VARCHAR (200);
|
||
BEGIN
|
||
|
||
v_errormsg := 'Lekker niets doen. View conn_v_export_contractmutatie doet het werk';
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
-- Procedure voor de exporteren gegevens contractmutatie
|
||
CREATE OR REPLACE PROCEDURE conn_export_contractmutatie (
|
||
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
|
||
|
||
v_errormsg := 'Geen akties';
|
||
-- Exportregels zijn weggesschreven. De status in de exporttabel wordt op 'E' gezet en de exportdatu ingevuld om dubbele export te voorkomen.
|
||
UPDATE CONN_EXP_CONTRACTMUTATIE SET exportdatum = sysdate, STATUS='E' WHERE exportdatum IS NULL;
|
||
|
||
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_applname, p_applrun, 'E', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW conn_v_imp_log (fclt_f_applicatie,
|
||
run,
|
||
datum,
|
||
fclt_f_status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT imp_log_applicatie, imp_log_run, to_char(imp_log_datum, 'yyyymmdd hh24miss'), imp_log_status,
|
||
imp_log_omschrijving, imp_log_hint
|
||
FROM imp_log;
|
||
|
||
|
||
CREATE OR REPLACE PACKAGE CONN_PARTNERS AS
|
||
|
||
/*
|
||
|
||
Tabel OAC_STG_PARTNER alias P:
|
||
|
||
P.Id p_partner_id
|
||
P.Pnr_Type p_bedrijf_type
|
||
P.Pnr_partnernummer p_prs_leverancier_nr
|
||
P.Pnr_naam p_prs_bedrijf_naam
|
||
P.Pnr_telefoon p_prs_bedrijf_telefoon
|
||
P.Pnr_mobiel p_prs_bedrijf_telefoon2
|
||
P.Pnr_fax p_prs_bedrijf_fax
|
||
P.Pnr_email p_prs_bedrijf_email
|
||
P.Pnr_Klantnr_Facilitor p_prs_????? RD*****
|
||
P.Pnr_Betalingsconditie p_prs_bedrijf_opmerking
|
||
P.Pnr_Mutatie_Ind p_stamgegevens (J/N)
|
||
P.Pst_Adres p_prs_bedrijf_post_adres
|
||
P.Pst_Postcode p_prs_bedrijf_post_postcode
|
||
P.Pst_Plaats p_prs_bedrijf_post_plaats
|
||
P.Pst_Land p_prs_bedrijf_post_land
|
||
P.Pst_Mutatie_ind p_postadres (J/N)
|
||
P.Pst_Adres p_prs_bedrijf_bezoek_adres
|
||
P.Pst_Postcode p_prs_bedrijf_bezoek_postcode
|
||
P.Pst_Plaats p_prs_bedrijf_bezoek_plaats
|
||
P.Pst_Land p_prs_bedrijf_bezoek_land
|
||
P.Pst_Mutatie_ind p_bezoekadres (J/N)
|
||
|
||
*/
|
||
|
||
FUNCTION verwerk_partner
|
||
( p_partner_id in number
|
||
,p_bedrijf_type in varchar2
|
||
,p_prs_leverancier_nr in varchar2
|
||
,p_prs_bedrijf_naam in varchar2
|
||
,p_prs_bedrijf_telefoon in varchar2
|
||
,p_prs_bedrijf_telefoon2 in varchar2
|
||
,p_prs_bedrijf_fax in varchar2
|
||
,p_prs_bedrijf_email in varchar2
|
||
,p_prs_bedrijf_opmerking in varchar2
|
||
,p_stamgegevens in varchar2
|
||
,p_prs_bedrijf_post_adres in varchar2
|
||
,p_prs_bedrijf_post_postcode in varchar2
|
||
,p_prs_bedrijf_post_plaats in varchar2
|
||
,p_prs_bedrijf_post_land in varchar2
|
||
,p_postadres in varchar2
|
||
,p_prs_bedrijf_bezoek_adres in varchar2
|
||
,p_prs_bedrijf_bezoek_postcode in varchar2
|
||
,p_prs_bedrijf_bezoek_plaats in varchar2
|
||
,p_prs_bedrijf_bezoek_land in varchar2
|
||
,p_bezoekadres in varchar2) return NUMBER;
|
||
|
||
/*
|
||
|
||
Tabel OAC_STG_CONTACTPERSOON alias C:
|
||
|
||
C.Ctn_Functie p_prs_contactpersoon_functie
|
||
C.Ctn_Naam p_prs_contactpersoon_naam
|
||
C.Ctn_Tussenvoegsel p_prs_contactpersoon_tussenv
|
||
C.Ctn_Voornaam p_prs_contactpersoon_voornaam
|
||
C.Ctn_Voorletters p_prs_contactpersoon_voorl
|
||
C.Ctn_Titel p_prs_contactpersoon_titel
|
||
C.Ctn_Aanhef p_prs_contactpersoon_aanhef
|
||
C.Ctn_Telefoon p_prs_contactpersoon_tel_1
|
||
C.Ctn_Mobiel p_prs_contactpersoon_tel_2
|
||
C.Ctn_Fax p_prs_contactpersoon_fax
|
||
C.Ctn_Email p_prs_contactpersoon_email
|
||
C.Ctn_Mutatie_Ind p_contactpersoon (j/n)
|
||
|
||
*/
|
||
|
||
|
||
FUNCTION verwerk_contactpersoon
|
||
( p_partner_id in number
|
||
,p_contactpersoon_id in number
|
||
,p_prs_contactpersoon_functie in varchar2
|
||
,p_prs_contactpersoon_naam in varchar2
|
||
,p_prs_contactpersoon_tussenv in varchar2
|
||
,p_prs_contactpersoon_voornaam in varchar2
|
||
,p_prs_contactpersoon_voorl in varchar2
|
||
,p_prs_contactpersoon_titel in varchar2
|
||
,p_prs_contactpersoon_aanhef in varchar2
|
||
,p_prs_contactpersoon_tel_1 in varchar2
|
||
,p_prs_contactpersoon_tel_2 in varchar2
|
||
,p_prs_contactpersoon_fax in varchar2
|
||
,p_prs_contactpersoon_email in varchar2
|
||
,p_contactpersoon in varchar2) return number;
|
||
|
||
END CONN_PARTNERS;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PACKAGE BODY CONN_PARTNERS AS
|
||
|
||
|
||
FUNCTION verwerk_partner
|
||
( p_partner_id in number
|
||
,p_bedrijf_type in varchar2
|
||
,p_prs_leverancier_nr in varchar2
|
||
,p_prs_bedrijf_naam in varchar2
|
||
,p_prs_bedrijf_telefoon in varchar2
|
||
,p_prs_bedrijf_telefoon2 in varchar2
|
||
,p_prs_bedrijf_fax in varchar2
|
||
,p_prs_bedrijf_email in varchar2
|
||
,p_prs_bedrijf_opmerking in varchar2
|
||
,p_stamgegevens in varchar2
|
||
,p_prs_bedrijf_post_adres in varchar2
|
||
,p_prs_bedrijf_post_postcode in varchar2
|
||
,p_prs_bedrijf_post_plaats in varchar2
|
||
,p_prs_bedrijf_post_land in varchar2
|
||
,p_postadres in varchar2
|
||
,p_prs_bedrijf_bezoek_adres in varchar2
|
||
,p_prs_bedrijf_bezoek_postcode in varchar2
|
||
,p_prs_bedrijf_bezoek_plaats in varchar2
|
||
,p_prs_bedrijf_bezoek_land in varchar2
|
||
,p_bezoekadres in varchar2) return NUMBER
|
||
IS
|
||
v_partner_id NUMBER(15);
|
||
v_bedrijf_type VARCHAR2(30);
|
||
v_prs_leverancier_nr prs_bedrijf.prs_leverancier_nr%type;
|
||
v_prs_bedrijf_naam prs_bedrijf.prs_bedrijf_naam%type;
|
||
v_prs_bedrijf_telefoon prs_bedrijf.prs_bedrijf_telefoon%type;
|
||
v_prs_bedrijf_telefoon2 prs_bedrijf.prs_bedrijf_telefoon2%type;
|
||
v_prs_bedrijf_fax prs_bedrijf.prs_bedrijf_fax%type;
|
||
v_prs_bedrijf_email prs_bedrijf.prs_bedrijf_email%type;
|
||
v_prs_bedrijf_opmerking prs_bedrijf.prs_bedrijf_opmerking%type;
|
||
v_stamgegevens VARCHAR2(1);
|
||
v_prs_bedrijf_post_adres prs_bedrijf.prs_bedrijf_post_adres%type;
|
||
v_prs_bedrijf_post_postcode prs_bedrijf.prs_bedrijf_post_postcode%type;
|
||
v_prs_bedrijf_post_plaats prs_bedrijf.prs_bedrijf_post_plaats%type;
|
||
v_prs_bedrijf_post_land prs_bedrijf.prs_bedrijf_post_land%type;
|
||
v_postadres VARCHAR2(1);
|
||
v_prs_bedrijf_bezoek_adres prs_bedrijf.prs_bedrijf_bezoek_adres%type;
|
||
v_prs_bedrijf_bezoek_postcode prs_bedrijf.prs_bedrijf_bezoek_postcode%type;
|
||
v_prs_bedrijf_bezoek_plaats prs_bedrijf.prs_bedrijf_bezoek_plaats%type;
|
||
v_prs_bedrijf_bezoek_land prs_bedrijf.prs_bedrijf_bezoek_land%type;
|
||
v_bezoekadres VARCHAR2(1);
|
||
|
||
v_mode VARCHAR(10);
|
||
v_count NUMBER(10);
|
||
v_prs_bedrijf_key prs_bedrijf.prs_bedrijf_key%type;
|
||
|
||
ORACLE_err_num NUMBER;
|
||
ORACLE_err_mes VARCHAR2(100);
|
||
|
||
v_store_prs_bedrijf BOOLEAN;
|
||
|
||
BEGIN
|
||
|
||
-- INIT
|
||
--commit;
|
||
v_mode := '';
|
||
v_prs_bedrijf_key := 0;
|
||
|
||
v_partner_id := p_partner_id;
|
||
v_bedrijf_type := UPPER(SUBSTR(p_bedrijf_type,1,30));
|
||
v_prs_leverancier_nr := SUBSTR(p_prs_leverancier_nr,1,15);
|
||
v_prs_bedrijf_naam := SUBSTR(p_prs_bedrijf_naam||' _ '||v_prs_leverancier_nr,1,60);
|
||
v_prs_bedrijf_telefoon := SUBSTR(p_prs_bedrijf_telefoon,1,20);
|
||
v_prs_bedrijf_telefoon2 := SUBSTR(p_prs_bedrijf_telefoon2,1,20);
|
||
v_prs_bedrijf_fax := SUBSTR(p_prs_bedrijf_fax,1,20);
|
||
v_prs_bedrijf_email := SUBSTR(p_prs_bedrijf_email,1,100);
|
||
v_prs_bedrijf_opmerking := SUBSTR(p_prs_bedrijf_opmerking,1,320);
|
||
v_stamgegevens := UPPER(SUBSTR(p_stamgegevens,1,1));
|
||
v_prs_bedrijf_post_adres := SUBSTR(p_prs_bedrijf_post_adres,1,35);
|
||
v_prs_bedrijf_post_postcode := SUBSTR(p_prs_bedrijf_post_postcode,1,12);
|
||
v_prs_bedrijf_post_plaats := SUBSTR(p_prs_bedrijf_post_plaats,1,30);
|
||
v_prs_bedrijf_post_land := SUBSTR(p_prs_bedrijf_post_land,1,30);
|
||
v_postadres := UPPER(SUBSTR(p_postadres,1,1));
|
||
v_prs_bedrijf_bezoek_adres := SUBSTR(p_prs_bedrijf_bezoek_adres,1,35);
|
||
v_prs_bedrijf_bezoek_postcode := SUBSTR(p_prs_bedrijf_bezoek_postcode,1,12);
|
||
v_prs_bedrijf_bezoek_plaats := SUBSTR(p_prs_bedrijf_bezoek_plaats,1,30);
|
||
v_prs_bedrijf_bezoek_land := SUBSTR(p_prs_bedrijf_bezoek_land,1,30);
|
||
v_bezoekadres := UPPER(SUBSTR(p_bezoekadres,1,1));
|
||
|
||
IF v_stamgegevens = 'J' THEN
|
||
|
||
-- v_mode?
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM prs_v_aanwezigbedrijf
|
||
WHERE upper(trim(prs_leverancier_nr)) = upper(trim(v_prs_leverancier_nr));
|
||
|
||
IF (v_count = 0) THEN
|
||
v_mode := 'INSERT';
|
||
ELSE
|
||
IF (v_count = 1) THEN
|
||
v_mode := 'UPDATE';
|
||
SELECT prs_bedrijf_key
|
||
INTO v_prs_bedrijf_key
|
||
FROM prs_v_aanwezigbedrijf
|
||
WHERE upper(trim(prs_leverancier_nr)) = upper(trim(v_prs_leverancier_nr));
|
||
END IF;
|
||
END IF;
|
||
|
||
IF v_mode = 'INSERT' THEN
|
||
|
||
-- RD****** v_bedrijf_type Zie hieronder DECODE statement:
|
||
|
||
insert into prs_bedrijf
|
||
(prs_leverancier_nr
|
||
,prs_bedrijf_naam
|
||
,prs_bedrijf_telefoon
|
||
,prs_bedrijf_telefoon2
|
||
,prs_bedrijf_fax
|
||
,prs_bedrijf_email
|
||
,prs_bedrijf_opmerking
|
||
,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_leverancier
|
||
,prs_bedrijf_uitvoerende
|
||
,prs_bedrijf_contract)
|
||
values
|
||
(v_prs_leverancier_nr
|
||
,v_prs_bedrijf_naam
|
||
,v_prs_bedrijf_telefoon
|
||
,v_prs_bedrijf_telefoon2
|
||
,v_prs_bedrijf_fax
|
||
,v_prs_bedrijf_email
|
||
,v_prs_bedrijf_opmerking
|
||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_adres,null)
|
||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_postcode,null)
|
||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_plaats,null)
|
||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_land,null)
|
||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_adres,null)
|
||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_postcode,null)
|
||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_plaats,null)
|
||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_land,null)
|
||
,DECODE(v_bedrijf_type,'CREDITEUR',1,null)
|
||
,DECODE(v_bedrijf_type,'CREDITEUR',1,null)
|
||
,DECODE(v_bedrijf_type,'CREDITEUR',1,null));
|
||
|
||
SELECT max(prs_bedrijf_key)
|
||
INTO v_prs_bedrijf_key
|
||
FROM prs_bedrijf;
|
||
|
||
ELSE
|
||
|
||
IF v_mode = 'UPDATE' THEN
|
||
|
||
UPDATE prs_bedrijf
|
||
SET prs_bedrijf_naam = v_prs_bedrijf_naam
|
||
,prs_bedrijf_telefoon = v_prs_bedrijf_telefoon
|
||
,prs_bedrijf_telefoon2 = v_prs_bedrijf_telefoon2
|
||
,prs_bedrijf_fax = v_prs_bedrijf_fax
|
||
,prs_bedrijf_email = v_prs_bedrijf_email
|
||
,prs_bedrijf_opmerking = v_prs_bedrijf_opmerking
|
||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||
|
||
IF v_postadres = 'J' THEN
|
||
|
||
UPDATE prs_bedrijf
|
||
SET prs_bedrijf_post_adres = v_prs_bedrijf_post_adres
|
||
,prs_bedrijf_post_postcode = v_prs_bedrijf_post_postcode
|
||
,prs_bedrijf_post_plaats = v_prs_bedrijf_post_plaats
|
||
,prs_bedrijf_post_land = v_prs_bedrijf_post_land
|
||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||
|
||
END IF;
|
||
|
||
IF v_bezoekadres = 'J' THEN
|
||
|
||
UPDATE prs_bedrijf
|
||
SET prs_bedrijf_bezoek_adres = v_prs_bedrijf_bezoek_adres
|
||
,prs_bedrijf_bezoek_postcode = v_prs_bedrijf_bezoek_postcode
|
||
,prs_bedrijf_bezoek_plaats = v_prs_bedrijf_bezoek_plaats
|
||
,prs_bedrijf_bezoek_land = v_prs_bedrijf_bezoek_land
|
||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||
|
||
END IF;
|
||
|
||
ELSE
|
||
|
||
-- Onbekende actie
|
||
NULL;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
ELSE
|
||
|
||
-- Geen actie
|
||
NULL;
|
||
|
||
END IF;
|
||
|
||
v_store_prs_bedrijf := FAC_P_FAC_SAVE_RESTORE.ResetSelectie('PRS_BEDRIJF');
|
||
|
||
IF v_prs_bedrijf_key >= 0 THEN
|
||
v_store_prs_bedrijf := FAC_P_FAC_SAVE_RESTORE.SavePrimaryKey('PRS_BEDRIJF',v_prs_bedrijf_key);
|
||
END IF;
|
||
|
||
RETURN v_prs_bedrijf_key;
|
||
EXCEPTION WHEN OTHERS THEN
|
||
BEGIN
|
||
ORACLE_err_num := SQLCODE;
|
||
ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||
insert into conn_partners_error
|
||
(error_mes
|
||
,partner_id)
|
||
values
|
||
('(ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)'
|
||
,v_partner_id);
|
||
--commit;
|
||
RETURN 0;
|
||
END;
|
||
|
||
END;
|
||
|
||
|
||
FUNCTION verwerk_contactpersoon
|
||
( p_partner_id in number
|
||
,p_contactpersoon_id in number
|
||
,p_prs_contactpersoon_functie in varchar2
|
||
,p_prs_contactpersoon_naam in varchar2
|
||
,p_prs_contactpersoon_tussenv in varchar2
|
||
,p_prs_contactpersoon_voornaam in varchar2
|
||
,p_prs_contactpersoon_voorl in varchar2
|
||
,p_prs_contactpersoon_titel in varchar2
|
||
,p_prs_contactpersoon_aanhef in varchar2
|
||
,p_prs_contactpersoon_tel_1 in varchar2
|
||
,p_prs_contactpersoon_tel_2 in varchar2
|
||
,p_prs_contactpersoon_fax in varchar2
|
||
,p_prs_contactpersoon_email in varchar2
|
||
,p_contactpersoon in varchar2) return number
|
||
IS
|
||
v_partner_id NUMBER(15);
|
||
v_contactpersoon_id NUMBER(15);
|
||
v_prs_contactpersoon_functie prs_contactpersoon.prs_contactpersoon_functie%type;
|
||
v_prs_contactpersoon_naam prs_contactpersoon.prs_contactpersoon_naam%type;
|
||
v_prs_contactpersoon_tussenv prs_contactpersoon.prs_contactpersoon_tussenv%type;
|
||
v_prs_contactpersoon_voornaam prs_contactpersoon.prs_contactpersoon_voornaam%type;
|
||
v_prs_contactpersoon_voorl prs_contactpersoon.prs_contactpersoon_voorletters%type;
|
||
v_prs_contactpersoon_titel prs_contactpersoon.prs_contactpersoon_titel%type;
|
||
v_prs_contactpersoon_aanhef prs_contactpersoon.prs_contactpersoon_aanhef%type;
|
||
v_prs_contactpersoon_tel_1 prs_contactpersoon.prs_contactpersoon_telefoon_1%type;
|
||
v_prs_contactpersoon_tel_2 prs_contactpersoon.prs_contactpersoon_telefoon_2%type;
|
||
v_prs_contactpersoon_fax prs_contactpersoon.prs_contactpersoon_fax%type;
|
||
v_prs_contactpersoon_email prs_contactpersoon.prs_contactpersoon_email%type;
|
||
v_contactpersoon varchar2(1);
|
||
|
||
v_mode VARCHAR(10);
|
||
v_count NUMBER(10);
|
||
v_prs_contactpersoon_key prs_contactpersoon.prs_contactpersoon_key%type;
|
||
v_prs_bedrijf_key prs_bedrijf.prs_bedrijf_key%type;
|
||
|
||
ORACLE_err_num NUMBER;
|
||
ORACLE_err_mes VARCHAR2(100);
|
||
|
||
BEGIN
|
||
|
||
-- INIT
|
||
--commit;
|
||
v_prs_contactpersoon_key := 0;
|
||
|
||
v_partner_id := p_partner_id;
|
||
v_contactpersoon_id := p_contactpersoon_id;
|
||
v_prs_contactpersoon_functie := SUBSTR(p_prs_contactpersoon_functie,1,30);
|
||
v_prs_contactpersoon_naam := SUBSTR(p_prs_contactpersoon_naam,1,30);
|
||
v_prs_contactpersoon_tussenv := SUBSTR(p_prs_contactpersoon_tussenv,1,15);
|
||
v_prs_contactpersoon_voornaam := SUBSTR(p_prs_contactpersoon_voornaam,1,30);
|
||
v_prs_contactpersoon_voorl := SUBSTR(p_prs_contactpersoon_voorl,1,10);
|
||
v_prs_contactpersoon_titel := SUBSTR(p_prs_contactpersoon_titel,1,10);
|
||
v_prs_contactpersoon_aanhef := SUBSTR(p_prs_contactpersoon_aanhef,1,30);
|
||
v_prs_contactpersoon_tel_1 := SUBSTR(p_prs_contactpersoon_tel_1,1,30);
|
||
v_prs_contactpersoon_tel_2 := SUBSTR(p_prs_contactpersoon_tel_2,1,30);
|
||
v_prs_contactpersoon_fax := SUBSTR(p_prs_contactpersoon_fax,1,30);
|
||
v_prs_contactpersoon_email := SUBSTR(p_prs_contactpersoon_email,1,50);
|
||
v_contactpersoon := UPPER(SUBSTR(p_contactpersoon,1,1));
|
||
|
||
v_prs_bedrijf_key := FAC_P_FAC_SAVE_RESTORE.GetPrimaryKey('PRS_BEDRIJF',v_prs_bedrijf_key);
|
||
|
||
IF v_contactpersoon = 'J' THEN
|
||
|
||
SELECT COUNT(*)
|
||
INTO v_count
|
||
FROM PRS_CONTACTPERSOON
|
||
WHERE UPPER(trim(prs_contactpersoon_naam)) = UPPER(trim(v_prs_contactpersoon_naam))
|
||
AND UPPER(trim(prs_contactpersoon_voornaam)) = UPPER(trim(v_prs_contactpersoon_voornaam))
|
||
AND UPPER(trim(prs_contactpersoon_voorletters))= UPPER(trim(v_prs_contactpersoon_voorl));
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
|
||
INSERT INTO prs_contactpersoon
|
||
(prs_bedrijf_key
|
||
,prs_contactpersoon_functie
|
||
,prs_contactpersoon_naam
|
||
,prs_contactpersoon_tussenv
|
||
,prs_contactpersoon_voornaam
|
||
,prs_contactpersoon_voorletters
|
||
,prs_contactpersoon_titel
|
||
,prs_contactpersoon_aanhef
|
||
,prs_contactpersoon_telefoon_1
|
||
,prs_contactpersoon_telefoon_2
|
||
,prs_contactpersoon_fax
|
||
,prs_contactpersoon_email)
|
||
values
|
||
(v_prs_bedrijf_key
|
||
,v_prs_contactpersoon_functie
|
||
,v_prs_contactpersoon_naam
|
||
,v_prs_contactpersoon_tussenv
|
||
,v_prs_contactpersoon_voornaam
|
||
,v_prs_contactpersoon_voorl
|
||
,v_prs_contactpersoon_titel
|
||
,v_prs_contactpersoon_aanhef
|
||
,v_prs_contactpersoon_tel_1
|
||
,v_prs_contactpersoon_tel_2
|
||
,v_prs_contactpersoon_fax
|
||
,v_prs_contactpersoon_email);
|
||
|
||
SELECT max(prs_contactpersoon_key)
|
||
INTO v_prs_contactpersoon_key
|
||
FROM prs_contactpersoon;
|
||
|
||
ELSE
|
||
IF (v_count = 1) THEN
|
||
|
||
v_mode := 'UPDATE';
|
||
|
||
SELECT prs_contactpersoon_key
|
||
INTO v_prs_contactpersoon_key
|
||
FROM PRS_CONTACTPERSOON
|
||
WHERE UPPER(trim(prs_contactpersoon_naam)) = UPPER(trim(v_prs_contactpersoon_naam))
|
||
AND UPPER(trim(prs_contactpersoon_voornaam)) = UPPER(trim(v_prs_contactpersoon_voornaam))
|
||
AND UPPER(trim(prs_contactpersoon_voorletters)) = UPPER(trim(v_prs_contactpersoon_voorl));
|
||
|
||
UPDATE prs_contactpersoon
|
||
SET prs_bedrijf_key = v_prs_bedrijf_key
|
||
,prs_contactpersoon_functie = v_prs_contactpersoon_functie
|
||
,prs_contactpersoon_tussenv = v_prs_contactpersoon_tussenv
|
||
,prs_contactpersoon_titel = v_prs_contactpersoon_titel
|
||
,prs_contactpersoon_aanhef = v_prs_contactpersoon_aanhef
|
||
,prs_contactpersoon_telefoon_1 = v_prs_contactpersoon_tel_1
|
||
,prs_contactpersoon_telefoon_2 = v_prs_contactpersoon_tel_2
|
||
,prs_contactpersoon_fax = v_prs_contactpersoon_fax
|
||
,prs_contactpersoon_email = v_prs_contactpersoon_email
|
||
WHERE prs_contactpersoon_key = v_prs_contactpersoon_key;
|
||
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
--commit;
|
||
RETURN v_prs_contactpersoon_key;
|
||
EXCEPTION WHEN OTHERS THEN
|
||
BEGIN
|
||
ORACLE_err_num := SQLCODE;
|
||
ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||
insert into conn_contactpersonen_error
|
||
(error_mes
|
||
,partner_id
|
||
,contactpersoon_id)
|
||
values
|
||
('(ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)'
|
||
,v_partner_id
|
||
,v_contactpersoon_id);
|
||
--commit;
|
||
RETURN 0;
|
||
END;
|
||
|
||
|
||
END;
|
||
|
||
|
||
END CONN_PARTNERS;
|
||
/
|
||
|
||
|
||
COMMIT;
|
||
|
||
SPOOL OFF
|