FSN#53893 SROZ0/Afas-koppeling(en)
svn path=/Customer/trunk/; revision=39229
This commit is contained in:
687
SROZ/sroz.sql
Normal file
687
SROZ/sroz.sql
Normal file
@@ -0,0 +1,687 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Script containing customer specific db-configuration for SROZ.
|
||||
DEFINE thisfile = 'SROZ.SQL'
|
||||
DEFINE dbuser = '^SROZ'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SPOOL &fcltlogfile
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
CREATE OR REPLACE VIEW sroz_v_rap_import_log
|
||||
(
|
||||
fclt_f_applicatie,
|
||||
datum,
|
||||
fclt_f_status,
|
||||
omschrijving,
|
||||
hint
|
||||
)
|
||||
AS
|
||||
SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
|
||||
TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'),
|
||||
imp_log_status,
|
||||
imp_log_omschrijving,
|
||||
imp_log_hint
|
||||
FROM imp_log il1, fac_import fi1, fac_import_app fia1
|
||||
WHERE il1.fac_import_key = fi1.fac_import_key(+)
|
||||
AND fi1.fac_import_app_key = fia1.fac_import_app_key(+)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM imp_log il2, fac_import fi2
|
||||
WHERE il2.fac_import_key = fi2.fac_import_key
|
||||
AND fi2.fac_import_app_key = fi1.fac_import_app_key
|
||||
AND il2.fac_import_key > il1.fac_import_key);
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sroz_import_prs (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_errormsg VARCHAR2 (1000) := '-';
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
-- Generieke import.
|
||||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
||||
--'%"Personeelsnummer";"Loginnaam";"Achternaam";"Tussenvoegsel";"Voorletters";"Voornaam";"Afdelingscode";"Functie";"Email";"Telefoonnr";"Mobiel";"Gebouwcode"%');
|
||||
--'%Personeelsnummer;Loginnaam;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Afdelingscode;Functie;Email;Telefoonnr;Mobiel;Gebouwcode%');
|
||||
prs.import_perslid (
|
||||
p_import_key,
|
||||
'0;0;0;0;0;0;7;3;4;6;'
|
||||
|| '5;0;0;0;0;10;11;9;0;1;'
|
||||
|| '8;2;0;0;0;0;12;0;0;0;'
|
||||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||||
|| '0;0;0;0;0;0',
|
||||
'%"Personeelsnummer";"Loginnaam";"Achternaam";"Tussenvoegsel";"Voorletters";"Voornaam";"Afdelingscode";"Functie";"Email";"Telefoonnr";"Mobiel";"Gebouwcode"%');
|
||||
|
||||
-- Klantspecifieke aanpassingen.
|
||||
-- Als geen Loginnaam aangeleverd, dan handmatig toegekende niet wissen.
|
||||
UPDATE fac_imp_perslid i
|
||||
SET i.prs_perslid_oslogin =
|
||||
(SELECT MAX (prs_perslid_oslogin)
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_nr = i.prs_perslid_nr)
|
||||
WHERE i.prs_perslid_oslogin IS NULL -- Aangeleverde Loginnaam wint!
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_oslogin IS NOT NULL
|
||||
AND prs_perslid_nr = i.prs_perslid_nr);
|
||||
COMMIT;
|
||||
|
||||
-- Ontvangen Functie negeren en - voorlopig? - altijd op 'Onbekend'!
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_srtperslid_omschrijving = 'Onbekend';
|
||||
|
||||
-- Als geen Email aangeleverd, dan handmatig toegekende niet wissen.
|
||||
UPDATE fac_imp_perslid i
|
||||
SET i.prs_perslid_email =
|
||||
(SELECT MAX (prs_perslid_email)
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_nr = i.prs_perslid_nr)
|
||||
WHERE i.prs_perslid_email IS NULL -- Aangeleverde Email wint!
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_email IS NOT NULL
|
||||
AND prs_perslid_nr = i.prs_perslid_nr);
|
||||
COMMIT;
|
||||
|
||||
-- Als Gebouwcode niet aangeleverd, dan krijgen medewerkers - zover mogelijk - een WP
|
||||
-- in het 'RZT'-gebouw (zie hieronder)!
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk1 = 'RZT'
|
||||
WHERE prs_kenmerk1 IS NULL;
|
||||
COMMIT;
|
||||
|
||||
-- Locatie/Gebouw/Verdieping/Ruimte bepalen via Kenmerk1-kolom -> Gebouw en daaronder
|
||||
-- Ruimte '_000' op de verdieping met het laagste volgnummer!
|
||||
-- Als persoon al een WP heeft op import-locatie, dan is dat de juiste en blijft deze
|
||||
-- (handmatig gecorrigeerde WP) ongewijzigd. In alle andere gevallen verhuist persoon
|
||||
-- naar Ruimte '_000' op de meegegeven locatie.
|
||||
-- Eventuele WPs onder andere locaties dan import-locatie blijven ook ongewijzigd!
|
||||
UPDATE fac_imp_perslid i
|
||||
SET i.alg_locatie_code =
|
||||
(SELECT il.alg_locatie_code
|
||||
FROM alg_v_aanweziggebouw ig, alg_locatie il
|
||||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND alg_locatie_key < il.alg_locatie_key)),
|
||||
i.alg_gebouw_code =
|
||||
(SELECT ig.alg_gebouw_code
|
||||
FROM alg_v_aanweziggebouw ig, alg_locatie il
|
||||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND alg_locatie_key < il.alg_locatie_key)),
|
||||
i.alg_verdieping_volgnr =
|
||||
(SELECT iv.alg_verdieping_volgnr
|
||||
FROM alg_v_aanweziggebouw ig, alg_locatie il, alg_verdieping iv, alg_ruimte ir
|
||||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND alg_locatie_key < il.alg_locatie_key)
|
||||
AND ig.alg_gebouw_key = iv.alg_gebouw_key
|
||||
AND iv.alg_verdieping_key = ir.alg_verdieping_key
|
||||
AND ir.alg_ruimte_nr = '_000'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||||
WHERE r.alg_ruimte_nr = '_000'
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = iv.alg_gebouw_key
|
||||
AND v.alg_verdieping_volgnr < iv.alg_verdieping_volgnr)),
|
||||
i.alg_ruimte_nr =
|
||||
(SELECT ir.alg_ruimte_nr
|
||||
FROM alg_v_aanweziggebouw ig, alg_locatie il, alg_verdieping iv, alg_ruimte ir
|
||||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND alg_locatie_key < il.alg_locatie_key)
|
||||
AND ig.alg_gebouw_key = iv.alg_gebouw_key
|
||||
AND iv.alg_verdieping_key = ir.alg_verdieping_key
|
||||
AND ir.alg_ruimte_nr = '_000'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||||
WHERE r.alg_ruimte_nr = '_000'
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = iv.alg_gebouw_key
|
||||
AND v.alg_verdieping_volgnr < iv.alg_verdieping_volgnr))
|
||||
WHERE NOT EXISTS -- Nog geen werkplek op Locatie!
|
||||
(SELECT 1
|
||||
FROM alg_v_aanweziggebouw ig,
|
||||
alg_locatie il,
|
||||
prs_v_aanwezigperslid p,
|
||||
prs_perslidwerkplek pw,
|
||||
prs_werkplek cw,
|
||||
alg_v_aanwezigruimte cr,
|
||||
alg_verdieping cv,
|
||||
alg_gebouw cg,
|
||||
alg_locatie cl
|
||||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||||
AND alg_locatie_key < il.alg_locatie_key)
|
||||
AND p.prs_perslid_oslogin = i.prs_perslid_nr
|
||||
AND p.prs_perslid_key = pw.prs_perslid_key
|
||||
AND pw.prs_werkplek_key = cw.prs_werkplek_key
|
||||
AND cw.prs_alg_ruimte_key = cr.alg_ruimte_key
|
||||
AND cr.alg_verdieping_key = cv.alg_verdieping_key
|
||||
AND cv.alg_gebouw_key = cg.alg_gebouw_key
|
||||
AND cg.alg_locatie_key = il.alg_locatie_key);
|
||||
COMMIT;
|
||||
|
||||
-- Resulteert in nette foutmelding als ruimte niet kan worden bepaald.
|
||||
UPDATE fac_imp_perslid
|
||||
SET alg_verdieping_volgnr = 0
|
||||
WHERE alg_gebouw_code IS NOT NULL
|
||||
AND alg_verdieping_volgnr IS NULL;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Inleesproces personen afgebroken!');
|
||||
END sroz_import_prs;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sroz_update_prs (p_import_key IN NUMBER)
|
||||
AS
|
||||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers (met
|
||||
-- een personeelsnummer).
|
||||
c_max_delta_percentage NUMBER (10) := 25; -- 25%!
|
||||
v_count_prs_import NUMBER (10); -- #actieve personen na import!
|
||||
v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
|
||||
|
||||
-- Mandateren personen met >1 dienstverband, namelijk voor kostenplaats(en)
|
||||
-- van de andere dan de eigen afdeling!
|
||||
/*
|
||||
CURSOR c_mandate
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, a.prs_kostenplaats_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND UPPER (p.prs_perslid_nr) = UPPER (i.prs_perslid_nr)
|
||||
AND a.prs_afdeling_upper != UPPER (i.prs_perslid_naam)
|
||||
ORDER BY 2;
|
||||
*/
|
||||
|
||||
-- Verwijderen personen niet in import!
|
||||
/*
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE p.prs_perslid_nr IS NOT NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_imp_perslid
|
||||
WHERE UPPER (prs_perslid_nr) = UPPER (p.prs_perslid_nr))
|
||||
ORDER BY 2;
|
||||
*/
|
||||
BEGIN
|
||||
-- Bepaal aantal actieve personen in FACILITOR na import!
|
||||
SELECT COUNT (DISTINCT prs_perslid_nr)
|
||||
INTO v_count_prs_import
|
||||
FROM fac_imp_perslid
|
||||
WHERE prs_perslid_nr IS NOT NULL;
|
||||
|
||||
-- Bepaal aantal actieve personen in FACILITOR voor import!
|
||||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||||
INTO v_count_prs_actual
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_nr IS NOT NULL;
|
||||
|
||||
IF (TRUNC ( (v_count_prs_import / v_count_prs_actual) * 100) < (100 - c_max_delta_percentage))
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key, 'E',
|
||||
'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!',
|
||||
'- max. verschilpercentage = [' || TO_CHAR (c_max_delta_percentage) || '%]'
|
||||
|| CHR (13) || CHR (10)
|
||||
|| '- #personen/import = [' || TO_CHAR (v_count_prs_import) || ']'
|
||||
|| CHR (13) || CHR (10)
|
||||
|| '- #personen/huidig = [' || TO_CHAR (v_count_prs_actual) || ']');
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
-- Generieke update (op personeelsnummer).
|
||||
prs.update_perslid (p_import_key, 'NR', 'D');
|
||||
|
||||
-- Verwijder personen die niet meer in de import voorkomen.
|
||||
--FOR rec IN c_del
|
||||
--LOOP
|
||||
-- prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
--END LOOP;
|
||||
END sroz_update_prs;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW sroz_v_export_afas
|
||||
(
|
||||
administratie,
|
||||
code_dagboek,
|
||||
kenmerk_rekening,
|
||||
rekeningnummer,
|
||||
datum_boeking,
|
||||
boekstukdatum,
|
||||
boekstuknummer,
|
||||
factuurnummer,
|
||||
omschrijving_boeking,
|
||||
bedrag,
|
||||
btw_code,
|
||||
aantal,
|
||||
valutacode,
|
||||
koers,
|
||||
valutabedrag,
|
||||
boekingsoort,
|
||||
vervaldatum,
|
||||
blokkeren_voor_betaling,
|
||||
nummer_reservering,
|
||||
nummer_verplichting,
|
||||
automatisch_betalen_incasso, -- automatisch betalen/incasso
|
||||
campagne,
|
||||
jaar,
|
||||
periode,
|
||||
afboeken, -- afboeken (res./verpl)
|
||||
bankafschrift_id,
|
||||
nr_bankafschriftmutatie, -- nr. bankafschriftmutatie
|
||||
betalingskenmerk,
|
||||
beoordelaar,
|
||||
batchnummer,
|
||||
terugbetalen,
|
||||
transitorische_post,
|
||||
nr_journaalpost_bron_tp, -- nr. journaalpost bron transitorische post
|
||||
volgnummer_bron_tp, -- volgnumer bron transitorische post
|
||||
actief,
|
||||
salarisverwerkingsplan,
|
||||
betalingsvoorwaarde,
|
||||
afwijkende_betaalrekening,
|
||||
dossieritem,
|
||||
nummer_bestand,
|
||||
verkoopordernummer,
|
||||
afletterreferentie,
|
||||
docid,
|
||||
kostenplaats,
|
||||
kostendrager,
|
||||
code_verbijzonderingsas_3,
|
||||
code_verbijzonderingsas_4,
|
||||
code_verbijzonderingsas_5,
|
||||
journaalpostid, -- journaalpostid (optioneel)
|
||||
afwijkende_betaalrekening2 -- afwijkende_betaalrekening
|
||||
)
|
||||
AS
|
||||
SELECT '?' administratie,
|
||||
'?' code_dagboek,
|
||||
'?' kenmerk_rekening,
|
||||
'?' rekeningnummer,
|
||||
TO_CHAR (LAST_DAY (ADD_MONTHS (SYSDATE, -1)), 'dd-mm-yyyy')
|
||||
datum_boeking,
|
||||
TO_CHAR (LAST_DAY (ADD_MONTHS (SYSDATE, -1)), 'dd-mm-yyyy')
|
||||
boekstukdatum,
|
||||
NULL boekstuknummer,
|
||||
NULL factuurnummer,
|
||||
'Huur '
|
||||
|| TO_CHAR (LAST_DAY (ADD_MONTHS (SYSDATE, -1)), 'yyyy-mm')
|
||||
|| ' '
|
||||
|| l.alg_locatie_omschrijving
|
||||
omschrijving_boeking,
|
||||
999 bedrag,
|
||||
NULL btw_code,
|
||||
1 aantal,
|
||||
NULL valutacode,
|
||||
NULL koers,
|
||||
999 valutabedrag,
|
||||
NULL boekingsoort,
|
||||
NULL vervaldatum,
|
||||
'N' blokkeren_voor_betaling,
|
||||
NULL nummer_reservering,
|
||||
NULL nummer_verplichting,
|
||||
'N' automatisch_betalen_incasso, -- automatisch betalen/incasso
|
||||
NULL campagne,
|
||||
NULL jaar,
|
||||
NULL periode,
|
||||
'N' afboeken, -- afboeken (res./verpl)
|
||||
NULL bankafschrift_id,
|
||||
NULL nr_bankafschriftmutatie, -- nr. bankafschriftmutatie
|
||||
NULL betalingskenmerk,
|
||||
NULL beoordelaar,
|
||||
NULL batchnummer,
|
||||
'N' terugbetalen,
|
||||
'N' transitorische_post,
|
||||
NULL nr_journaalpost_bron_tp, -- nr. journaalpost bron transitorische post
|
||||
NULL volgnummer_bron_tp, -- volgnumer bron transitorische post
|
||||
NULL actief,
|
||||
NULL salarisverwerkingsplan,
|
||||
NULL betalingsvoorwaarde,
|
||||
NULL afwijkende_betaalrekening,
|
||||
NULL dossieritem,
|
||||
NULL nummer_bestand,
|
||||
NULL verkoopordernummer,
|
||||
NULL afletterreferentie,
|
||||
NULL docid,
|
||||
l.alg_locatie_code kostenplaats,
|
||||
NULL kostendrager,
|
||||
NULL code_verbijzonderingsas_3,
|
||||
NULL code_verbijzonderingsas_4,
|
||||
NULL code_verbijzonderingsas_5,
|
||||
NULL journaalpostid, -- journaalpostid (optioneel)
|
||||
NULL afwijkende_betaalrekening2 -- afwijkende_betaalrekening
|
||||
FROM (SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd')
|
||||
|| SUBSTR ('000' || TO_CHAR (res_reservering_key), -9)
|
||||
|| 'R0'
|
||||
sortering,
|
||||
rrr.res_rsv_ruimte_key,
|
||||
NULL res_rsv_artikel_key,
|
||||
NULL res_rsv_deel_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rrr.res_rsv_ruimte_van reslev,
|
||||
rrr.res_status_bo_key,
|
||||
rrr.res_rsv_ruimte_ordernr,
|
||||
DECODE (
|
||||
vht.res_kenmerkreservering_waarde, -- 841=Sociaal/842=Commercieel
|
||||
'841',
|
||||
rrr.res_rsv_ruimte_prijs,
|
||||
( 24
|
||||
* (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)
|
||||
* rr.res_ruimte_prijs_dag))
|
||||
verw_prijs,
|
||||
DECODE (
|
||||
vht.res_kenmerkreservering_waarde, -- 841=Sociaal/842=Commercieel
|
||||
'841',
|
||||
res.getruimteprijs (rrr.res_rsv_ruimte_key),
|
||||
( 24
|
||||
* (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)
|
||||
* rr.res_ruimte_prijs_dag))
|
||||
prijs,
|
||||
fac.safe_to_number (rr.res_ruimte_groep) btw,
|
||||
'83362' ecl_lang,
|
||||
'Ruimte' regel_omschrijving,
|
||||
rr.res_ruimte_nr regel_aanvulling,
|
||||
rel.res_kenmerkreservering_waarde rel,
|
||||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key)
|
||||
alg_ruimte_key
|
||||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||||
res_ruimte_opstelling rro,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY res_ruimte_key) rar1,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||||
GROUP BY res_ruimte_key) rar2,
|
||||
res_ruimte rr,
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 181) vht, -- Verhuur tarief
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 182) rel -- Relatie
|
||||
WHERE rrr.res_activiteit_key IN (302) -- BBS Extern (g<><67>n 322=BBS Uitleen Extern)!
|
||||
AND rrr.res_rsv_ruimte_tot < SYSDATE -- Niet in toekomst!
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||||
AND rrr.res_rsv_ruimte_key = vht.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = rel.res_rsv_ruimte_key(+)
|
||||
UNION ALL -- Korting
|
||||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd')
|
||||
|| SUBSTR ('000' || TO_CHAR (res_reservering_key), -9)
|
||||
|| 'R1'
|
||||
sortering,
|
||||
rrr.res_rsv_ruimte_key,
|
||||
NULL res_rsv_artikel_key,
|
||||
NULL res_rsv_deel_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rrr.res_rsv_ruimte_van reslev,
|
||||
rrr.res_status_bo_key,
|
||||
rrr.res_rsv_ruimte_ordernr,
|
||||
-1 * rrr.res_rsv_ruimte_korting verw_prijs,
|
||||
-1 * rrr.res_rsv_ruimte_korting prijs,
|
||||
fac.safe_to_number (rr.res_ruimte_groep) btw,
|
||||
'83362' ecl_lang,
|
||||
'Ruimte' regel_omschrijving,
|
||||
'Korting' regel_aanvulling,
|
||||
rel.res_kenmerkreservering_waarde rel,
|
||||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key)
|
||||
alg_ruimte_key
|
||||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||||
res_ruimte_opstelling rro,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY res_ruimte_key) rar1,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||||
GROUP BY res_ruimte_key) rar2,
|
||||
res_ruimte rr,
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 182) rel -- Relatie
|
||||
WHERE rrr.res_activiteit_key IN (302) -- BBS Extern (g<><67>n 322=BBS Uitleen Extern)!
|
||||
AND rrr.res_rsv_ruimte_tot < SYSDATE -- Niet in toekomst!
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||||
AND COALESCE (rrr.res_rsv_ruimte_korting, 0) != 0
|
||||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||||
AND rrr.res_rsv_ruimte_key = rel.res_rsv_ruimte_key(+)
|
||||
UNION ALL -- Verbruik=Verbruiksartikelen
|
||||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd')
|
||||
|| SUBSTR ('000' || TO_CHAR (res_reservering_key), -9)
|
||||
|| 'V'
|
||||
|| TO_CHAR (ra.res_discipline_key)
|
||||
|| SUBSTR (
|
||||
'000'
|
||||
|| TO_CHAR (COALESCE (ra.res_artikel_volgnummer, 0)),
|
||||
-3)
|
||||
sortering,
|
||||
rrr.res_rsv_ruimte_key,
|
||||
rra.res_rsv_artikel_key,
|
||||
NULL res_rsv_deel_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rra.res_rsv_artikel_levering reslev,
|
||||
rra.res_status_bo_key,
|
||||
rrr.res_rsv_ruimte_ordernr,
|
||||
rra.res_rsv_artikel_prijs verw_prijs,
|
||||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs prijs,
|
||||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw) btw,
|
||||
DECODE (ra.res_artikel_key,
|
||||
943, '83362', -- Schoonmaakkosten
|
||||
944, '83362', -- Annuleringskosten
|
||||
'83402')
|
||||
ecl_lang,
|
||||
DECODE (ra.res_artikel_key,
|
||||
943, 'Ruimte', -- Schoonmaakkosten
|
||||
944, 'Ruimte', -- Annuleringskosten
|
||||
'Verbruik')
|
||||
regel_omschrijving,
|
||||
ra.res_artikel_omschrijving regel_aanvulling,
|
||||
rel.res_kenmerkreservering_waarde rel,
|
||||
COALESCE (rar1.alg_ruimte_key,
|
||||
rar2.alg_ruimte_key,
|
||||
rrr.alg_ruimte_key)
|
||||
alg_ruimte_key
|
||||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||||
res_ruimte_opstelling rro,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY res_ruimte_key) rar1,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||||
GROUP BY res_ruimte_key) rar2,
|
||||
res_ruimte rr,
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 181) vht, -- Verhuur tarief
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 182) rel, -- Relatie
|
||||
res_v_aanwezigrsv_artikel rra,
|
||||
res_artikel ra
|
||||
WHERE rrr.res_activiteit_key IN (302, 322) -- BBS Extern/BBS Uitleen Extern!
|
||||
AND rrr.res_rsv_ruimte_tot < SYSDATE -- Niet in toekomst!
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = vht.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = rel.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||||
AND rra.res_rsv_artikel_levering < SYSDATE -- Niet in toekomst!
|
||||
AND rra.res_rsv_artikel_dirtlevel = 0 -- Niet dirty!
|
||||
AND rra.res_artikel_key = ra.res_artikel_key
|
||||
UNION ALL -- Overig=Voorzieningen
|
||||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd')
|
||||
|| SUBSTR ('000' || TO_CHAR (res_reservering_key), -9)
|
||||
|| 'X'
|
||||
|| TO_CHAR (rd.res_discipline_key)
|
||||
|| SUBSTR (rd.res_deel_omschrijving, 1, 3)
|
||||
sortering,
|
||||
rrr.res_rsv_ruimte_key,
|
||||
NULL res_rsv_artikel_key,
|
||||
rrd.res_rsv_deel_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rrd.res_rsv_deel_van reslev,
|
||||
rrd.res_status_bo_key,
|
||||
rrr.res_rsv_ruimte_ordernr,
|
||||
rrd.res_rsv_deel_prijs verw_prijs,
|
||||
24
|
||||
* (rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van)
|
||||
* rd.res_deel_prijs
|
||||
prijs,
|
||||
21 btw, -- Hard 21%
|
||||
'82980' ecl_lang,
|
||||
'Overig'
|
||||
|| DECODE (rrr.res_activiteit_key, 302, '', '/Uitleen')
|
||||
regel_omschrijving,
|
||||
rd.res_deel_omschrijving regel_aanvulling,
|
||||
rel.res_kenmerkreservering_waarde rel,
|
||||
COALESCE (rar1.alg_ruimte_key,
|
||||
rar2.alg_ruimte_key,
|
||||
rrr.alg_ruimte_key)
|
||||
alg_ruimte_key
|
||||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||||
res_ruimte_opstelling rro,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY res_ruimte_key) rar1,
|
||||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||||
GROUP BY res_ruimte_key) rar2,
|
||||
res_ruimte rr,
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 181) vht, -- Verhuur tarief
|
||||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_srtkenmerk_key = 182) rel, -- Relatie
|
||||
res_v_aanwezigrsv_deel rrd,
|
||||
res_deel rd
|
||||
WHERE rrr.res_activiteit_key IN (302, 322) -- BBS Extern/BBS Uitleen Extern!
|
||||
AND rrr.res_rsv_ruimte_tot < SYSDATE -- Niet in toekomst!
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = vht.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = rel.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||||
AND rrd.res_rsv_deel_tot < SYSDATE -- Niet in toekomst!
|
||||
AND rrd.res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||||
AND rrd.res_deel_key = rd.res_deel_key) x
|
||||
LEFT JOIN res_v_aanwezigkenmerkwaarde rel
|
||||
ON x.res_rsv_ruimte_key = rel.res_rsv_ruimte_key
|
||||
AND rel.res_kenmerk_key = 182 -- Relatie
|
||||
LEFT JOIN prs_v_aanwezigkenmerklink deb
|
||||
ON rel.res_kenmerkreservering_waarde = TO_CHAR (deb.prs_link_key)
|
||||
AND deb.prs_kenmerk_key = 1020 -- Deb.nr. K2F
|
||||
LEFT JOIN prs_v_aanwezigkenmerklink idb
|
||||
ON rel.res_kenmerkreservering_waarde = TO_CHAR (idb.prs_link_key)
|
||||
AND idb.prs_kenmerk_key = 1021 -- Interne debiteur
|
||||
LEFT JOIN prs_v_aanwezigkenmerklink ngt
|
||||
ON rel.res_kenmerkreservering_waarde = TO_CHAR (ngt.prs_link_key)
|
||||
AND ngt.prs_kenmerk_key = 1040 -- Notagebonden tekst
|
||||
LEFT JOIN alg_v_allonroerendgoed aog
|
||||
ON x.alg_ruimte_key = aog.alg_ruimte_key
|
||||
LEFT JOIN alg_locatie l
|
||||
ON aog.alg_locatie_key = l.alg_locatie_key
|
||||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk fcl
|
||||
ON l.alg_locatie_key = fcl.alg_onrgoed_key
|
||||
AND fcl.alg_kenmerk_key = 1020 -- FCL
|
||||
;
|
||||
|
||||
-- Domein met alle huurders (debiteuren).
|
||||
CREATE OR REPLACE VIEW sroz_v_huurders
|
||||
(
|
||||
prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
prs_bedrijf_verwijder
|
||||
)
|
||||
AS
|
||||
SELECT prs_bedrijf_key, prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']', prs_bedrijf_verwijder
|
||||
FROM (SELECT *
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_huurder = 1) x
|
||||
LEFT JOIN
|
||||
prs_v_aanwezigkenmerklink deb
|
||||
ON x.prs_bedrijf_key = deb.prs_link_key
|
||||
AND deb.prs_kenmerk_key = -1 -- Deb.nr.?
|
||||
;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user