Files
Customer/ALLV/allv.sql
Maarten van der Heide 58d5331cfd ALLV#23264 Uitbreiding, Navision koppeling, factuurscanning
svn path=/Customer/trunk/; revision=16566
2013-01-17 16:52:16 +00:00

858 lines
41 KiB
SQL

-- Script containing customer specific configuration sql statements for ALLV: Allévo/Allité.
-- (c) 2007 Dijkoraad IT bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700
spool xallv.lst
set echo on
/* Formatted on 16-3-2010 10:44:04 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW allv_v_reserveringdetails
(
fclt_f_locatie,
hide_f_sort_datum_tijd,
hide_f_sort_ruimte,
hide_f_sort_resnr,
hide_f_sort_categorie,
fclt_f_datum,
resnr,
aantal,
ruimte,
van,
tot,
voorzieningen,
omschrijving,
opmerking
)
AS
SELECT l.alg_locatie_code locatie,
TO_CHAR (res_geg.res_reservering_van, 'YYYY-MM-DD HH24:MI')
sort_datum_tijd,
COALESCE (opstelalg.res_ruimte_nr,
ruimte_geg.alg_ruimte_aanduiding)
sort_ruimte,
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
sort_resnr,
res_geg.res_type sort_categorie,
TO_CHAR (res_geg.res_reservering_van, 'DD-MM-YYYY') datum,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
rrr.res_reservering_key
|| '/'
|| rrr.res_rsv_ruimte_volgnr
END)
resnr,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
TO_CHAR (rrr.res_rsv_ruimte_bezoekers)
END)
aantal,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
COALESCE (opstelalg.res_ruimte_nr,
ruimte_geg.alg_ruimte_aanduiding)
END)
ruimte,
TO_CHAR (res_geg.res_reservering_van, 'HH24:MI') van,
TO_CHAR (res_geg.res_reservering_tot, 'HH24:MI') tot,
(CASE
WHEN res_geg.aantal IS NOT NULL
THEN
TO_CHAR (res_geg.aantal)
|| ' * '
|| res_geg.res_voorziening
ELSE
res_geg.res_voorziening
END)
voorzieningen,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
res_rsv_ruimte_omschrijving
END)
omschrijving,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
res_rsv_ruimte_opmerking
END)
opmerking
FROM (SELECT '1R' AS res_type,
rrr.res_rsv_ruimte_key,
rro.res_ruimte_key,
rrr.res_rsv_ruimte_key AS res_item_key,
rrr.res_rsv_ruimte_van AS res_reservering_van,
rrr.res_rsv_ruimte_tot AS res_reservering_tot,
TO_NUMBER (NULL) AS aantal,
ro.res_opstelling_omschrijving AS res_voorziening,
rr.res_discipline_key AS res_ins_discipline_key,
rrr.res_status_bo_key,
TO_NUMBER (NULL) AS res_artikel_key,
rrr.res_rsv_ruimte_prijs AS prijs,
TO_NUMBER (NULL) AS stuks_prijs,
1 AS rsv_ruimte_aantal,
NULL AS artikelnummer,
'' AS artikel_groep,
fac.gettrackinguserkey ('RESAFM',
rrr.res_rsv_ruimte_key)
afmelder_key,
fac.gettrackingdate ('RESAFM', rrr.res_rsv_ruimte_key)
afmeld_datum
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
res_ruimte rr,
res_opstelling ro
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rr.res_ruimte_key
AND rro.res_opstelling_key = ro.res_opstelling_key
AND rrr.res_rsv_ruimte_van BETWEEN TO_DATE (
TO_CHAR (
SYSDATE,
'yyyymmdd'
),
'yyyymmdd'
)
AND TO_DATE (
TO_CHAR (
SYSDATE + 10,
'yyyymmdd'
),
'yyyymmdd'
)
UNION ALL
SELECT '2V' AS res_type,
rrd.res_rsv_ruimte_key,
(SELECT rro.res_ruimte_key
FROM res_ruimte_opstelling rro
WHERE rrr.res_ruimte_opstel_key =
rro.res_ruimte_opstel_key)
AS res_ruimte_key,
rrd.res_rsv_deel_key AS res_item_key,
rrd.res_rsv_deel_van AS res_reservering_van,
rrd.res_rsv_deel_tot AS res_reservering_tot,
TO_NUMBER (NULL) AS aantal,
ID.ins_deel_omschrijving
|| ' ('
|| COALESCE (rd.res_deel_eenheid, '')
|| ')'
AS res_voorziening,
rd.res_discipline_key AS res_ins_discipline_key,
rrd.res_status_bo_key,
TO_NUMBER (NULL) AS res_artikel_key,
TO_NUMBER (NULL) AS prijs,
rd.res_deel_prijs AS stuks_prijs,
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
NULL AS artikelnummer,
'' AS artikel_groep,
fac.gettrackinguserkey ('RESAFM', rrd.res_rsv_deel_key)
afmelder_key,
fac.gettrackingdate ('RESAFM', rrd.res_rsv_deel_key)
afmeld_datum
FROM res_v_aanwezigrsv_deel rrd,
res_v_aanwezigrsv_ruimte rrr,
res_deel rd,
ins_deel ID
WHERE rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_ins_deel_key = ID.ins_deel_key
AND rrd.res_rsv_deel_van BETWEEN TO_DATE (
TO_CHAR (
SYSDATE,
'yyyymmdd'
),
'yyyymmdd'
)
AND TO_DATE (
TO_CHAR (
SYSDATE + 10,
'yyyymmdd'
),
'yyyymmdd'
)
UNION ALL
SELECT '3C' AS res_type,
rra.res_rsv_ruimte_key,
(SELECT rro.res_ruimte_key
FROM res_ruimte_opstelling rro
WHERE rrr.res_ruimte_opstel_key =
rro.res_ruimte_opstel_key)
AS res_ruimte_key,
res_rsv_artikel_key AS res_item_key,
rra.res_rsv_artikel_levering AS res_reservering_van,
res_rsv_ruimte_tot AS res_reservering_tot,
rra.res_rsv_artikel_aantal AS aantal,
LTRIM (ra.res_artikel_omschrijving)
|| ' ('
|| COALESCE (ra.res_artikel_eenheid, '')
|| ')'
AS res_voorziening,
ra.res_discipline_key AS res_ins_discipline_key,
rra.res_status_bo_key,
ra.res_artikel_key AS res_artikel_key,
rra.res_rsv_artikel_prijs AS prijs,
ra.res_artikel_prijs / rra.res_rsv_artikel_aantal
AS stuks_prijs,
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
ra.res_artikel_nr AS artikelnummer,
ra.res_artikel_groep AS artikel_groep,
fac.gettrackinguserkey ('RESAFM',
rra.res_rsv_artikel_key)
afmelder_key,
fac.gettrackingdate ('RESAFM', rra.res_rsv_artikel_key)
afmeld_datum
FROM res_v_aanwezigrsv_artikel rra,
res_v_aanwezigrsv_ruimte rrr,
res_artikel ra
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rra.res_artikel_key = ra.res_artikel_key
AND rra.res_rsv_artikel_levering BETWEEN TO_DATE (
TO_CHAR (
SYSDATE,
'yyyymmdd'
),
'yyyymmdd'
)
AND TO_DATE (
TO_CHAR (
SYSDATE
+ 10,
'yyyymmdd'
),
'yyyymmdd'
)) res_geg,
res_rsv_ruimte rrr,
alg_v_ruimte_gegevens ruimte_geg,
( SELECT res_ruimte_opstel_key,
res_ruimte_nr,
MIN (alg_ruimte_key) alg_ruimte_key
FROM res_ruimte_opstelling rro,
res_alg_ruimte rar,
res_ruimte rr
WHERE rro.res_ruimte_key = rar.res_ruimte_key
AND rr.res_ruimte_key = rar.res_ruimte_key
AND rar.res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_opstel_key, res_ruimte_nr) opstelalg,
alg_locatie l
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_ruimte_opstel_key =
opstelalg.res_ruimte_opstel_key(+)
AND ruimte_geg.alg_ruimte_key =
COALESCE (rrr.alg_ruimte_key, opstelalg.alg_ruimte_key)
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
AND res_geg.res_status_bo_key < 5
/
/* Formatted on 16-3-2010 11:01:01 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW allv_v_rap_resweekdetails
(
fclt_f_locatie,
hide_f_sort_datum_tijd,
hide_f_sort_ruimte,
hide_f_sort_resnr,
hide_f_sort_categorie,
fclt_f_week,
dag,
resnr,
aantal,
ruimte,
van,
tot,
voorzieningen,
omschrijving,
opmerking
)
AS
SELECT l.alg_locatie_code locatie,
TO_CHAR (res_geg.res_reservering_van, 'YYYY-MM-DD HH24:MI')
sort_datum_tijd,
COALESCE (opstelalg.res_ruimte_nr,
ruimte_geg.alg_ruimte_aanduiding)
sort_ruimte,
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
sort_resnr,
res_geg.res_type sort_categorie,
'Week ' || TO_CHAR (res_geg.res_reservering_van, 'WW') week,
TO_CHAR (res_geg.res_reservering_van, 'DD/MM') dag,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
rrr.res_reservering_key
|| '/'
|| rrr.res_rsv_ruimte_volgnr
END)
resnr,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
TO_CHAR (rrr.res_rsv_ruimte_bezoekers)
END)
aantal,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
COALESCE (opstelalg.res_ruimte_nr,
ruimte_geg.alg_ruimte_aanduiding)
END)
ruimte,
TO_CHAR (res_geg.res_reservering_van, 'HH24:MI') van,
TO_CHAR (res_geg.res_reservering_tot, 'HH24:MI') tot,
(CASE
WHEN res_geg.aantal IS NOT NULL
THEN
TO_CHAR (res_geg.aantal)
|| ' * '
|| res_geg.res_voorziening
ELSE
res_geg.res_voorziening
END)
voorzieningen,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
res_rsv_ruimte_omschrijving
END)
omschrijving,
(CASE
WHEN res_geg.res_type <> '1R' AND rrr.alg_ruimte_key IS NULL
THEN
''
ELSE
res_rsv_ruimte_opmerking
END)
opmerking
FROM (SELECT '1R' AS res_type,
rrr.res_rsv_ruimte_key,
rro.res_ruimte_key,
rrr.res_rsv_ruimte_key AS res_item_key,
rrr.res_rsv_ruimte_van AS res_reservering_van,
rrr.res_rsv_ruimte_tot AS res_reservering_tot,
TO_NUMBER (NULL) AS aantal,
ro.res_opstelling_omschrijving AS res_voorziening,
rr.res_discipline_key AS res_ins_discipline_key,
rrr.res_status_bo_key,
TO_NUMBER (NULL) AS res_artikel_key,
rrr.res_rsv_ruimte_prijs AS prijs,
TO_NUMBER (NULL) AS stuks_prijs,
1 AS rsv_ruimte_aantal,
NULL AS artikelnummer,
'' AS artikel_groep,
fac.gettrackinguserkey ('RESAFM',
rrr.res_rsv_ruimte_key)
afmelder_key,
fac.gettrackingdate ('RESAFM', rrr.res_rsv_ruimte_key)
afmeld_datum
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
res_ruimte rr,
res_opstelling ro
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rr.res_ruimte_key
AND rro.res_opstelling_key = ro.res_opstelling_key
AND rrr.res_rsv_ruimte_van BETWEEN SYSDATE - 7
AND SYSDATE + 14
AND TO_CHAR (rrr.res_rsv_ruimte_van, 'WW') IN
(TO_CHAR (SYSDATE, 'WW'),
TO_CHAR (SYSDATE + 7, 'WW'))
UNION ALL
SELECT '2V' AS res_type,
rrd.res_rsv_ruimte_key,
(SELECT rro.res_ruimte_key
FROM res_ruimte_opstelling rro
WHERE rrr.res_ruimte_opstel_key =
rro.res_ruimte_opstel_key)
AS res_ruimte_key,
rrd.res_rsv_deel_key AS res_item_key,
rrd.res_rsv_deel_van AS res_reservering_van,
rrd.res_rsv_deel_tot AS res_reservering_tot,
TO_NUMBER (NULL) AS aantal,
ID.ins_deel_omschrijving
|| ' ('
|| COALESCE (rd.res_deel_eenheid, '')
|| ')'
AS res_voorziening,
rd.res_discipline_key AS res_ins_discipline_key,
rrd.res_status_bo_key,
TO_NUMBER (NULL) AS res_artikel_key,
TO_NUMBER (NULL) AS prijs,
rd.res_deel_prijs AS stuks_prijs,
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
NULL AS artikelnummer,
'' AS artikel_groep,
fac.gettrackinguserkey ('RESAFM', rrd.res_rsv_deel_key)
afmelder_key,
fac.gettrackingdate ('RESAFM', rrd.res_rsv_deel_key)
afmeld_datum
FROM res_v_aanwezigrsv_deel rrd,
res_v_aanwezigrsv_ruimte rrr,
res_deel rd,
ins_deel ID
WHERE rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_ins_deel_key = ID.ins_deel_key
AND rrd.res_rsv_deel_van BETWEEN SYSDATE - 7
AND SYSDATE + 14
AND TO_CHAR (rrd.res_rsv_deel_van, 'WW') IN
(TO_CHAR (SYSDATE, 'WW'),
TO_CHAR (SYSDATE + 7, 'WW'))
UNION ALL
SELECT '3C' AS res_type,
rra.res_rsv_ruimte_key,
(SELECT rro.res_ruimte_key
FROM res_ruimte_opstelling rro
WHERE rrr.res_ruimte_opstel_key =
rro.res_ruimte_opstel_key)
AS res_ruimte_key,
res_rsv_artikel_key AS res_item_key,
rra.res_rsv_artikel_levering AS res_reservering_van,
res_rsv_ruimte_tot AS res_reservering_tot,
rra.res_rsv_artikel_aantal AS aantal,
LTRIM (ra.res_artikel_omschrijving)
|| ' ('
|| COALESCE (ra.res_artikel_eenheid, '')
|| ')'
AS res_voorziening,
ra.res_discipline_key AS res_ins_discipline_key,
rra.res_status_bo_key,
ra.res_artikel_key AS res_artikel_key,
rra.res_rsv_artikel_prijs AS prijs,
ra.res_artikel_prijs / rra.res_rsv_artikel_aantal
AS stuks_prijs,
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
ra.res_artikel_nr AS artikelnummer,
ra.res_artikel_groep AS artikel_groep,
fac.gettrackinguserkey ('RESAFM',
rra.res_rsv_artikel_key)
afmelder_key,
fac.gettrackingdate ('RESAFM', rra.res_rsv_artikel_key)
afmeld_datum
FROM res_v_aanwezigrsv_artikel rra,
res_v_aanwezigrsv_ruimte rrr,
res_artikel ra
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rra.res_artikel_key = ra.res_artikel_key
AND rra.res_rsv_artikel_levering BETWEEN SYSDATE - 7
AND SYSDATE + 14
AND TO_CHAR (rra.res_rsv_artikel_levering, 'WW') IN
(TO_CHAR (SYSDATE, 'WW'),
TO_CHAR (SYSDATE + 7, 'WW'))) res_geg,
res_rsv_ruimte rrr,
alg_v_ruimte_gegevens ruimte_geg,
( SELECT res_ruimte_opstel_key,
res_ruimte_nr,
MIN (alg_ruimte_key) alg_ruimte_key
FROM res_ruimte_opstelling rro,
res_alg_ruimte rar,
res_ruimte rr
WHERE rro.res_ruimte_key = rar.res_ruimte_key
AND rr.res_ruimte_key = rar.res_ruimte_key
AND rar.res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_opstel_key, res_ruimte_nr) opstelalg,
alg_locatie l
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_ruimte_opstel_key =
opstelalg.res_ruimte_opstel_key(+)
AND ruimte_geg.alg_ruimte_key =
COALESCE (rrr.alg_ruimte_key, opstelalg.alg_ruimte_key)
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
AND res_geg.res_status_bo_key < 5
/
-- Dummy export NACHTWERK!
/* Formatted on 29-11-2010 16:25:20 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW allv_v_export_nachtwerk (RESULT, result_order)
AS
SELECT '', 0
FROM DUAL
WHERE 1 = 0
/
CREATE OR REPLACE PROCEDURE allv_select_nachtwerk (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
BEGIN
v_count := 0;
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.writelog (p_applname,
'E',
'Proces NACHTWERK afgebroken!',
v_errormsg);
COMMIT;
END allv_select_nachtwerk;
/
/* Formatted on 14-1-2013 12:08:42 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW allv_v_imp_bes_artikel_sync
(
fclt_f_catalogusnaam,
leverancier,
catdatum,
artikelnr,
groep,
omschrijving,
prijs,
eenheid,
picture,
orderaantal,
tax,
duedate,
inkoopprijs,
minimum,
staffeltabel,
wijzigdagen,
annuleerdagen
)
AS
SELECT td.ins_discipline_omschrijving,
b.prs_bedrijf_naam,
TO_CHAR (td.ins_discipline_aanmaak, 'yyyymmdd'),
sd.bes_srtdeel_nr,
sg.bes_srtgroep_omschrijving,
sd.bes_srtdeel_omschrijving,
TO_CHAR (bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)),
sd.bes_srtdeel_eenheid,
sd.bes_srtdeel_image,
TO_CHAR (sd.bes_srtdeel_veelvoud),
TO_CHAR (sd.bes_srtdeel_btw),
TO_CHAR (sd.bes_srtdeel_vervaldatum, 'yyyymmdd'),
TO_CHAR (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, NULL)),
NULL,
bs.bes_staffeltabel_naam,
sd.bes_srtdeel_wijzigdagen,
sd.bes_srtdeel_annuleerdagen
FROM ins_tab_discipline td,
bes_srtgroep sg,
bes_srtdeel sd,
prs_bedrijf b,
bes_staffeltabel bs
WHERE td.ins_discipline_module = 'BES'
AND td.ins_discipline_verwijder IS NULL
AND td.ins_discipline_key = sg.ins_discipline_key
AND sg.bes_srtgroep_verwijder IS NULL
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
AND bs.bes_staffeltabel_key(+) = sd.bes_staffeltabel_key;
/* Formatted on 17-1-2013 13:00:54 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW allv_v_rap_voorraad
(
hide_f_ext_disc_key,
fclt_f_catalogus, -- externe catalogusnaam
int_artikel_nr, -- min. intern artikelnr
int_artikel_oms, -- min. interne artikelomschrijving
int_artikel_prijs, -- min. interne artikelprijs
ext_artikel_nr,
ext_artikel_oms,
ext_artikel_prijs,
min_voorraad,
max_voorraad,
inkoop_geleverd, -- IN: daadwerkelijk geleverd
intern_besteld, -- UIT: in bestelling + besteld + geleverd
voorraad,
hide_f_voorraad_gisteren,
inkoop_besteld, -- IN: in bestelling + besteld
inkoop_gewenst -- IN: tot maximum als onder minimum
)
AS
SELECT extern.dkey,
COALESCE (extern.ins_discipline_omschrijving,
intern.ins_discipline_omschrijving),
intern.art_nr,
intern.art_oms,
TO_CHAR (intern.art_prijs),
extern.art_nr,
extern.art_oms,
TO_CHAR (extern.art_prijs),
extern.vmin,
extern.vmax,
extern.geleverd,
intern.besteld,
extern.geleverd - COALESCE (intern.besteld, 0) voorraad,
extern.geleverd_gisteren - COALESCE (intern.besteld_gisteren, 0)
voorraad_gisteren,
extern.besteld,
CASE
WHEN ( (COALESCE (extern.besteld, 0)
+ COALESCE (extern.geleverd, 0))
- COALESCE (intern.besteld, 0)) <
COALESCE (extern.vmin, 0)
THEN
COALESCE (extern.vmax, 0)
- ( (COALESCE (extern.besteld, 0)
+ COALESCE (extern.geleverd, 0))
- COALESCE (intern.besteld, 0))
ELSE
NULL
END
extern_gewenst
FROM (SELECT bd.ins_discipline_key dkey, -- ext. cataloguskey (INKOOP-key)
bd.ins_discipline_omschrijving, -- ext. catalogusnaam
sd.bes_srtdeel_nr art_nr, -- ext. artikelnr
sd.bes_srtdeel_omschrijving art_oms,
bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)
art_prijs,
sd.bes_srtdeel_voorraadmin vmin, -- ext. voorraadmin
sd.bes_srtdeel_voorraadmax vmax, -- ext. voorraadmax
(SELECT SUM (bi.bes_bestelling_item_aantal)
FROM bes_bestelling b, bes_bestelling_item bi
WHERE b.bes_bestelling_status IN (2, 3, 4, 5)
AND b.bes_bestelling_key =
bi.bes_bestelling_key
AND bi.bes_srtdeel_key =
sd.bes_srtdeel_key)
besteld,
(SELECT SUM (bi.bes_bestelling_item_aantal)
FROM bes_bestelling b, bes_bestelling_item bi
WHERE b.bes_bestelling_status > 5
AND b.bes_bestelling_key =
bi.bes_bestelling_key
AND bi.bes_srtdeel_key =
sd.bes_srtdeel_key)
geleverd,
(SELECT SUM (bi.bes_bestelling_item_aantal)
FROM bes_bestelling b, bes_bestelling_item bi
WHERE b.bes_bestelling_datum < TRUNC (SYSDATE)
AND b.bes_bestelling_status > 5
AND b.bes_bestelling_key =
bi.bes_bestelling_key
AND bi.bes_srtdeel_key =
sd.bes_srtdeel_key)
geleverd_gisteren
FROM bes_srtdeel sd, -- ook de verwijderde (igv. punchout)!
bes_srtgroep g,
bes_discipline bd,
bes_disc_params dp
WHERE sd.bes_srtgroep_key = g.bes_srtgroep_key
AND g.ins_discipline_key = bd.ins_discipline_key
AND bd.ins_discipline_key =
dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop IS NULL
AND bd.ins_discipline_key IN
(SELECT bes_ins_discipline_key_inkoop
FROM bes_disc_params
WHERE bes_ins_discipline_key_inkoop IS NOT NULL))
extern -- Inkoop artikelen uit externe catalogus!
FULL JOIN
(SELECT intern.dkey, -- ext. cataloguskey (INKOOP-key)
intern.ins_discipline_omschrijving, -- ext. cat.naam
intern.match_nr, -- ext. artikelnr
intern.art_nr, -- min. intern artikelnr
intern.art_oms, -- min. interne artikelomschrijving
intern.art_prijs, -- min. interne artikelprijs
besteld.aantal besteld,
besteld_gisteren.aantal besteld_gisteren
FROM ( SELECT bde.ins_discipline_key dkey,
bde.ins_discipline_omschrijving,
--COALESCE (sd.bes_srtdeel_image,
-- sd.bes_srtdeel_nr)
sd.bes_srtdeel_nr match_nr,
MIN(COALESCE (
SUBSTR (
sd.bes_srtdeel_omschrijving,
INSTR (
sd.bes_srtdeel_omschrijving,
'['
)
+ 1,
INSTR (
sd.bes_srtdeel_omschrijving,
']'
)
- 2
),
sd.bes_srtdeel_nr
))
art_nr,
MIN (sd.bes_srtdeel_omschrijving)
art_oms,
MIN(bes.getsrtdeelprijs (
sd.bes_srtdeel_key,
NULL
))
art_prijs
FROM bes_srtdeel sd,
bes_srtgroep g,
bes_discipline bdi,
bes_disc_params dp,
bes_discipline bde
WHERE sd.bes_srtdeel_verwijder IS NULL
AND sd.bes_srtgroep_key =
g.bes_srtgroep_key
AND g.ins_discipline_key =
bdi.ins_discipline_key
AND bdi.ins_discipline_key =
dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop =
bde.ins_discipline_key
GROUP BY bde.ins_discipline_key,
bde.ins_discipline_omschrijving,
--COALESCE (sd.bes_srtdeel_image,
-- sd.bes_srtdeel_nr),
bes_srtdeel_nr) intern
LEFT JOIN
( SELECT dp.bes_ins_discipline_key_inkoop
dkey, -- INKOOP-key
--COALESCE (sd.bes_srtdeel_image,
-- sd.bes_srtdeel_nr)
sd.bes_srtdeel_nr match_nr,
SUM (bi.bes_bestelling_item_aantal)
aantal
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep g,
bes_discipline bd,
bes_disc_params dp
WHERE b.bes_bestelling_key =
bi.bes_bestelling_key
AND bi.bes_srtdeel_key =
sd.bes_srtdeel_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.bes_srtgroep_key =
g.bes_srtgroep_key
AND g.ins_discipline_key =
bd.ins_discipline_key
AND bd.ins_discipline_key =
dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop IS NOT NULL
GROUP BY dp.bes_ins_discipline_key_inkoop,
--COALESCE (sd.bes_srtdeel_image,
-- sd.bes_srtdeel_nr),
bes_srtdeel_nr) besteld
ON intern.dkey = besteld.dkey
AND intern.match_nr = besteld.match_nr
LEFT JOIN
( SELECT dp.bes_ins_discipline_key_inkoop dkey, -- INKOOP-key
--COALESCE (sd.bes_srtdeel_image,
-- sd.bes_srtdeel_nr)
sd.bes_srtdeel_nr match_nr,
SUM (bi.bes_bestelling_item_aantal)
aantal
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep g,
bes_discipline bd,
bes_disc_params dp
WHERE b.bes_bestelling_datum <
TRUNC (SYSDATE)
AND b.bes_bestelling_key =
bi.bes_bestelling_key
AND bi.bes_srtdeel_key =
sd.bes_srtdeel_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.bes_srtgroep_key =
g.bes_srtgroep_key
AND g.ins_discipline_key =
bd.ins_discipline_key
AND bd.ins_discipline_key =
dp.bes_ins_discipline_key
AND dp.bes_ins_discipline_key_inkoop IS NOT NULL
GROUP BY dp.bes_ins_discipline_key_inkoop,
--COALESCE (sd.bes_srtdeel_image,
-- sd.bes_srtdeel_nr),
bes_srtdeel_nr) besteld_gisteren
ON intern.dkey = besteld_gisteren.dkey
AND intern.match_nr = besteld_gisteren.match_nr)
intern -- Verkoop artikelen uit interne masker-catalogi!
ON extern.dkey = intern.dkey AND extern.art_nr = intern.match_nr
WHERE intern.art_nr IS NOT NULL;
-- Bevat CUST01/02-notificaties (eind van de dag) naar COMM-medewerkers dat
-- 1 of meer producten onder de minimale voorraad zitten!
/* Formatted on 10-12-2010 16:34:34 (QP5 v5.115.810.9015) */
/*
CREATE OR REPLACE VIEW allv_v_noti_voorraadreminder
(
code,
sender,
receiver,
text,
KEY,
par1,
par2,
xkey
)
AS
SELECT DISTINCT sn.fac_srtnotificatie_code,
NULL,
gg.prs_perslid_key,
sn.fac_srtnotificatie_oms,
(SELECT fac_usrrap_key
FROM fac_usrrap
WHERE fac_usrrap_view_name = 'allv_v_rap_voorraad'),
NULL,
NULL,
NULL
FROM allv_v_rap_voorraad v,
fac_gebruikersgroep gg,
fac_srtnotificatie sn
WHERE v.voorraad < v.min_voorraad
AND v.hide_f_voorraad_gisteren >= v.min_voorraad
AND v.hide_f_extern_diskey = 561 -- Representatiegeschenken-cat.
AND gg.fac_groep_key = 61 -- COMM/Representatiegeschenken
AND sn.fac_srtnotificatie_code = 'CUST01'
UNION ALL
SELECT DISTINCT sn.fac_srtnotificatie_code,
NULL,
gg.prs_perslid_key,
sn.fac_srtnotificatie_oms,
(SELECT fac_usrrap_key
FROM fac_usrrap
WHERE fac_usrrap_view_name = 'allv_v_rap_voorraad'),
NULL,
NULL,
NULL
FROM allv_v_rap_voorraad v,
fac_gebruikersgroep gg,
fac_srtnotificatie sn
WHERE v.voorraad < v.min_voorraad
AND v.hide_f_voorraad_gisteren >= v.min_voorraad
AND v.hide_f_extern_diskey = 562 -- Bestuursgeschenken-cat.
AND gg.fac_groep_key = 121 -- COMM/Bestuursgeschenken
AND sn.fac_srtnotificatie_code = 'CUST02';
*/
BEGIN fac.registercustversion('ALLV', 4); END;
/
BEGIN adm.systrackscript('$Workfile: allv.sql $', '$Revision$', 0); END;
/
COMMIT;
spool off