BLST#66395 -- inrichten kv6
svn path=/Customer/trunk/; revision=55720
This commit is contained in:
263
BLST/BLST.sql
263
BLST/BLST.sql
@@ -96,6 +96,8 @@ AS
|
||||
|
||||
PROCEDURE bes_bgd_lyreco (p_bestelling_key IN NUMBER);
|
||||
|
||||
PROCEDURE bes_geen_cpv_btw (p_bestelling_key IN NUMBER);
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1041,59 +1043,66 @@ AS
|
||||
v_kenmerk_key NUMBER (10);
|
||||
|
||||
CURSOR bestelitem IS
|
||||
SELECT bi.bes_bestelling_item_key,
|
||||
sd.bes_srtdeel_notitie,
|
||||
fac.safe_to_number (btw_key.btw_key) btw_key,
|
||||
btw_key.catalogus catalogus
|
||||
FROM bes_bestelling b,
|
||||
bes_srtdeel sd,
|
||||
bes_srtgroep sg,
|
||||
bes_discipline cat,
|
||||
bes_bestelling_item bi,
|
||||
prs_bedrijf l,
|
||||
(SELECT ud.fac_usrdata_key btw_key,
|
||||
ud.fac_usrdata_upper btw,
|
||||
k.bes_srtinstallatie_key catalogus
|
||||
FROM bes_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud,
|
||||
bes_kenmerk k
|
||||
WHERE sk.bes_srtkenmerk_upper = 'BTW'
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND kd.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key) btw_key
|
||||
WHERE sd.bes_srtdeel_notitie IS NOT NULL -- notitie wordt vanuit OCI gevuld met BTW
|
||||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||
AND sd.prs_bedrijf_key = l.prs_bedrijf_key
|
||||
AND l.prs_bedrijf_naam_upper LIKE '%LYRECO%' --- alleen voor Lyreco
|
||||
AND UPPER (sd.bes_srtdeel_notitie) = btw_key.BTW
|
||||
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
|
||||
AND cat.ins_discipline_key = sg.ins_discipline_key
|
||||
AND btw_key.catalogus = cat.ins_discipline_key
|
||||
AND b.bes_bestelling_key = p_bestelling_key;
|
||||
|
||||
BEGIN
|
||||
|
||||
SELECT DISTINCT bi.bes_bestelling_item_key,
|
||||
sd.bes_srtdeel_key,
|
||||
sd.bes_srtdeel_notitie,
|
||||
fac.safe_to_number (btw_key.btw_key) btw_key,
|
||||
btw_key.btw_perc btw_perc,
|
||||
btw_key.catalogus catalogus
|
||||
FROM bes_bestelling b,
|
||||
bes_srtdeel sd,
|
||||
bes_srtgroep sg,
|
||||
bes_discipline cat,
|
||||
bes_bestelling_item bi,
|
||||
prs_bedrijf l,
|
||||
(SELECT ud.fac_usrdata_key btw_key,
|
||||
ud.fac_usrdata_upper btw,
|
||||
ud.fac_usrdata_prijs btw_perc,
|
||||
k.bes_srtinstallatie_key catalogus
|
||||
FROM bes_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud,
|
||||
bes_kenmerk k
|
||||
WHERE sk.bes_srtkenmerk_upper = 'BTW'
|
||||
AND sk.fac_kenmerkdomein_key =
|
||||
kd.fac_kenmerkdomein_key
|
||||
AND kd.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key)
|
||||
btw_key
|
||||
WHERE sd.bes_srtdeel_notitie IS NOT NULL -- notitie wordt vanuit OCI gevuld met BTW
|
||||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||
AND sd.prs_bedrijf_key = l.prs_bedrijf_key
|
||||
AND l.prs_bedrijf_naam_upper LIKE '%LYRECO%' --- alleen voor Lyreco
|
||||
AND UPPER (sd.bes_srtdeel_notitie) = btw_key.BTW
|
||||
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
|
||||
AND cat.ins_discipline_key = sg.ins_discipline_key
|
||||
AND btw_key.catalogus = cat.ins_discipline_key
|
||||
AND b.bes_bestelling_key = p_bestelling_key;
|
||||
BEGIN
|
||||
FOR rec IN bestelitem
|
||||
LOOP
|
||||
|
||||
SELECT k.bes_kenmerk_key
|
||||
INTO v_kenmerk_key
|
||||
FROM bes_srtkenmerk sk, bes_kenmerk k
|
||||
WHERE sk.bes_srtkenmerk_upper = 'BTW'
|
||||
AND sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key
|
||||
AND k.bes_kenmerk_verwijder is null
|
||||
AND k.bes_srtinstallatie_key = rec.catalogus;
|
||||
|
||||
SELECT k.bes_kenmerk_key
|
||||
INTO v_kenmerk_key
|
||||
FROM bes_srtkenmerk sk, bes_kenmerk k
|
||||
WHERE sk.bes_srtkenmerk_upper = 'BTW'
|
||||
AND sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key
|
||||
AND k.bes_kenmerk_verwijder IS NULL
|
||||
AND k.bes_srtinstallatie_key = rec.catalogus;
|
||||
|
||||
-- we kunnen rustig een insert doen, het is nooit een update
|
||||
INSERT INTO bes_kenmerkbesteli (bes_bestelling_item_key,
|
||||
bes_kenmerk_key,
|
||||
bes_kenmerkbesteli_waarde)
|
||||
VALUES (rec.bes_bestelling_item_key, v_kenmerk_key, rec.btw_key);
|
||||
|
||||
--- we werken dan ook direct maar even netjes de BTW bij het soortdeel bij met het juiste BTW perc.
|
||||
UPDATE bes_srtdeel sd
|
||||
SET sd.bes_srtdeel_btw = fac.safe_to_number(rec.btw_perc)
|
||||
WHERE sd.bes_srtdeel_key = rec.bes_srtdeel_key;
|
||||
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
@@ -1251,6 +1260,101 @@ AS
|
||||
'');
|
||||
END;
|
||||
|
||||
PROCEDURE bes_geen_cpv_btw (p_bestelling_key IN NUMBER)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (200);
|
||||
v_srtnotificatie_key NUMBER;
|
||||
v_onderwerp VARCHAR2 (200);
|
||||
|
||||
-- Artikelen zonder CPV code of zonder BTW code, de hele order moet geannuleerd worden
|
||||
-- Omdat een bestelling in theorie tot meer bestelopdrachten kunnen leiden splitsen we
|
||||
-- Eerst bestelopdrachten dan bestelaanvragen
|
||||
|
||||
CURSOR bestelopdracht IS
|
||||
SELECT DISTINCT (bo.bes_bestelopdr_key)
|
||||
FROM bes_bestelling b,
|
||||
bes_srtdeel sd,
|
||||
bes_bestelling_item bi,
|
||||
bes_bestelopdr bo,
|
||||
bes_bestelopdr_item boi,
|
||||
prs_bedrijf l
|
||||
WHERE (sd.bes_srtdeel_details_loc IS NULL -- details loc wordt vanuit OCI gevuld met BGD codes
|
||||
OR sd.bes_srtdeel_notitie IS NULL) -- notitie wordt vanuit OCI gevuld met BTW
|
||||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||
AND sd.prs_bedrijf_key = l.prs_bedrijf_key
|
||||
AND l.prs_bedrijf_naam_upper LIKE '%LYRECO%'
|
||||
AND bi.bes_bestelopdr_item_key =
|
||||
boi.bes_bestelopdr_item_key(+)
|
||||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
||||
AND b.bes_bestelling_key = p_bestelling_key;
|
||||
|
||||
CURSOR bestelling IS
|
||||
SELECT DISTINCT (b.bes_bestelling_key)
|
||||
FROM bes_bestelling b,
|
||||
bes_srtdeel sd,
|
||||
bes_bestelling_item bi,
|
||||
prs_bedrijf l
|
||||
WHERE (sd.bes_srtdeel_details_loc IS NULL -- details loc wordt vanuit OCI gevuld met BGD codes
|
||||
OR sd.bes_srtdeel_notitie IS NULL) -- notitie wordt vanuit OCI gevuld met BTW
|
||||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||
AND sd.prs_bedrijf_key = l.prs_bedrijf_key
|
||||
AND l.prs_bedrijf_naam_upper LIKE '%LYRECO%'
|
||||
AND b.bes_bestelling_key = p_bestelling_key;
|
||||
BEGIN
|
||||
SELECT sn.fac_srtnotificatie_key
|
||||
INTO v_srtnotificatie_key
|
||||
FROM fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_code = 'BESCAN';
|
||||
|
||||
FOR rec IN bestelopdracht
|
||||
LOOP
|
||||
bes.setbestelopdrstatus (rec.bes_bestelopdr_key, 8, 3);
|
||||
|
||||
SELECT 'Bestelling '
|
||||
|| rec.bes_bestelopdr_key
|
||||
|| ' geannuleerd ivm ontbreken CVP of BTW'
|
||||
INTO v_onderwerp
|
||||
FROM DUAL;
|
||||
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
fac_notificatie_receiver_email,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit)
|
||||
VALUES (v_srtnotificatie_key,
|
||||
2,
|
||||
'FCC@BELASTINGDIENST.NL',
|
||||
v_onderwerp,
|
||||
rec.bes_bestelopdr_key,
|
||||
2);
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN bestelling
|
||||
LOOP
|
||||
bes.setbestellingstatus (rec.bes_bestelling_key, 8, 3);
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.writelog ('Annuleren order',
|
||||
'E',
|
||||
v_errormsg,
|
||||
'');
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2460,7 +2564,8 @@ AS
|
||||
AND bki.bes_bestelling_item_key=ba.bes_bestelling_item_key
|
||||
AND bk.bes_kenmerk_key = bki.bes_kenmerk_key
|
||||
AND bsk.bes_srtkenmerk_key = bk.bes_srtkenmerk_key
|
||||
AND bsk.bes_srtkenmerk_upper='BTW') meta_art,
|
||||
AND bsk.bes_srtkenmerk_upper='BTW') meta_art,
|
||||
|
||||
(SELECT bkb.bes_kenmerkbesteli_waarde
|
||||
FROM bes_kenmerk bk, bes_srtkenmerk bs, bes_kenmerkbesteli bkb
|
||||
WHERE bs.bes_srtkenmerk_upper='CPV_CODE'
|
||||
@@ -2585,13 +2690,14 @@ AS
|
||||
CURSOR sel
|
||||
IS
|
||||
SELECT distinct b.bes_bestelopdr_key bes_key,
|
||||
bb.bes_bestelling_key bes_bestel_key,
|
||||
COALESCE(b.bes_bestelopdr_leverdatum,b.bes_bestelopdr_datum) leverdatum,
|
||||
(SELECT prs_kostenplaats_nr FROM prs_kostenplaats WHERE prs_kostenplaats_key=bb.prs_kostenplaats_key) kostenplaats,
|
||||
(SELECT prs_kostenplaats_extern FROM prs_kostenplaats WHERE prs_kostenplaats_key=bb.prs_kostenplaats_key) extern,
|
||||
(SELECT prs_bedrijf.prs_leverancier_nr FROM prs_bedrijf WHERE prs_bedrijf_key=b.prs_bedrijf_key) leveranciernr,
|
||||
(SELECT prs_perslid_naam_friendly FROM prs_v_perslid_fullnames WHERE prs_perslid_key = b.prs_perslid_key) besteller,
|
||||
--(SELECT ins_discipline_externnr FROM bes_discipline where UPPER(ins_discipline_omschrijving)='LYRECO - KANTOORARTIKELEN') catalogus_id,
|
||||
'Lyreco bestelling' omschrijving,
|
||||
'Bestelling '||b.bes_bestelopdr_key omschrijving,
|
||||
b.bes_bestelopdr_opmerking opmerking,
|
||||
ma.mld_adres_gebouw_ruimte gebouwCode,
|
||||
(SELECT alg_onrgoedkenmerk_waarde
|
||||
@@ -2706,8 +2812,8 @@ BEGIN
|
||||
FOR rec in sel
|
||||
LOOP
|
||||
|
||||
--v_SAPID := blst.get_SAPid ();
|
||||
v_SAPID := 'BHCATERING';
|
||||
v_SAPID := blst.get_SAPid ();
|
||||
--v_SAPID := 'BHCATERING';
|
||||
v_guid := blst.getguid ();
|
||||
v_aanvraagnr := blst.getAanvraagNr (rec.bes_key, 'BES');
|
||||
v_bestand := v_base || '-' || v_counter || '-';
|
||||
@@ -2737,7 +2843,7 @@ BEGIN
|
||||
ELSE
|
||||
SELECT bk.bes_kenmerk_key
|
||||
INTO v_kenmerk_key
|
||||
FROM bes_srtkenmerk bs, bes_kenmerk bk
|
||||
FROM bes_srtkenmerk bs, bes_kenmerk bk
|
||||
WHERE bs.bes_srtkenmerk_upper='SAP_ID'
|
||||
AND bk.bes_srtkenmerk_key = bs.bes_srtkenmerk_key
|
||||
AND bk.bes_kenmerk_verwijder IS NULL;
|
||||
@@ -2746,7 +2852,7 @@ BEGIN
|
||||
|
||||
IF v_kenmerk_key > 0
|
||||
THEN
|
||||
flx.setflex ('BES', v_kenmerk_key, rec.bes_key, v_aanvraagNr);
|
||||
flx.setflex ('BES', v_kenmerk_key, rec.bes_bestel_key, v_aanvraagNr);
|
||||
END IF;
|
||||
|
||||
--blst.add_xml_element (v_bestand,'ReserveringNr', blst.getAanvraagNr (TO_CHAR (rec.res_key)));
|
||||
@@ -5908,7 +6014,8 @@ AS
|
||||
prs_afdeling a,
|
||||
prs_afdeling bu,
|
||||
(SELECT m.mld_melding_key,
|
||||
TRUNC (mld.getmeldingstatusdate (m.mld_melding_key, 5))
|
||||
--- TRUNC (mld.getmeldingstatusdate (m.mld_melding_key, 5))
|
||||
(mld.getmeldingstatusdate (m.mld_melding_key, 5))
|
||||
afgemeld,
|
||||
mld.getactualuitvoer (m.mld_melding_key)
|
||||
t_doorlooptijd,
|
||||
@@ -6178,7 +6285,8 @@ AS
|
||||
END
|
||||
afdeling,
|
||||
m.mld_melding_key,
|
||||
TRUNC (mld.getmeldingstatusdate (m.mld_melding_key, 5))
|
||||
--- TRUNC (mld.getmeldingstatusdate (m.mld_melding_key, 5))
|
||||
(mld.getmeldingstatusdate (m.mld_melding_key, 5))
|
||||
afgemeld,
|
||||
m.mld_melding_satisfaction,
|
||||
CASE WHEN m.mld_melding_satisfaction IS NOT NULL THEN 1 ELSE 0 END
|
||||
@@ -6959,15 +7067,52 @@ AS
|
||||
m.mld_melding_datum,
|
||||
afgemeld,
|
||||
CASE
|
||||
WHEN sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren
|
||||
WHEN sla.t_doorlooptijd.eenheid = 'U'
|
||||
THEN
|
||||
'Ja'
|
||||
CASE
|
||||
WHEN -- dan berekenen of aan de SLA in uren wordt voldaan als sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren dan sla behaald
|
||||
sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren
|
||||
THEN
|
||||
'Ja'
|
||||
ELSE
|
||||
'Nee'
|
||||
END
|
||||
WHEN sla.t_doorlooptijd.eenheid = 'D'
|
||||
THEN
|
||||
CASE
|
||||
WHEN -- dan berekenen of aan de SLA in uren wordt voldaan als sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren dan sla behaald
|
||||
sla.t_doorlooptijd.tijdsduur <= sla.sla_werkdgn
|
||||
THEN
|
||||
'Ja'
|
||||
ELSE
|
||||
'Nee'
|
||||
END
|
||||
ELSE
|
||||
'Nee'
|
||||
'Onbekend'
|
||||
END sla_behaald,
|
||||
CASE
|
||||
WHEN sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren THEN 1
|
||||
ELSE 0
|
||||
WHEN sla.t_doorlooptijd.eenheid = 'U'
|
||||
THEN
|
||||
CASE
|
||||
WHEN -- dan berekenen of aan de SLA in uren wordt voldaan als sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren dan sla behaald
|
||||
sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren
|
||||
THEN
|
||||
1
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
WHEN sla.t_doorlooptijd.eenheid = 'D'
|
||||
THEN
|
||||
CASE
|
||||
WHEN -- dan berekenen of aan de SLA in uren wordt voldaan als sla.t_doorlooptijd.tijdsduur <= sla.sla_werkuren dan sla behaald
|
||||
sla.t_doorlooptijd.tijdsduur <= sla.sla_werkdgn
|
||||
THEN
|
||||
1
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
ELSE
|
||||
0
|
||||
END telling_sla
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
@@ -7017,7 +7162,7 @@ AS
|
||||
AND vgt.ins_srtdiscipline_key = vg.ins_srtdiscipline_key
|
||||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND a.prs_afdeling_parentkey = bu.prs_afdeling_key(+);
|
||||
AND a.prs_afdeling_parentkey = bu.prs_afdeling_key(+);
|
||||
|
||||
CREATE OR REPLACE VIEW BLST_V_RAP_URGENTE_MELDINGEN_VG
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user