MARX#89738 Systeemfout bij rapport 'Premium Staffelkorting'
svn path=/Mareon/trunk/; revision=69687
This commit is contained in:
234
sql/Onces/MARX89738.sql
Normal file
234
sql/Onces/MARX89738.sql
Normal file
@@ -0,0 +1,234 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Korte beschrijving wat het script doet
|
||||
-- Voor dbuser invullen: - indien script voor 1 klant is: 'MARX' (de klantcode, zoals vermeld in fac_version_cust)
|
||||
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
|
||||
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
|
||||
--
|
||||
DEFINE thisfile = 'MARX89738.SQL'
|
||||
DEFINE dbuser = '^MARX'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
|
||||
-- MARX#89738 Systeemfout bij rapport 'Premium Staffelkorting'
|
||||
CREATE OR REPLACE VIEW mar_v_basic_premium_lev
|
||||
AS
|
||||
SELECT m.mld_melding_key,
|
||||
o.mld_opdr_key,
|
||||
so.mld_statusopdr_key,
|
||||
p.prs_perslid_key,
|
||||
a.prs_afdeling_key,
|
||||
b_woco.prs_bedrijf_key
|
||||
prs_bedrijf_key_opdrachtgever,
|
||||
b_lev.prs_bedrijf_key
|
||||
prs_bedrijf_key_opdrachtnemer,
|
||||
sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||||
mld_opdr_nr,
|
||||
b_woco.prs_leverancier_nr
|
||||
opdrachtgever_gln,
|
||||
b_woco.prs_bedrijf_naam
|
||||
opdrachtgever_naam,
|
||||
o.mld_opdr_id,
|
||||
o.mld_opdr_omschrijving,
|
||||
b_lev.prs_leverancier_nr
|
||||
opdrachtnemer_gln,
|
||||
b_lev.prs_bedrijf_naam
|
||||
opdrachtnemer_naam,
|
||||
o.mld_opdr_kosten,
|
||||
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key)
|
||||
mld_opdr_aanmaak,
|
||||
o.mld_opdr_verzonden,
|
||||
o.mld_opdr_datumbegin,
|
||||
o.mld_opdr_einddatum,
|
||||
o.mld_opdr_plandatum,
|
||||
o.mld_opdr_plandatum2,
|
||||
(SELECT MAX (bb.prs_bedrijf_bedrijf_status)
|
||||
FROM prs_bedrijf_bedrijf bb
|
||||
WHERE bb.prs_bedrijf_key2 = b_lev.prs_bedrijf_key)
|
||||
prs_bedrijf_is_premium,
|
||||
DECODE ((SELECT MAX (bb.prs_bedrijf_bedrijf_status)
|
||||
FROM prs_bedrijf_bedrijf bb
|
||||
WHERE bb.prs_bedrijf_key2 = b_lev.prs_bedrijf_key),
|
||||
1, 'Ja',
|
||||
'Nee')
|
||||
prs_bedrijf_is_premium_janee,
|
||||
CASE
|
||||
WHEN bb.prs_bedrijf_bedrijf_startdatum <= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
|
||||
AND TRUNC(COALESCE (bb.prs_bedrijf_bedrijf_einddatum, o.mld_opdr_verzonden)) >= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
|
||||
THEN
|
||||
1
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
mld_opdr_is_premium,
|
||||
CASE
|
||||
WHEN bb.prs_bedrijf_bedrijf_startdt2 <= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
|
||||
AND TRUNC (COALESCE (bb.prs_bedrijf_bedrijf_einddt2, o.mld_opdr_verzonden)) >= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
|
||||
THEN
|
||||
1
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
mld_opdr_is_premium_plan,
|
||||
COALESCE (bb.prs_bedrijf_bedrijf_fee1, 0) prs_woco_premium_tarief,
|
||||
COALESCE (bb.prs_bedrijf_bedrijf_fee2, 0) prs_bedrijf_premium_tarief,
|
||||
COALESCE (bb.prs_bedrijf_bedrijf_fee3, 0) prs_woco_premiumplan_tarief,
|
||||
COALESCE (bb.prs_bedrijf_bedrijf_fee4, 0) prs_bedrijf_premiumplan_tarief,
|
||||
bb.prs_bedrijf_bedrijf_startdatum prs_bedrijf_premium_start,
|
||||
bb.prs_bedrijf_bedrijf_einddatum prs_bedrijf_premium_eind,
|
||||
bb.prs_bedrijf_bedrijf_startdt2 prs_bedrijf_premiumplan_start,
|
||||
bb.prs_bedrijf_bedrijf_einddt2 prs_bedrijf_premiumplan_eind,
|
||||
(SELECT fac.safe_to_number (prs_kenmerklink_waarde)
|
||||
FROM prs_kenmerklink
|
||||
WHERE prs_kenmerk_key = 61
|
||||
AND prs_kenmerklink_niveau = 'B'
|
||||
AND prs_link_key = b_lev.prs_bedrijf_key) planbord_auth_code
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline d,
|
||||
ins_srtdiscipline sd,
|
||||
prs_bedrijf b_woco,
|
||||
prs_afdeling a,
|
||||
prs_perslid p,
|
||||
mld_opdr o,
|
||||
mld_statusopdr so,
|
||||
prs_bedrijf b_lev,
|
||||
prs_bedrijf_bedrijf bb
|
||||
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
||||
AND d.ins_discipline_key = sm.mld_ins_discipline_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND m.prs_perslid_key = p.prs_perslid_key
|
||||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND b_woco.prs_bedrijf_key = a.prs_bedrijf_key
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND so.mld_statusopdr_key = o.mld_statusopdr_key
|
||||
AND o.mld_uitvoerende_keys = b_lev.prs_bedrijf_key
|
||||
AND bb.prs_bedrijf_key1 = b_woco.prs_bedrijf_key
|
||||
AND bb.prs_bedrijf_key2 = b_lev.prs_bedrijf_key;
|
||||
|
||||
CREATE OR REPLACE VIEW mar_v_tmp_premium_staffelkorting
|
||||
AS
|
||||
SELECT mld_melding_key,
|
||||
mld_opdr_key,
|
||||
mld_statusopdr_key,
|
||||
prs_perslid_key,
|
||||
prs_afdeling_key,
|
||||
prs_bedrijf_key_opdrachtgever,
|
||||
prs_bedrijf_key_opdrachtnemer,
|
||||
mld_opdr_nr,
|
||||
opdrachtgever_gln,
|
||||
opdrachtgever_naam,
|
||||
mld_opdr_id,
|
||||
mld_opdr_omschrijving,
|
||||
opdrachtnemer_gln,
|
||||
opdrachtnemer_naam,
|
||||
mld_opdr_kosten,
|
||||
mld_opdr_aanmaak,
|
||||
mld_opdr_verzonden,
|
||||
mld_opdr_datumbegin,
|
||||
mld_opdr_einddatum,
|
||||
mld_opdr_plandatum,
|
||||
mld_opdr_plandatum2,
|
||||
prs_bedrijf_is_premium,
|
||||
prs_bedrijf_is_premium_janee,
|
||||
mld_opdr_is_premium,
|
||||
mld_opdr_is_premium_plan,
|
||||
prs_woco_premium_tarief,
|
||||
prs_bedrijf_premium_tarief,
|
||||
prs_woco_premiumplan_tarief,
|
||||
prs_bedrijf_premiumplan_tarief,
|
||||
prs_bedrijf_premium_start,
|
||||
prs_bedrijf_premium_eind,
|
||||
prs_bedrijf_premiumplan_start,
|
||||
prs_bedrijf_premiumplan_eind,
|
||||
planbord_auth_code,
|
||||
prs_bedrijf_premium_tarief * mld_opdr_is_premium mld_opdr_is_premium_bedrag,
|
||||
prs_woco_premium_tarief * mld_opdr_is_premium mld_opdr_woco_premium_bedrag,
|
||||
prs_bedrijf_premiumplan_tarief * mld_opdr_is_premium_plan mld_opdr_premiumplan_bedrag,
|
||||
prs_woco_premiumplan_tarief * mld_opdr_is_premium_plan mld_woco_premiumplan_bedrag,
|
||||
CASE
|
||||
WHEN planbord_auth_code IN (1,2) THEN (SELECT fac.safe_to_number (fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 25)
|
||||
ELSE 0
|
||||
END prs_bedrijf_planbord_tarief,
|
||||
CASE
|
||||
WHEN planbord_auth_code = 2 AND prs_bedrijf_premiumplan_tarief > 0 THEN 'Mareon Planbord + Premium Planning + Groene Planning'
|
||||
WHEN planbord_auth_code = 1 AND prs_bedrijf_premiumplan_tarief > 0 THEN 'Mareon Planbord + Premium Planning'
|
||||
WHEN planbord_auth_code = 0 AND prs_bedrijf_premiumplan_tarief > 0 THEN 'Mareon Premium Planning'
|
||||
WHEN planbord_auth_code = 2 THEN 'Mareon Planbord + Groene Planning'
|
||||
WHEN planbord_auth_code = 1 THEN 'Mareon Planbord'
|
||||
ELSE ''
|
||||
END prs_bedrijf_planmodules
|
||||
FROM mar_v_basic_premium_lev;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW mar_v_premium_staffelkorting
|
||||
AS
|
||||
SELECT opdrachtnemer_gln,
|
||||
opdrachtnemer_naam,
|
||||
TO_CHAR (mld_opdr_aanmaak, 'YYYY-Q')
|
||||
AS mld_opdr_aanmaak_kwartaal,
|
||||
SUM (mld_opdr_is_premium)
|
||||
AS mld_opdr_aantal_premium,
|
||||
prs_woco_premium_tarief,
|
||||
prs_bedrijf_premium_tarief,
|
||||
SUM (mld_opdr_is_premium_bedrag)
|
||||
AS mld_premium_bedrag_excl_kort,
|
||||
prs_bedrijf_is_premium_janee,
|
||||
GREATEST (0, LEAST (2500 - 1000, SUM (mld_opdr_is_premium) - 1000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 32))
|
||||
AS mld_korting_staffel1000_2500,
|
||||
GREATEST (0, LEAST (5000 - 2500, SUM (mld_opdr_is_premium) - 2500)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 33))
|
||||
AS mld_korting_staffel2500_5000,
|
||||
GREATEST (0, LEAST (10000 - 5000, SUM (mld_opdr_is_premium) - 5000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 34))
|
||||
AS mld_korting_staffel5000_10000,
|
||||
GREATEST (0, LEAST (50000 - 10000, SUM (mld_opdr_is_premium) - 10000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 35))
|
||||
AS mld_korting_staffel10000_50000,
|
||||
GREATEST (0, SUM (mld_opdr_is_premium) - 50000) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 36))
|
||||
AS mld_korting_staffel_50000plus,
|
||||
(GREATEST (0, LEAST (2500 - 1000, SUM (mld_opdr_is_premium) - 1000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 32)))
|
||||
+ (GREATEST (0, LEAST (5000 - 2500, SUM (mld_opdr_is_premium) - 2500)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 33)))
|
||||
+ (GREATEST (0, LEAST (10000 - 5000, SUM (mld_opdr_is_premium) - 5000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 34)))
|
||||
+ (GREATEST (0, LEAST (50000 - 10000, SUM (mld_opdr_is_premium) - 10000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 35)))
|
||||
+ (GREATEST (0, SUM (mld_opdr_is_premium) - 50000) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 36)))
|
||||
AS mld_korting_totaal,
|
||||
SUM (mld_opdr_is_premium_bedrag)
|
||||
- ( (GREATEST (0, LEAST (2500 - 1000, SUM (mld_opdr_is_premium) - 1000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 32)))
|
||||
+ (GREATEST (0, LEAST (5000 - 2500, SUM (mld_opdr_is_premium) - 2500)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 33)))
|
||||
+ (GREATEST (0, LEAST (10000 - 5000, SUM (mld_opdr_is_premium) - 5000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 34)))
|
||||
+ (GREATEST (0, LEAST (50000 - 10000, SUM (mld_opdr_is_premium) - 10000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 35)))
|
||||
+ (GREATEST (0, SUM (mld_opdr_is_premium) - 50000) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 36))))
|
||||
AS mld_premium_bedrag_incl_kort
|
||||
FROM mar_v_tmp_premium_staffelkorting prem
|
||||
WHERE prem.prs_woco_premium_tarief = 0 AND prem.prs_bedrijf_is_premium = 1
|
||||
GROUP BY opdrachtnemer_gln,
|
||||
opdrachtnemer_naam,
|
||||
TO_CHAR (mld_opdr_aanmaak, 'YYYY-Q'),
|
||||
prs_woco_premium_tarief,
|
||||
prs_bedrijf_premium_tarief,
|
||||
prs_bedrijf_is_premium_janee;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user