229 lines
8.9 KiB
Plaintext
229 lines
8.9 KiB
Plaintext
#ifdef BES // 03-11-2000 PF
|
|
|
|
/* REVISIONS:
|
|
*
|
|
* 03-03-2004 BIV View bes_item_prijs (AEG) added,
|
|
* 24-07-2003 BIV View bes_bestelopdr_xmlsource changed - FSN #432.
|
|
* 03-11-20000 PF CREATION (concept).
|
|
*/
|
|
|
|
|
|
#include "comsql.h"
|
|
|
|
CREATE_VIEW(BES_discipline, BES_BIBLIOTHEEK_PRIVILEGE)
|
|
AS
|
|
SELECT * FROM ALL_discipline WHERE ins_discipline_module = 'BES';
|
|
|
|
DEFINIEER_VIEW_AANWEZIG(BES_discipline, ins_discipline_verwijder,
|
|
BES_v_aanwezigdiscipline,BES_BIBLIOTHEEK_PRIVILEGE);
|
|
|
|
CREATE_VIEW(BES_V_AANWEZIGSRTGROEP, BES_BIBLIOTHEEK_PRIVILEGE)
|
|
AS
|
|
SELECT * FROM ins_srtgroep WHERE ins_srtgroep.ins_srtgroep_verwijder IS NULL AND
|
|
ins_discipline_key IN (SELECT ins_discipline_key FROM BES_v_aanwezigdiscipline);
|
|
|
|
CREATE_VIEW(BES_V_AANWEZIGSRTDEEL, BES_BIBLIOTHEEK_PRIVILEGE)
|
|
AS SELECT * FROM ins_srtdeel WHERE ins_srtdeel.ins_srtdeel_verwijder IS NULL AND
|
|
ins_srtgroep_key IN (SELECT ins_srtgroep_key FROM BES_v_aanwezigsrtgroep);
|
|
|
|
CREATE_VIEW(BES_BESTELOPDR_XMLSOURCE, BES_BIBLIOTHEEK_PRIVILEGE)
|
|
AS SELECT
|
|
b.BES_BESTELOPDR_KEY bo_key,
|
|
b.BES_BESTELOPDR_OPMERKING o_cmnts,
|
|
bd.PRS_BEDRIJF_KEY b_key,
|
|
bd.PRS_BEDRIJF_NAAM b_name,
|
|
bd.PRS_BEDRIJF_POST_ADRES b_pa,
|
|
bd.PRS_BEDRIJF_POST_POSTCODE b_pc,
|
|
bd.PRS_BEDRIJF_POST_PLAATS b_pp,
|
|
bd.PRS_BEDRIJF_TELEFOON b_pph,
|
|
bd.PRS_BEDRIJF_FAX b_pf,
|
|
bd.PRS_OVEREENKOMST_NR b_cnt,
|
|
s.INS_SRTDEEL_OMSCHRIJVING i_name,
|
|
NVL(s.INS_SRTDEEL_EENHEID,'') i_measuring_unts,
|
|
NVL(BES_BESTELOPDR_ITEM_PRIJS, 0) p_price,
|
|
bi.bes_bestelopdr_item_aantal i_cnt,
|
|
s.INS_SRTDEEL_KEY i_key,
|
|
NVL(ml.MLD_ADRES_BEZOEK_POSTCODE, ' ') d_bpc,
|
|
NVL(ml.MLD_ADRES_BEZOEK_ADRES, ' ') d_bpa,
|
|
NVL(ml.MLD_ADRES_BEZOEK_PLAATS, ' ') d_bpp,
|
|
NVL(mf.MLD_ADRES_BEZOEK_ADRES, ' ') in_bpa,
|
|
NVL(mf.MLD_ADRES_BEZOEK_POSTCODE,' ') in_bpc,
|
|
NVL(mf.MLD_ADRES_BEZOEK_PLAATS, ' ') in_bpp,
|
|
DATE_TO_CHAR(NVL(bes_bestelopdr_datum, SYSDATE), 'YYYY-MM-DD')||'T'||
|
|
DATE_TO_CHAR(NVL(bes_bestelopdr_datum, SYSDATE), 'HH24:MI:SS') iso_date,
|
|
bd.PRS_BEDRIJF_XSL b_xsl, s.INS_SRTDEEL_PRIJS s_pr,
|
|
NVL(bi.bes_bestelopdr_item_omschrijv,' ') i_om,
|
|
NVL(bd.PRS_BEDRIJF_EMAIL, ' ') b_email,
|
|
DATE_TO_CHAR(NVL(bes_bestelopdr_datum, SYSDATE), 'YYYY-MM-DD') o_date,
|
|
NVL(ml.MLD_ADRES_POST_ADRES,' ') d_pa,
|
|
NVL(mf.MLD_ADRES_POST_ADRES, ' ') in_pa,
|
|
d.INS_DISCIPLINE_KEY d_key,
|
|
s.INS_SRTDEEL_NR i_nr,
|
|
s.INS_SRTDEEL_PRIJS i_price,
|
|
b.BES_BESTELOPDR_STATUS b_status,
|
|
be.PRS_PERSLID_KEY p_key
|
|
FROM
|
|
#ifdef MS_SQL
|
|
BES_BESTELOPDR b
|
|
INNER JOIN BES_BESTELOPDR_ITEM bi ON bi.BES_BESTELOPDR_KEY=b.BES_BESTELOPDR_KEY
|
|
#else
|
|
BES_BESTELOPDR b,
|
|
BES_BESTELOPDR_ITEM bi
|
|
#endif
|
|
_LEFT_JOIN(BES_BESTELLING_ITEM bei, bi.BES_BESTELOPDR_KEY= bei.BES_BESTELOPDR_KEY AND bi.INS_SRTDEEL_KEY=bei.INS_SRTDEEL_KEY)
|
|
_LEFT_JOIN(BES_BESTELLING be, bei.BES_BESTELLING_KEY= be.BES_BESTELLING_KEY)
|
|
_LEFT_JOIN(MLD_ADRES ml, b.MLD_ADRES_KEY_LEV=ml.MLD_ADRES_KEY)
|
|
_LEFT_JOIN(MLD_ADRES mf, b.MLD_ADRES_KEY_FAC=mf.MLD_ADRES_KEY),
|
|
bes_v_aanwezigdiscipline d,
|
|
ins_srtgroep g,
|
|
ins_srtdeel s,
|
|
PRS_BEDRIJF bd
|
|
WHERE d.INS_DISCIPLINE_KEY=g.INS_DISCIPLINE_KEY AND
|
|
g.INS_SRTGROEP_KEY=s.INS_SRTGROEP_KEY AND
|
|
s.INS_SRTDEEL_KEY=bi.INS_SRTDEEL_KEY AND
|
|
b.PRS_BEDRIJF_KEY=bd.PRS_BEDRIJF_KEY
|
|
#ifndef MS_SQL
|
|
AND
|
|
bi.BES_BESTELOPDR_KEY=b.BES_BESTELOPDR_KEY AND
|
|
bi.BES_BESTELOPDR_KEY= bei.BES_BESTELOPDR_KEY(+) AND
|
|
bi.INS_SRTDEEL_KEY=bei.INS_SRTDEEL_KEY(+) AND
|
|
bei.BES_BESTELLING_KEY= be.BES_BESTELLING_KEY(+) AND
|
|
b.MLD_ADRES_KEY_LEV=ml.MLD_ADRES_KEY(+) AND
|
|
b.MLD_ADRES_KEY_FAC=mf.MLD_ADRES_KEY(+)
|
|
#endif
|
|
;
|
|
|
|
CREATE_VIEW(BES_ITEM_PRIJS,BES_BIBLIOTHEEK_PRIVILEGE)
|
|
( BES_BESTELLING_ITEM_KEY,
|
|
PRIJS ) AS
|
|
SELECT bi.bes_bestelling_item_key, boi.bes_bestelopdr_item_prijs
|
|
FROM BES_BESTELLING_ITEM bi, BES_BESTELOPDR_ITEM boi
|
|
WHERE bi.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
|
AND bi.ins_srtdeel_key = boi.ins_srtdeel_key
|
|
UNION
|
|
SELECT bi.bes_bestelling_item_key, i.ins_srtdeel_prijs
|
|
FROM BES_BESTELLING_ITEM bi, INS_SRTDEEL i
|
|
WHERE bi.bes_bestelopdr_key IS NULL
|
|
AND bi.ins_srtdeel_key = i.ins_srtdeel_key;
|
|
|
|
|
|
CREATE_VIEW(bes_v_catalogus_prijsverschil,BES_NORMAAL_PRIVILEGE)
|
|
( prijsverschil,
|
|
fclt_f_pn,
|
|
omschrijving,
|
|
nieuwe_prijs,
|
|
huidige_prijs,
|
|
fclt_f_catalogus ) AS
|
|
SELECT NUMBER_TO_CHAR ( ABS (f.ins_srtdeel_prijs - i.ins_srtdeel_prijs)
|
|
/ i.ins_srtdeel_prijs
|
|
* 100,
|
|
'9990.00'
|
|
),
|
|
[skip]
|
|
#ifdef MS_SQL
|
|
case SIGN(f.ins_srtdeel_prijs - i.ins_srtdeel_prijs)
|
|
when -1 then 'NEG'
|
|
when 0 then 'NUL'
|
|
when 1 then 'POS'
|
|
else 'def'
|
|
end,
|
|
#else
|
|
DECODE(SIGN(f.ins_srtdeel_prijs - i.ins_srtdeel_prijs), -1, 'NEG', 0, 'NUL', 1, 'POS', 'def'),
|
|
#endif
|
|
[/skip]
|
|
i.ins_srtdeel_omschrijving,
|
|
NUMBER_TO_CHAR (f.ins_srtdeel_prijs, '99990.00'),
|
|
NUMBER_TO_CHAR (i.ins_srtdeel_prijs, '99990.00'), f.bes_impcatalogus_id
|
|
FROM bes_impcatalogus f, ins_srtdeel i, ins_srtgroep g
|
|
WHERE i.ins_srtdeel_nr = f.ins_srtdeel_nr
|
|
AND i.ins_srtgroep_key = g.ins_srtgroep_key
|
|
AND g.ins_discipline_key = f.ins_discipline_key
|
|
AND i.ins_srtdeel_prijs <> f.ins_srtdeel_prijs
|
|
AND i.ins_srtdeel_prijs <> 0
|
|
AND i.ins_srtdeel_verwijder IS NULL
|
|
;
|
|
|
|
|
|
CREATE_VIEW(bes_v_catalogus_verschilovz,BES_NORMAAL_PRIVILEGE)
|
|
( omschrijving,aantal, fclt_f_catalogus ) AS
|
|
SELECT '1. aantal artikelen huidige catalogus: ', TO_CHAR (COUNT (*)),
|
|
f.bes_impcatalogus_id
|
|
FROM (SELECT b.bes_impcatalogus_id, b.ins_discipline_key
|
|
FROM bes_impcatalogus b
|
|
GROUP BY b.bes_impcatalogus_id, b.ins_discipline_key) f,
|
|
bes_v_aanwezigsrtdeel i,
|
|
ins_srtgroep g
|
|
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
|
|
AND g.ins_discipline_key = f.ins_discipline_key
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '2. aantal artikelen nieuwe catalogus: ', TO_CHAR (COUNT (*)),
|
|
f.bes_impcatalogus_id
|
|
FROM bes_impcatalogus f
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '3. aantal artikelen in beide catalogi: ', TO_CHAR (COUNT (*)),
|
|
bes_impcatalogus_id
|
|
FROM (SELECT i.ins_srtdeel_nr, g.ins_discipline_key, bes_impcatalogus_id
|
|
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, bes_impcatalogus f
|
|
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
|
|
AND g.ins_discipline_key = f.ins_discipline_key
|
|
AND i.ins_srtdeel_nr = f.ins_srtdeel_nr)
|
|
GROUP BY bes_impcatalogus_id
|
|
UNION
|
|
SELECT '4. aantal gewijzigde artikelen(prijs): ', TO_CHAR (COUNT (*)),
|
|
f.bes_impcatalogus_id
|
|
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, bes_impcatalogus f
|
|
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
|
|
AND g.ins_discipline_key = f.ins_discipline_key
|
|
AND i.ins_srtdeel_nr = f.ins_srtdeel_nr
|
|
AND i.ins_srtdeel_prijs <> f.ins_srtdeel_prijs
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '5. aantal gewijzigde artikelen(omschrijving): ',
|
|
TO_CHAR (COUNT (*)), f.bes_impcatalogus_id
|
|
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, bes_impcatalogus f
|
|
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
|
|
AND g.ins_discipline_key = f.ins_discipline_key
|
|
AND i.ins_srtdeel_nr = f.ins_srtdeel_nr
|
|
AND i.ins_srtdeel_omschrijving <> f.ins_srtdeel_omschrijving
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '6. aantal gewijzigde artikelen(vervaldatum): ', TO_CHAR (COUNT (*)),
|
|
f.bes_impcatalogus_id
|
|
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, bes_impcatalogus f
|
|
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
|
|
AND g.ins_discipline_key = f.ins_discipline_key
|
|
AND i.ins_srtdeel_nr = f.ins_srtdeel_nr
|
|
AND i.ins_srtdeel_vervaldatum <> f.ins_srtdeel_vervaldatum
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '7. aantal artikelengroepen huidige catalogus: ',
|
|
TO_CHAR (COUNT (DISTINCT (ins_srtgroep_omschrijving))),
|
|
f.bes_impcatalogus_id
|
|
FROM (SELECT b.bes_impcatalogus_id, b.ins_discipline_key
|
|
FROM bes_impcatalogus b
|
|
GROUP BY b.bes_impcatalogus_id, b.ins_discipline_key) f,
|
|
bes_v_aanwezigsrtgroep g
|
|
WHERE g.ins_discipline_key = f.ins_discipline_key
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '8. aantal artikelgroepen nieuwe catalogus: ',
|
|
TO_CHAR (COUNT (DISTINCT (ins_srtgroep_omschrijving))),
|
|
f.bes_impcatalogus_id
|
|
FROM bes_impcatalogus f
|
|
GROUP BY f.bes_impcatalogus_id
|
|
UNION
|
|
SELECT '9. aantal artikelgroepen in beide catalogi: ',
|
|
TO_CHAR (COUNT (DISTINCT (ins_srtgroep_omschrijving))),
|
|
bes_impcatalogus_id
|
|
FROM (SELECT g.ins_srtgroep_omschrijving, g.ins_discipline_key,
|
|
bes_impcatalogus_id
|
|
FROM bes_v_aanwezigsrtgroep g, bes_impcatalogus f
|
|
WHERE g.ins_discipline_key = f.ins_discipline_key
|
|
AND g.ins_srtgroep_upper = UPPER (f.ins_srtgroep_omschrijving))
|
|
GROUP BY bes_impcatalogus_id;
|
|
|
|
|
|
#endif // BES
|