ALLV#23264 Uitbreiding, Navision koppeling, factuurscanning

svn path=/Customer/trunk/; revision=16548
This commit is contained in:
Maarten van der Heide
2013-01-17 11:55:17 +00:00
parent 0c511d1072
commit d2839dbbfa

View File

@@ -480,8 +480,378 @@ AS
AND res_geg.res_status_bo_key < 5
/
BEGIN fac.registercustversion('ALLV', 2); END;
-- Dummy export NACHT_WERK!
/* Formatted on 29-11-2010 16:25:20 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW allv_v_export_nacht_werk (RESULT, result_order)
AS
SELECT '', 0
FROM DUAL
WHERE 1 = 0
/
CREATE OR REPLACE PROCEDURE allv_select_nacht_werk (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 NACHT_WERK afgebroken!',
v_errormsg);
COMMIT;
END allv_select_nacht_werk;
/* 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 12:42:42 (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,
bes_srtgroep g,
bes_discipline bd,
bes_disc_params dp
WHERE 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 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