FSN#19935

svn path=/Database/trunk/; revision=10595
This commit is contained in:
Peter Feij
2011-02-24 17:52:00 +00:00
parent a321b68ae1
commit 2bea19bd29
12 changed files with 742 additions and 357 deletions

View File

@@ -1,14 +1,14 @@
#ifdef BES // 03-11-2000 PF
/* BES_PAC.SRC
* $Revision: 73 $
* $Modtime: 25-01-11 13:26 $
* $Revision: 74 $
* $Modtime: 24-02-11 16:18 $
*/
-- STATUS: TESTEN
-- Wens is om met 5i alle bes-functies in de BES-package te hebben
CREATE OR REPLACE PACKAGE bes
AS
FUNCTION calcartikelkortingsprijs (pins_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER;
PROCEDURE calcopdrachtbedragkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER,
@@ -42,11 +42,11 @@ END bes;
CREATE OR REPLACE PACKAGE BODY bes
AS
FUNCTION calcartikelkortingsprijs (pins_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER
AS
lstaffeltabelkey bes_staffeltabel.bes_staffeltabel_key%TYPE;
lprijs ins_srtdeel.ins_srtdeel_prijs%TYPE;
lprijs bes_srtdeel.bes_srtdeel_prijs%TYPE;
lstaffeltype bes_staffeltabel.fac_typestaffel_key%TYPE;
lstaffelkorting bes_staffel.bes_staffel_korting%TYPE;
lkortingsprijs NUMBER;
@@ -60,15 +60,15 @@ AS
BEGIN
SELECT sd.bes_staffeltabel_key,
sd.ins_srtdeel_prijs,
sd.bes_srtdeel_prijs,
st.fac_typestaffel_key
INTO lstaffeltabelkey,
lprijs,
lstaffeltype
FROM ins_srtdeel sd,
FROM bes_srtdeel sd,
bes_staffeltabel st
WHERE sd.bes_staffeltabel_key = st.bes_staffeltabel_key
AND sd.ins_srtdeel_key = pins_srtdeel_key;
AND sd.bes_srtdeel_key = pbes_srtdeel_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
@@ -80,7 +80,7 @@ AS
SELECT COALESCE(MIN(bes_staffel_korting), 0)
INTO lstaffelkorting
FROM bes_staffel s1
WHERE s1.bes_staffeltabel_key = lstaffeltabelkey
WHERE s1.bes_staffeltabel_key = lstaffeltabelkey
AND (s1.bes_staffel_grenswaarde > pbestelaantal OR s1.bes_staffel_grenswaarde IS NULL)
AND NOT EXISTS
(SELECT 'X'
@@ -125,10 +125,10 @@ AS
-- 50 -> 5%
-- Dan is 30 (euro) tussen 20 en 50 en geldt 5% korting
-- Je moet dus het laagste hogere record vinden. Voor de bovengrens (hooogste staffel) is de grenswaarde NULL
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- de laagste grenswaarde moet pakken. Levert nu de verkeerde waarde op in het rare geval dat
-- de korting *lager* wordt als je in de hoogste staffel komt, bijvoorbeeld
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- er een verrassend probleem optreden, is dit alvast de tip.
SELECT COALESCE(MIN(prs_staffel_korting), 0)
INTO lkorting
@@ -181,7 +181,7 @@ AS
AS
lstaffelgroep bes_staffeltabel.bes_staffeltabel_groep%TYPE;
lstaffeltabelkey bes_staffeltabel.bes_staffeltabel_key%TYPE;
lprijs ins_srtdeel.ins_srtdeel_prijs%TYPE;
lprijs bes_srtdeel.bes_srtdeel_prijs%TYPE;
lstaffeltype bes_staffeltabel.fac_typestaffel_key%TYPE;
lstaffelkorting bes_staffel.bes_staffel_korting%TYPE;
lkortingsprijs NUMBER;
@@ -198,25 +198,25 @@ AS
SELECT st.bes_staffeltabel_groep,
sd.bes_staffeltabel_key,
st.fac_typestaffel_key,
sd.ins_srtdeel_prijs,
sd.bes_srtdeel_prijs,
bi.bes_bestelling_item_aantal
INTO lstaffelgroep,
lstaffeltabelkey,
lstaffeltype,
lprijs,
laantalbesteld
FROM ins_srtdeel sd, bes_staffeltabel st, bes_bestelling_item bi
FROM bes_srtdeel sd, bes_staffeltabel st, bes_bestelling_item bi
WHERE sd.bes_staffeltabel_key = st.bes_staffeltabel_key
AND sd.ins_srtdeel_key = bi.ins_srtdeel_key
AND sd.bes_srtdeel_key = bi.bes_srtdeel_key
AND bi.bes_bestelling_item_key = pbes_bestelling_item_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
BEGIN
SELECT sd.ins_srtdeel_prijs
SELECT sd.bes_srtdeel_prijs
INTO lprijs
FROM ins_srtdeel sd, bes_bestelling_item bi
WHERE sd.ins_srtdeel_key = bi.ins_srtdeel_key
FROM bes_srtdeel sd, bes_bestelling_item bi
WHERE sd.bes_srtdeel_key = bi.bes_srtdeel_key
AND bi.bes_bestelling_item_key = pbes_bestelling_item_key;
RETURN lprijs;
END;
@@ -226,8 +226,8 @@ AS
THEN
SELECT SUM (bi.bes_bestelling_item_aantal)
INTO laantalbesteld
FROM bes_bestelling_item bi, ins_srtdeel sd
WHERE sd.ins_srtdeel_key = bi.ins_srtdeel_key
FROM bes_bestelling_item bi, bes_srtdeel sd
WHERE sd.bes_srtdeel_key = bi.bes_srtdeel_key
AND sd.bes_staffeltabel_key = lstaffeltabelkey
AND bi.bes_bestelling_item_key = pbes_bestelling_item_key;
END IF;
@@ -237,7 +237,7 @@ AS
SELECT COALESCE(MIN(bes_staffel_korting), 0)
INTO lstaffelkorting
FROM bes_staffel s1
WHERE s1.bes_staffeltabel_key = lstaffeltabelkey
WHERE s1.bes_staffeltabel_key = lstaffeltabelkey
AND (s1.bes_staffel_grenswaarde > laantalbesteld OR s1.bes_staffel_grenswaarde IS NULL)
AND NOT EXISTS
(SELECT 'X'
@@ -291,10 +291,10 @@ AS
-- 50 -> 5%
-- Dan is 30 (euro) tussen 20 en 50 en geldt 5% korting
-- Je moet dus het laagste hogere record vinden. Voor de bovengrens (hooogste staffel) is de grenswaarde NULL
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- de laagste grenswaarde moet pakken. Levert nu de verkeerde waarde op in het rare geval dat
-- de korting *lager* wordt als je in de hoogste staffel komt, bijvoorbeeld
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- er een verrassend probleem optreden, is dit alvast de tip.
SELECT COALESCE(MIN(prs_staffel_korting), 0)
INTO lkorting
@@ -608,7 +608,7 @@ AS
DATE_TO_CHAR (lbes_bestelling_datum, 'DD-MM-YY HH24:MI')
);
END IF;
RETURN s;
END;
FUNCTION opdrsprintf (ps IN VARCHAR2, pbes_bestelopdr_key IN NUMBER)
@@ -648,13 +648,13 @@ IS
IS
SELECT TO_CHAR (boi.bes_bestelopdr_item_aantal)
|| 'x '
|| s.ins_srtdeel_omschrijving
|| s.bes_srtdeel_omschrijving /* lcl.x()?*/
|| ' ('
|| s.ins_srtdeel_eenheid
|| s.bes_srtdeel_eenheid
|| ') ' besitemdsc
FROM bes_bestelopdr_item boi, bes_bestelling_item bi, ins_srtdeel s
FROM bes_bestelopdr_item boi, bes_bestelling_item bi, bes_srtdeel s
WHERE boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND bi.ins_srtdeel_key = s.ins_srtdeel_key
AND bi.bes_srtdeel_key = s.bes_srtdeel_key
AND boi.bes_bestelopdr_key = besopdrkey;
BEGIN
lret := NULL;
@@ -690,44 +690,42 @@ END;
CREATE OR REPLACE PROCEDURE BES_Check_or_Create_Item (
p_ins_discipline_key IN NUMBER,
p_ins_srtgroep_omschrijving IN VARCHAR2, -- VARCHAR2(60)
p_ins_srtdeel_omschrijving IN VARCHAR2, -- VARCHAR2 (60)
p_ins_srtdeel_prijs IN NUMBER, -- NUMBER (8,2)
p_ins_srtdeel_btw IN NUMBER, -- NUMBER (3)
p_ins_srtdeel_eenheid IN VARCHAR2, -- VARCHAR2 (30)
p_ins_srtdeel_nr IN VARCHAR2, -- VARCHAR2 (32)
p_bes_srtgroep_omschrijving IN VARCHAR2, -- VARCHAR2(60)
p_bes_srtdeel_omschrijving IN VARCHAR2, -- VARCHAR2 (60)
p_bes_srtdeel_prijs IN NUMBER, -- NUMBER (8,2)
p_bes_srtdeel_btw IN NUMBER, -- NUMBER (3)
p_bes_srtdeel_eenheid IN VARCHAR2, -- VARCHAR2 (30)
p_bes_srtdeel_nr IN VARCHAR2, -- VARCHAR2 (32)
p_prs_bedrijf_key IN NUMBER,
p_ins_srtdeel_vervaldatum IN DATE,
p_ins_srtdeel_image IN VARCHAR2, -- VARCHAR2 (255)
p_ins_srtdeel_veelvoud IN NUMBER -- NUMBER (6)
p_bes_srtdeel_vervaldatum IN DATE,
p_bes_srtdeel_image IN VARCHAR2, -- VARCHAR2 (255)
p_bes_srtdeel_veelvoud IN NUMBER -- NUMBER (6)
) IS
v_ins_srtgroep_key NUMBER(10);
v_ins_srtdeel_key NUMBER(10);
v_bes_srtgroep_key NUMBER(10);
v_bes_srtdeel_key NUMBER(10);
v_prs_bedrijf_key NUMBER(10);
BEGIN
BEGIN
SELECT ins_srtgroep_key
INTO v_ins_srtgroep_key
FROM ins_srtgroep
SELECT bes_srtgroep_key
INTO v_bes_srtgroep_key
FROM bes_srtgroep
WHERE ins_discipline_key = p_ins_discipline_key
AND ins_srtgroep_module = 'BES'
AND ins_srtgroep_upper = upper(p_ins_srtgroep_omschrijving);
AND UPPER(bes_srtgroep_omschrijving) = UPPER(p_bes_srtgroep_omschrijving);
EXCEPTION WHEN NO_DATA_FOUND THEN
v_ins_srtgroep_key := -1;
v_bes_srtgroep_key := -1;
END;
IF v_ins_srtgroep_key = -1 THEN
INSERT INTO ins_srtgroep
(ins_discipline_key, ins_srtgroep_omschrijving, ins_srtgroep_module)
IF v_bes_srtgroep_key = -1 THEN
INSERT INTO bes_srtgroep
(ins_discipline_key, bes_srtgroep_omschrijving)
VALUES
(p_ins_discipline_key, p_ins_srtgroep_omschrijving, 'BES');
(p_ins_discipline_key, p_bes_srtgroep_omschrijving);
SELECT ins_srtgroep_key
INTO v_ins_srtgroep_key
FROM ins_srtgroep
SELECT bes_srtgroep_key
INTO v_bes_srtgroep_key
FROM bes_srtgroep
WHERE ins_discipline_key = p_ins_discipline_key
AND ins_srtgroep_module = 'BES'
AND ins_srtgroep_upper = upper(p_ins_srtgroep_omschrijving);
AND UPPER(bes_srtgroep_omschrijving) = UPPER(p_bes_srtgroep_omschrijving);
END IF;
IF p_prs_bedrijf_key = -1 THEN
@@ -738,61 +736,59 @@ BEGIN
WHERE bes_ins_discipline_key = p_ins_discipline_key;
EXCEPTION WHEN NO_DATA_FOUND THEN
v_prs_bedrijf_key := -1;
END;
END;
ELSE
v_prs_bedrijf_key := p_prs_bedrijf_key;
END IF;
BEGIN
SELECT INS_SRTDEEL_KEY
INTO v_INS_SRTDEEL_KEY
FROM ins_srtdeel sd
WHERE ins_srtgroep_key = v_ins_srtgroep_key
AND ins_srtdeel_nr = p_ins_srtdeel_nr
AND ins_srtdeel_omschrijving = p_ins_srtdeel_omschrijving
AND ins_srtdeel_prijs = p_ins_srtdeel_prijs
AND ins_srtdeel_btw = p_ins_srtdeel_btw
AND ins_srtdeel_eenheid = p_ins_srtdeel_eenheid
SELECT bes_srtDEEL_KEY
INTO v_bes_srtDEEL_KEY
FROM bes_srtdeel sd
WHERE bes_srtgroep_key = v_bes_srtgroep_key
AND bes_srtdeel_nr = p_bes_srtdeel_nr
AND bes_srtdeel_omschrijving = p_bes_srtdeel_omschrijving
AND bes_srtdeel_prijs = p_bes_srtdeel_prijs
AND bes_srtdeel_btw = p_bes_srtdeel_btw
AND bes_srtdeel_eenheid = p_bes_srtdeel_eenheid
AND prs_bedrijf_key = v_prs_bedrijf_key
AND ins_srtdeel_veelvoud = p_ins_srtdeel_veelvoud
AND bes_srtdeel_veelvoud = p_bes_srtdeel_veelvoud
AND rownum = 1;
EXCEPTION WHEN NO_DATA_FOUND THEN
v_ins_srtdeel_key := -1;
v_bes_srtdeel_key := -1;
END;
commit;
IF v_ins_srtdeel_key = -1 THEN
SELECT ins_s_ins_srtinst_keys.nextval INTO v_ins_srtdeel_key FROM DUAL;
IF v_bes_srtdeel_key = -1 THEN
SELECT bes_s_bes_srtdeel_key.nextval INTO v_bes_srtdeel_key FROM DUAL;
INSERT INTO ins_srtdeel
( ins_srtdeel_key
, ins_srtdeel_code
, ins_srtgroep_key
, ins_srtdeel_omschrijving
, ins_srtdeel_prijs
, ins_srtdeel_btw
, ins_srtdeel_eenheid
, ins_srtdeel_nr
INSERT INTO bes_srtdeel
( bes_srtdeel_key
, bes_srtdeel_code
, bes_srtgroep_key
, bes_srtdeel_omschrijving
, bes_srtdeel_prijs
, bes_srtdeel_btw
, bes_srtdeel_eenheid
, bes_srtdeel_nr
, prs_bedrijf_key
, ins_srtdeel_vervaldatum
, ins_srtdeel_image
, ins_srtdeel_veelvoud
, ins_srtdeel_verwijder
, ins_srtdeel_module )
, bes_srtdeel_vervaldatum
, bes_srtdeel_image
, bes_srtdeel_veelvoud
, bes_srtdeel_verwijder)
VALUES
( v_ins_srtdeel_key
, v_ins_srtdeel_key
, v_ins_srtgroep_key
, p_ins_srtdeel_omschrijving
, p_ins_srtdeel_prijs
, p_ins_srtdeel_btw
, p_ins_srtdeel_eenheid
, p_ins_srtdeel_nr
( v_bes_srtdeel_key
, v_bes_srtdeel_key
, v_bes_srtgroep_key
, p_bes_srtdeel_omschrijving
, p_bes_srtdeel_prijs
, p_bes_srtdeel_btw
, p_bes_srtdeel_eenheid
, p_bes_srtdeel_nr
, v_prs_bedrijf_key
, p_ins_srtdeel_vervaldatum
, p_ins_srtdeel_image
, p_ins_srtdeel_veelvoud
, sysdate
, 'BES');
END IF;
, p_bes_srtdeel_vervaldatum
, p_bes_srtdeel_image
, p_bes_srtdeel_veelvoud
, sysdate);
END IF;
END BES_Check_or_Create_Item;
/
@@ -822,13 +818,13 @@ AS
CURSOR tebestellen
IS
SELECT bd.prs_bedrijf_key, bd.prs_bedrijf_naam, s.ins_srtdeel_omschrijving,
NVL (s.ins_srtdeel_eenheid, '') ins_srtdeel_eenheid, NVL (s.ins_srtdeel_prijs, 0) ins_srtdeel_prijs,
s.ins_srtdeel_key, bi.bes_bestelling_item_key, bi.bes_bestelling_item_aantal,
SELECT bd.prs_bedrijf_key, bd.prs_bedrijf_naam, s.bes_srtdeel_omschrijving,
NVL (s.bes_srtdeel_eenheid, '') bes_srtdeel_eenheid, NVL (s.bes_srtdeel_prijs, 0) bes_srtdeel_prijs,
s.bes_srtdeel_key, bi.bes_bestelling_item_key, bi.bes_bestelling_item_aantal,
NVL (b.mld_adres_key_lev, abd.mld_adres_key_lev) mld_adres_key_lev, p.prs_afdeling_key,
abd.mld_adres_key_fac, NVL (s.ins_srtdeel_inkprijs, 0) ins_srtdeel_inkprijs
abd.mld_adres_key_fac, NVL (s.bes_srtdeel_inkprijs, 0) bes_srtdeel_inkprijs
FROM prs_bedrijf bd,
ins_srtdeel s,
bes_srtdeel s,
bes_bestelling_item bi,
bes_bestelling b,
prs_perslid p,
@@ -838,7 +834,7 @@ AS
AND p.prs_afdeling_key = d.prs_afdeling_key
AND b.prs_perslid_key = p.prs_perslid_key
AND bi.bes_bestelling_key = b.bes_bestelling_key
AND s.ins_srtdeel_key = bi.ins_srtdeel_key
AND s.bes_srtdeel_key = bi.bes_srtdeel_key
AND s.prs_bedrijf_key = bd.prs_bedrijf_key
AND b.bes_bestelling_status IN (1, 2, 3, 4) -- om dubbelen te vermijden
AND b.bes_bestelling_key = rfo_key
@@ -950,15 +946,15 @@ BEGIN
-- Indien dit ooit anders moet, bv bundeling, dan moet alleen dit anders:
lbord_id := TO_CHAR(rfo_key)||'/'|| bedrijfvolgnr;
--DBMS_OUTPUT.put_line ('Bestelopdracht maken: ' || TO_CHAR (lbord_key));
INSERT INTO bes_bestelopdr
(bes_bestelopdr_key, bes_bestelopdr_module, bes_bestelopdr_status, prs_bedrijf_key,
(bes_bestelopdr_key, bes_bestelopdr_status, prs_bedrijf_key,
bes_bestelopdr_datum, mld_adres_key_lev, mld_adres_key_fac,
prs_perslid_key,
bes_bestelopdr_item_cnt, bes_bestelopdr_item_cnt_lev, bes_bestelopdr_id
)
VALUES (lbord_key, 'BES', 3, rec1.prs_bedrijf_key,
VALUES (lbord_key, 3, rec1.prs_bedrijf_key,
SYSDATE, rec1.mld_adres_key_lev, factura_key,
i_userkey,
0, 0, lbord_id
@@ -977,8 +973,8 @@ BEGIN
bes_bestelopdr_item_prijs
)
VALUES (bes_s_bes_bestelopdr_item_key.NEXTVAL, aantalopdrachtregels + 1, lbord_key,
rec1.bes_bestelling_item_aantal, NULL, rec1.ins_srtdeel_omschrijving,
rec1.ins_srtdeel_prijs, NULL, rec1.ins_srtdeel_inkprijs,
rec1.bes_bestelling_item_aantal, NULL, rec1.bes_srtdeel_omschrijving,
rec1.bes_srtdeel_prijs, NULL, rec1.bes_srtdeel_inkprijs,
itemprijsmetkorting
);
@@ -1003,6 +999,6 @@ BEGIN
END;
/
REGISTERRUN('$Workfile: BES_PAC.SRC $','$Revision: 73 $')
REGISTERRUN('$Workfile: BES_PAC.SRC $','$Revision: 74 $')
#endif // BES

View File

@@ -1,8 +1,10 @@
#ifdef BES // 03-11-2000 PF
/* BES_SEQ.SRC
* $Revision: 8 $
* $Modtime: 6-09-10 15:13 $
* $Revision: 9 $
* $Modtime: 24-02-11 15:49 $
*/
CREATE SEQUENCE bes_s_bes_srtgroep_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtdeel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bestelling_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE bes_s_bes_bestelling_item_key MINVALUE 1;
@@ -22,6 +24,6 @@ CREATE SEQUENCE bes_s_bes_favoriet_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffeltabel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffel_key MINVALUE 1;
REGISTERONCE('$Workfile: BES_SEQ.SRC $','$Revision: 8 $')
REGISTERONCE('$Workfile: BES_SEQ.SRC $','$Revision: 9 $')
#endif // BES

View File

@@ -1,9 +1,108 @@
#ifdef BES // 03-11-2000 PF
/* BES_TAB.SRC
* $Revision: 71 $
* $Modtime: 23-02-11 12:23 $
* $Revision: 72 $
* $Modtime: 24-02-11 17:47 $
*/
CREATE_TABLE (bes_staffeltabel, 0)
(
bes_staffeltabel_key
NUMBER (10) PRIMARY KEY,
bes_staffeltabel_naam
VARCHAR2 (30 CHAR) NOT NULL,
fac_typestaffel_key
NUMBER(10) REFERENCES fac_typestaffel(fac_typestaffel_key) NOT NULL,
bes_staffeltabel_groep
NUMBER (1) /* null/0 of 1 */
);
CREATE_TABLE(bes_srtgroep,0)
(
bes_srtgroep_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtgroep_key PRIMARY KEY,
ins_discipline_key
NUMBER(10)
NOT_NULL(ins_discipline_key, bes_r_ins_discipline_key1)
CONSTRAINT bes_r_ins_discipline_key2 REFERENCES ins_tab_discipline,
bes_srtgroep_omschrijving
VARCHAR2(60)
NOT_NULL(bes_srtgroep_omschrijving, bes_c_bes_srtgroep_omschr),
bes_srtgroep_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtgroep_aanmaak, bes_c_bes_srtgroep_aanmaak),
bes_srtgroep_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT bes_u_bes_srtgroep_oms UNIQUE(ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_verwijder)
);
CREATE_TABLE(bes_srtdeel,0)
(
bes_srtdeel_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtdeel_key PRIMARY KEY,
bes_srtgroep_key
NUMBER(10)
NOT_NULL(bes_srtgroep_key, bes_r_bes_srtgroep_key1)
CONSTRAINT bes_r_bes_srtgroep_key2 REFERENCES bes_srtgroep,
bes_srtdeel_code
VARCHAR2(10)
NOT_NULL(bes_srtdeel_code, bes_c_bes_srtdeel_code),
bes_srtdeel_omschrijving
VARCHAR2(100)
NOT_NULL(bes_srtdeel_omschrijving, bes_c_bes_srtdeel_omschrijving),
bes_srtdeel_opmerking
VARCHAR(2000 CHAR),
bes_srtdeel_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtdeel_aanmaak, bes_c_bes_srtdeel_aanmaak),
bes_srtdeel_verwijder
DATE
DEFAULT NULLDATUM,
bes_srtdeel_volgnr
NUMBER(3),
bes_srtdeel_prijs
NUMBER(8,2),
bes_srtdeel_inkprijs
NUMBER(8,2),
bes_srtdeel_btw
NUMBER(3),
bes_srtdeel_eenheid
VARCHAR2(30),
bes_srtdeel_dimensie
NUMBER(1),
bes_srtdeel_preview /* BES: wel(1)/geen(0) preview tonen voor bestellen */
NUMBER(1)
DEFAULT 0,
bes_srtdeel_nr
VARCHAR2(32),
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
bes_srtdeel_vervaldatum
DATE,
bes_srtdeel_image
VARCHAR2(255),
bes_srtdeel_veelvoud
NUMBER(6),
bes_srtdeel_minimum
NUMBER(6),
bes_staffeltabel_key
NUMBER(10)
CONSTRAINT bes_r_staffeltabel2 REFERENCES bes_staffeltabel(bes_staffeltabel_key),
bes_srtdeel_prsflex /* kan wel(1) of geen (0)persoonsafhankelijke flexkenmerken bevatten */
NUMBER(1)
DEFAULT 0,
bes_srtdeel_voorraadmin
NUMBER(6),
bes_srtdeel_voorraadmax
NUMBER(6)
);
CREATE_TABLE(bes_bestelling, 0)
(
bes_bestelling_key
@@ -162,10 +261,10 @@ CREATE_TABLE(bes_bestelling_item, 0)
NUMBER(10)
CONSTRAINT bes_c_bes_bestelling_key CHECK(bes_bestelling_key IS NOT NULL)
CONSTRAINT bes_r_bes_bestelling_key1 REFERENCES bes_bestelling(bes_bestelling_key) ON DELETE CASCADE,
ins_srtdeel_key
bes_srtdeel_key
NUMBER(10)
CONSTRAINT bes_c_ins_srtdeel_key1 CHECK(ins_srtdeel_key IS NOT NULL)
CONSTRAINT bes_r_ins_srtdeel_key REFERENCES ins_srtdeel(ins_srtdeel_key),
CONSTRAINT bes_c_bes_srtdeel_key1 CHECK(bes_srtdeel_key IS NOT NULL)
CONSTRAINT bes_r_bes_srtdeel_key REFERENCES bes_srtdeel(bes_srtdeel_key),
bes_bestelling_item_aantal
NUMBER(5)
CONSTRAINT bes_c_bes_bestelling_i_aantal CHECK(bes_bestelling_item_aantal IS NOT NULL),
@@ -444,26 +543,8 @@ CREATE_TABLE(bes_favoriet, 0)
VARCHAR2(50),
prs_perslid_key
NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
ins_srtdeel_key
NUMBER(10) REFERENCES ins_srtdeel(ins_srtdeel_key) ON DELETE CASCADE
);
CREATE_TABLE (bes_staffeltabel, 0)
(
bes_staffeltabel_key
NUMBER (10) PRIMARY KEY,
bes_staffeltabel_naam
VARCHAR2 (30 CHAR) NOT NULL,
fac_typestaffel_key
NUMBER(10) REFERENCES fac_typestaffel(fac_typestaffel_key) NOT NULL,
bes_staffeltabel_groep
NUMBER (1) /* null/0 of 1 */
);
ALTER TABLE ins_srtdeel ADD (
bes_staffeltabel_key
NUMBER(10)
CONSTRAINT bes_r_staffeltabel1 REFERENCES bes_staffeltabel(bes_staffeltabel_key)
bes_srtdeel_key
NUMBER(10) REFERENCES bes_srtdeel(bess_srtdeel_key) ON DELETE CASCADE
);
CREATE_TABLE (bes_staffel, 0)
@@ -478,6 +559,6 @@ CREATE_TABLE (bes_staffel, 0)
NUMBER (12, 6) NOT NULL
);
REGISTERONCE('$Workfile: BES_TAB.SRC $','$Revision: 71 $')
REGISTERONCE('$Workfile: BES_TAB.SRC $','$Revision: 72 $')
#endif // BES

View File

@@ -1,9 +1,27 @@
#ifdef BES // 03-11-2000 PF
/* BES_TRI.SRC
* $Revision: 54 $
* $Modtime: 6-09-10 15:11 $
* $Revision: 55 $
* $Modtime: 24-02-11 17:50 $
*/
CREATE_TRIGGER(bes_t_bes_srtgroep_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtgroep
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtgroep_key,bes_s_bes_srtgroep_key);
SET_VERWIJDER_CHILDREN(bes_srtdeel, bes_srtgroep_key, bes_srtgroep_verwijder,
bes_srtdeel_verwijder,bes_srtgroep);
END;
/
CREATE_TRIGGER(bes_t_bes_srtdeel_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtdeel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtdeel_key,bes_s_bes_srtdeel_key);
END;
/
/*
* Wat info:
* Oorspronkelijk was er een complex mechanisme met redundante info met betrekking
@@ -77,8 +95,8 @@ END;
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelopdr_item
BEFORE INSERT OR UPDATE
ON bes_bestelopdr_item
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelopdr_item_key,bes_s_bes_bestelopdr_item_key);
@@ -86,8 +104,8 @@ END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_b_u)
BEFORE UPDATE
ON bes_bestelopdr_item
BEFORE UPDATE
ON bes_bestelopdr_item
FOR EACH ROW
BEGIN
-- Bewaak het aantal geleverde regels
@@ -556,6 +574,6 @@ BEGIN
UPDATE_PRIMARY_KEY(bes_staffel_key, bes_s_bes_staffel_key);
END;
/
REGISTERRUN('$Workfile: BES_TRI.SRC $','$Revision: 54 $')
REGISTERRUN('$Workfile: BES_TRI.SRC $','$Revision: 55 $')
#endif // BES

View File

@@ -1,7 +1,7 @@
#ifdef BES // 03-11-2000 PF
/*
* $Revision: 33 $
* $Modtime: 6-09-10 15:11 $
* $Revision: 34 $
* $Modtime: 24-02-11 16:14 $
*/
CREATE_VIEW(bes_discipline, 0)
@@ -13,12 +13,11 @@ DEFINIEER_VIEW_AANWEZIG(bes_discipline, ins_discipline_verwijder,
CREATE_VIEW(bes_v_aanwezigsrtgroep, 0)
AS
SELECT * FROM ins_srtgroep WHERE ins_srtgroep_module='BES' AND ins_srtgroep_verwijder IS NULL;
SELECT * FROM bes_srtgroep WHERE bes_srtgroep_verwijder IS NULL;
CREATE_VIEW(bes_v_aanwezigsrtdeel, 0)
AS
SELECT * FROM ins_srtdeel WHERE ins_srtdeel_module='BES'
AND ins_srtdeel_verwijder IS NULL;
SELECT * FROM bes_srtdeel WHERE bes_srtdeel_verwijder IS NULL;
CREATE_VIEW(bes_v_catalogus_prijsverschil,0)
( prijsverschil,
@@ -27,22 +26,22 @@ CREATE_VIEW(bes_v_catalogus_prijsverschil,0)
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
SELECT NUMBER_TO_CHAR ( ABS (f.ins_srtdeel_prijs - i.bes_srtdeel_prijs)
/ i.bes_srtdeel_prijs
* 100,
'9990.00'
),
DECODE(SIGN(f.ins_srtdeel_prijs - i.ins_srtdeel_prijs), -1, 'NEG', 0, 'NUL', 1, 'POS', 'def'),
i.ins_srtdeel_omschrijving,
DECODE(SIGN(f.ins_srtdeel_prijs - i.bes_srtdeel_prijs), -1, 'NEG', 0, 'NUL', 1, 'POS', 'def'),
i.bes_srtdeel_omschrijving,
NUMBER_TO_CHAR (f.ins_srtdeel_prijs, '99990.00'),
NUMBER_TO_CHAR (i.ins_srtdeel_prijs, '99990.00'), f.fac_imp_catalogus_id
FROM fac_imp_catalogus 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
NUMBER_TO_CHAR (i.bes_srtdeel_prijs, '99990.00'), f.fac_imp_catalogus_id
FROM fac_imp_catalogus f, bes_srtdeel i, bes_srtgroep g
WHERE i.bes_srtdeel_nr = f.ins_srtdeel_nr
AND i.bes_srtgroep_key = g.bes_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
AND i.bes_srtdeel_prijs <> f.ins_srtdeel_prijs
AND i.bes_srtdeel_prijs <> 0
AND i.bes_srtdeel_verwijder IS NULL
;
CREATE_VIEW(bes_v_catalogus_verschilovz,0)
@@ -53,8 +52,8 @@ SELECT '1. aantal artikelen huidige catalogus: ', TO_CHAR (COUNT (*)),
FROM fac_imp_catalogus b
GROUP BY b.fac_imp_catalogus_id, b.ins_discipline_key) f,
bes_v_aanwezigsrtdeel i,
ins_srtgroep g
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
bes_srtgroep g
WHERE i.bes_srtgroep_key = g.bes_srtgroep_key
AND g.ins_discipline_key = f.ins_discipline_key
GROUP BY f.fac_imp_catalogus_id
UNION
@@ -65,42 +64,42 @@ GROUP BY f.fac_imp_catalogus_id
UNION
SELECT '3. aantal artikelen in beide catalogi: ', TO_CHAR (COUNT (*)),
fac_imp_catalogus_id
FROM (SELECT i.ins_srtdeel_nr, g.ins_discipline_key, fac_imp_catalogus_id
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, fac_imp_catalogus f
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
FROM (SELECT i.bes_srtdeel_nr, g.ins_discipline_key, fac_imp_catalogus_id
FROM bes_v_aanwezigsrtdeel i, bes_srtgroep g, fac_imp_catalogus f
WHERE i.bes_srtgroep_key = g.bes_srtgroep_key
AND g.ins_discipline_key = f.ins_discipline_key
AND i.ins_srtdeel_nr = f.ins_srtdeel_nr)
AND i.bes_srtdeel_nr = f.ins_srtdeel_nr)
GROUP BY fac_imp_catalogus_id
UNION
SELECT '4. aantal gewijzigde artikelen(prijs): ', TO_CHAR (COUNT (*)),
f.fac_imp_catalogus_id
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, fac_imp_catalogus f
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
FROM bes_v_aanwezigsrtdeel i, bes_srtgroep g, fac_imp_catalogus f
WHERE i.bes_srtgroep_key = g.bes_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
AND i.bes_srtdeel_nr = f.ins_srtdeel_nr
AND i.bes_srtdeel_prijs <> f.ins_srtdeel_prijs
GROUP BY f.fac_imp_catalogus_id
UNION
SELECT '5. aantal gewijzigde artikelen(omschrijving): ',
TO_CHAR (COUNT (*)), f.fac_imp_catalogus_id
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, fac_imp_catalogus f
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
FROM bes_v_aanwezigsrtdeel i, bes_srtgroep g, fac_imp_catalogus f
WHERE i.bes_srtgroep_key = g.bes_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
AND i.bes_srtdeel_nr = f.ins_srtdeel_nr
AND i.bes_srtdeel_omschrijving <> f.ins_srtdeel_omschrijving
GROUP BY f.fac_imp_catalogus_id
UNION
SELECT '6. aantal gewijzigde artikelen(vervaldatum): ', TO_CHAR (COUNT (*)),
f.fac_imp_catalogus_id
FROM bes_v_aanwezigsrtdeel i, ins_srtgroep g, fac_imp_catalogus f
WHERE i.ins_srtgroep_key = g.ins_srtgroep_key
FROM bes_v_aanwezigsrtdeel i, bes_srtgroep g, fac_imp_catalogus f
WHERE i.bes_srtgroep_key = g.bes_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
AND i.bes_srtdeel_nr = f.ins_srtdeel_nr
AND i.bes_srtdeel_vervaldatum <> f.ins_srtdeel_vervaldatum
GROUP BY f.fac_imp_catalogus_id
UNION
SELECT '7. aantal artikelengroepen huidige catalogus: ',
TO_CHAR (COUNT (DISTINCT (ins_srtgroep_omschrijving))),
TO_CHAR (COUNT (DISTINCT (bes_srtgroep_omschrijving))),
f.fac_imp_catalogus_id
FROM (SELECT b.fac_imp_catalogus_id, b.ins_discipline_key
FROM fac_imp_catalogus b
@@ -116,13 +115,13 @@ SELECT '8. aantal artikelgroepen nieuwe catalogus: ',
GROUP BY f.fac_imp_catalogus_id
UNION
SELECT '9. aantal artikelgroepen in beide catalogi: ',
TO_CHAR (COUNT (DISTINCT (ins_srtgroep_omschrijving))),
TO_CHAR (COUNT (DISTINCT (bes_srtgroep_omschrijving))),
fac_imp_catalogus_id
FROM (SELECT g.ins_srtgroep_omschrijving, g.ins_discipline_key,
FROM (SELECT g.bes_srtgroep_omschrijving, g.ins_discipline_key,
fac_imp_catalogus_id
FROM bes_v_aanwezigsrtgroep g, fac_imp_catalogus f
WHERE g.ins_discipline_key = f.ins_discipline_key
AND g.ins_srtgroep_upper = UPPER (f.ins_srtgroep_omschrijving))
AND UPPER(g.bes_srtgroep_omschrijving) = UPPER (f.ins_srtgroep_omschrijving))
GROUP BY fac_imp_catalogus_id;
CREATE_VIEW(bes_v_qvw_algemeen, 0) (bes_bestelling_key,
@@ -207,16 +206,16 @@ AS
prs_perslid_nr personeelsnr, wp2.prs_werkplek_aanduiding werkplek,
d.ins_discipline_key ins_discipline_key,
d.ins_discipline_omschrijving catalogus,
sg.ins_srtgroep_omschrijving groep,
sg.bes_srtgroep_omschrijving groep,
TO_CHAR (b.bes_bestelling_leverdatum, 'YYYY-MM-DD') afleverdatum,
TO_CHAR (fac.count_work_days (b.bes_bestelling_datum, NVL (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key), SYSDATE))
) doorlooptijd_werkdgn,
NVL ((SELECT bdp.bes_disc_params_leverdagen
FROM bes_disc_params bdp
WHERE d.ins_discipline_key = bdp.bes_ins_discipline_key), 0) sla_tijd,
sd.ins_srtdeel_nr productcode,
sd.bes_srtdeel_nr productcode,
REPLACE (TO_CHAR (bi.bes_bestelling_item_prijs * bi.bes_bestelling_item_aantal, '9999990.99'), '.', ',') prijs,
REPLACE (TO_CHAR (NVL(sd.ins_srtdeel_inkprijs, bi.bes_bestelling_item_prijs) * bi.bes_bestelling_item_aantal, '9999990.99'), '.', ',') inkoopprijs,
REPLACE (TO_CHAR (NVL(sd.bes_srtdeel_inkprijs, bi.bes_bestelling_item_prijs) * bi.bes_bestelling_item_aantal, '9999990.99'), '.', ',') inkoopprijs,
(SELECT bes_bestellingstatuses_omschr
FROM bes_bestellingstatuses bs
WHERE bs.bes_bestellingstatuses_key = b.bes_bestelling_status) status,
@@ -225,8 +224,8 @@ AS
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user) gefiatteerddoor,
'O-' || bo.bes_bestelopdr_id bestelopdrachtnummer, bi.bes_bestelling_item_aantal aantal,
REPLACE (TO_CHAR (bi.bes_bestelling_item_prijs, '9999990.99'), '.', ',') itemprijs,
REPLACE (TO_CHAR (NVL(sd.ins_srtdeel_inkprijs, bi.bes_bestelling_item_prijs), '9999990.99'), '.', ',') iteminkoopprijs,
sd.ins_srtdeel_omschrijving productomschrijving,
REPLACE (TO_CHAR (NVL(sd.bes_srtdeel_inkprijs, bi.bes_bestelling_item_prijs), '9999990.99'), '.', ',') iteminkoopprijs,
sd.bes_srtdeel_omschrijving productomschrijving,
boi.bes_bestelopdr_item_posnr itemposnr
FROM bes_bestelling b,
prs_perslid p,
@@ -241,8 +240,8 @@ AS
bes_bestelling_item bi,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
ins_srtdeel sd,
ins_srtgroep sg,
bes_srtdeel sd,
bes_srtgroep sg,
ins_tab_discipline d
WHERE b.prs_perslid_key = p.prs_perslid_key
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key
@@ -252,11 +251,11 @@ AS
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key(+)
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND bi.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key);
REGISTERRUN('$Workfile: BES_VIE.SRC $','$Revision: 33 $')
REGISTERRUN('$Workfile: BES_VIE.SRC $','$Revision: 34 $')
#endif // BES

View File

@@ -1,5 +1,5 @@
/* $Revision: 205 $
* $Modtime: 16-12-10 18:53 $
/* $Revision: 206 $
* $Modtime: 24-02-11 18:56 $
*/
/*
@@ -2989,11 +2989,11 @@ CREATE OR REPLACE PACKAGE BODY fac AS
INTO lsender
FROM ins_tab_discipline d,
bes_bestelling_item bi,
ins_srtdeel sd,
ins_srtgroep sg,
bes_srtdeel sd,
bes_srtgroep sg,
bes_bestelopdr_item boi
WHERE bi.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
WHERE bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = prefkey;
@@ -3209,4 +3209,4 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END fac;
/
REGISTERRUN('$Workfile: FAC_PAC.SRC $','$Revision: 205 $')
REGISTERRUN('$Workfile: FAC_PAC.SRC $','$Revision: 206 $')

View File

@@ -1,5 +1,5 @@
/* $Revision: 38 $
* $Modtime: 22-02-11 17:11 $
/* $Revision: 39 $
* $Modtime: 24-02-11 19:00 $
*/
/* FAC_PACF.SRC, (F means FIP) to be included from fac_pac.src, isolated for convenience only
@@ -42,11 +42,11 @@ AS
FROM fac_imp_catalogus f
WHERE fac_imp_catalogus_id = UPPER (ccatalog_id)
AND UPPER (f.ins_srtdeel_nr) NOT IN
(SELECT upper(s.ins_srtdeel_nr)
FROM ins_srtdeel s, ins_srtgroep g
(SELECT upper(s.bes_srtdeel_nr)
FROM bes_srtdeel s, bes_srtgroep g
WHERE g.ins_discipline_key = cdiscipline_key
AND g.ins_srtgroep_key = s.ins_srtgroep_key
AND s.ins_srtdeel_verwijder IS NULL);
AND g.bes_srtgroep_key = s.bes_srtgroep_key
AND s.bes_srtdeel_verwijder IS NULL);
CURSOR cup_srtdeel (
ccatalog_id IN VARCHAR2,
@@ -61,18 +61,18 @@ AS
f.ins_srtdeel_veelvoud,
f.ins_srtdeel_btw,
f.ins_srtdeel_vervaldatum,
s.ins_srtdeel_nr,
s.bes_srtdeel_nr,
f.ins_srtgroep_omschrijving,
f.prs_bedrijf_key,
s.ins_srtdeel_key,
s.bes_srtdeel_key,
f.ins_srtdeel_minimum,
f.bes_staffeltabel_key
FROM ins_srtdeel s, ins_srtgroep g, fac_imp_catalogus f
FROM bes_srtdeel s, bes_srtgroep g, fac_imp_catalogus f
WHERE g.ins_discipline_key = cdiscipline_key
AND g.ins_srtgroep_key = s.ins_srtgroep_key
AND upper(s.ins_srtdeel_nr) = UPPER (f.ins_srtdeel_nr)
AND g.bes_srtgroep_key = s.bes_srtgroep_key
AND upper(s.bes_srtdeel_nr) = UPPER (f.ins_srtdeel_nr)
AND fac_imp_catalogus_id = UPPER (ccatalog_id)
AND s.ins_srtdeel_verwijder IS NULL;
AND s.bes_srtdeel_verwijder IS NULL;
recgroep_omschrijving cgroep_omschrijving%ROWTYPE;
teller INTEGER;
@@ -81,7 +81,7 @@ AS
errormsg VARCHAR2 (1024);
ccount NUMBER (10);
ncount NUMBER (10);
srtgroep_omschrijving ins_srtgroep.ins_srtgroep_omschrijving%TYPE;
srtgroep_omschrijving bes_srtgroep.bes_srtgroep_omschrijving%TYPE;
srtgroep_key NUMBER (10);
srtdeel_key NUMBER (10);
nrbefore NUMBER;
@@ -91,11 +91,11 @@ AS
catalog_id VARCHAR2 (32);
rec_up_srtdeel cup_srtdeel%ROWTYPE;
rec_in_srtdeel cin_srtdeel%ROWTYPE;
l_omschrijving ins_srtdeel.ins_srtdeel_omschrijving%TYPE;
l_prijs ins_srtdeel.ins_srtdeel_prijs%TYPE;
l_inkprijs ins_srtdeel.ins_srtdeel_inkprijs%TYPE;
l_veelvoud ins_srtdeel.ins_srtdeel_veelvoud%TYPE;
l_minimum ins_srtdeel.ins_srtdeel_minimum%TYPE;
l_omschrijving bes_srtdeel.bes_srtdeel_omschrijving%TYPE;
l_prijs bes_srtdeel.bes_srtdeel_prijs%TYPE;
l_inkprijs bes_srtdeel.bes_srtdeel_inkprijs%TYPE;
l_veelvoud bes_srtdeel.bes_srtdeel_veelvoud%TYPE;
l_minimum bes_srtdeel.bes_srtdeel_minimum%TYPE;
BEGIN
catalog_id := UPPER (pfac_imp_catalogus_id);
errormsg := catalog_id || ' - Fout bij opvragen discipline-key (niet aanwezig of meer dan 1 per catalogus)';
@@ -118,32 +118,32 @@ AS
'Import van catalogus ' || catalog_id,
'discipline: ' || discipline_key || ', bedrijf: ' || bedrijf_key
);
-- INS_SRTDEEL: [delete objecttype]
-- bes_srtDEEL: [delete objecttype]
errormsg := catalog_id || ' - Fout bij verwijderen artikelen.';
nrdeleted := 0;
FOR delrec
IN (SELECT ins_srtdeel_key, ins_srtdeel_nr, ins_srtdeel_omschrijving
FROM ins_srtdeel
WHERE ins_srtdeel_verwijder IS NULL AND prs_bedrijf_key = bedrijf_key
AND ins_srtdeel_key IN
(SELECT ins_srtdeel_key
FROM ins_srtdeel s, ins_srtgroep g
IN (SELECT bes_srtdeel_key, bes_srtdeel_nr, bes_srtdeel_omschrijving
FROM bes_srtdeel
WHERE bes_srtdeel_verwijder IS NULL AND prs_bedrijf_key = bedrijf_key
AND bes_srtdeel_key IN
(SELECT bes_srtdeel_key
FROM bes_srtdeel s, bes_srtgroep g
WHERE g.ins_discipline_key = discipline_key
AND g.ins_srtgroep_key = s.ins_srtgroep_key
AND UPPER(ins_srtdeel_nr) NOT IN (SELECT UPPER(f.ins_srtdeel_nr)
AND g.bes_srtgroep_key = s.bes_srtgroep_key
AND UPPER(bes_srtdeel_nr) NOT IN (SELECT UPPER(f.ins_srtdeel_nr)
FROM fac_imp_catalogus f
WHERE f.fac_imp_catalogus_id = catalog_id)))
LOOP
UPDATE ins_srtdeel
SET ins_srtdeel_verwijder = SYSDATE
WHERE ins_srtdeel_key = delrec.ins_srtdeel_key;
UPDATE bes_srtdeel
SET bes_srtdeel_verwijder = SYSDATE
WHERE bes_srtdeel_key = delrec.bes_srtdeel_key;
fac.imp_writelog (
p_applname,
p_applrun,
'I',
'Item ' || delrec.ins_srtdeel_nr || '/' || delrec.ins_srtdeel_omschrijving || ' is vervallen',
'Item ' || delrec.bes_srtdeel_nr || '/' || delrec.bes_srtdeel_omschrijving || ' is vervallen',
''
);
nrdeleted := nrdeleted + 1;
@@ -161,21 +161,21 @@ AS
--IF teller > 10 THEN
-- exit;
--END IF;
errormsg := ' (Hint error : insert into INS_SRTGROEP)';
errormsg := ' (Hint error : insert into bes_srtGROEP)';
srtgroep_omschrijving := RTRIM (LTRIM (recgroep_omschrijving.ins_srtgroep_omschrijving));
SELECT COUNT ( * )
INTO ccount
FROM ins_srtgroep
WHERE UPPER (ins_srtgroep_omschrijving) = UPPER (srtgroep_omschrijving)
FROM bes_srtgroep
WHERE UPPER (bes_srtgroep_omschrijving) = UPPER (srtgroep_omschrijving)
AND ins_discipline_key = discipline_key
AND ins_srtgroep_verwijder IS NULL;
AND bes_srtgroep_verwijder IS NULL;
IF ccount = 0
THEN
INSERT INTO ins_srtgroep (ins_discipline_key, ins_srtgroep_omschrijving, ins_srtgroep_module
INSERT INTO bes_srtgroep (ins_discipline_key, bes_srtgroep_omschrijving
)
VALUES (discipline_key, srtgroep_omschrijving, 'BES'
VALUES (discipline_key, srtgroep_omschrijving
);
END IF;
@@ -187,13 +187,13 @@ AS
INSERT INTO fac_errorlog (recno, rec_table, descript
)
VALUES (0, 'INS_SRTGROEP', catalog_id || ' - Kan srtgroep niet wegschrijven ' || errormsg
VALUES (0, 'bes_srtGROEP', catalog_id || ' - Kan srtgroep niet wegschrijven ' || errormsg
);
END;
END LOOP;
COMMIT;
-- UPDATE INS_SRTDEEL
-- UPDATE bes_srtDEEL
errormsg := 'Fout bij wijzigen artikelen';
teller := 0;
nrupdated := 0;
@@ -207,44 +207,44 @@ AS
--IF teller > 10 THEN
-- exit;
--END IF;
SELECT ins_srtgroep_key
SELECT bes_srtgroep_key
INTO srtgroep_key
FROM ins_srtgroep
WHERE ins_srtgroep_verwijder IS NULL
FROM bes_srtgroep
WHERE bes_srtgroep_verwijder IS NULL
AND ins_discipline_key = discipline_key
AND UPPER (ins_srtgroep_omschrijving) = UPPER (rec_up_srtdeel.ins_srtgroep_omschrijving);
AND UPPER (bes_srtgroep_omschrijving) = UPPER (rec_up_srtdeel.ins_srtgroep_omschrijving);
-- voor logging de oude waarden opzoeken
SELECT ins_srtdeel_omschrijving,
ins_srtdeel_prijs,
ins_srtdeel_inkprijs,
ins_srtdeel_veelvoud,
ins_srtdeel_minimum
SELECT bes_srtdeel_omschrijving,
bes_srtdeel_prijs,
bes_srtdeel_inkprijs,
bes_srtdeel_veelvoud,
bes_srtdeel_minimum
INTO l_omschrijving,
l_prijs,
l_inkprijs,
l_veelvoud,
l_minimum
FROM ins_srtdeel
WHERE ins_srtdeel_key = rec_up_srtdeel.ins_srtdeel_key
AND ins_srtdeel_verwijder IS NULL
AND ins_srtdeel_nr = rec_up_srtdeel.ins_srtdeel_nr;
FROM bes_srtdeel
WHERE bes_srtdeel_key = rec_up_srtdeel.bes_srtdeel_key
AND bes_srtdeel_verwijder IS NULL
AND bes_srtdeel_nr = rec_up_srtdeel.bes_srtdeel_nr;
UPDATE ins_srtdeel
SET ins_srtdeel_omschrijving = RTRIM (rec_up_srtdeel.ins_srtdeel_omschrijving),
ins_srtdeel_prijs = rec_up_srtdeel.ins_srtdeel_prijs,
ins_srtdeel_inkprijs = rec_up_srtdeel.ins_srtdeel_inkprijs,
ins_srtdeel_image = rec_up_srtdeel.ins_srtdeel_image,
ins_srtdeel_eenheid = rec_up_srtdeel.ins_srtdeel_eenheid,
ins_srtdeel_veelvoud = rec_up_srtdeel.ins_srtdeel_veelvoud,
ins_srtdeel_btw = rec_up_srtdeel.ins_srtdeel_btw,
ins_srtdeel_vervaldatum = rec_up_srtdeel.ins_srtdeel_vervaldatum,
ins_srtgroep_key = srtgroep_key,
ins_srtdeel_minimum = rec_up_srtdeel.ins_srtdeel_minimum,
UPDATE bes_srtdeel
SET bes_srtdeel_omschrijving = RTRIM (rec_up_srtdeel.ins_srtdeel_omschrijving),
bes_srtdeel_prijs = rec_up_srtdeel.ins_srtdeel_prijs,
bes_srtdeel_inkprijs = rec_up_srtdeel.ins_srtdeel_inkprijs,
bes_srtdeel_image = rec_up_srtdeel.ins_srtdeel_image,
bes_srtdeel_eenheid = rec_up_srtdeel.ins_srtdeel_eenheid,
bes_srtdeel_veelvoud = rec_up_srtdeel.ins_srtdeel_veelvoud,
bes_srtdeel_btw = rec_up_srtdeel.ins_srtdeel_btw,
bes_srtdeel_vervaldatum = rec_up_srtdeel.ins_srtdeel_vervaldatum,
bes_srtgroep_key = srtgroep_key,
bes_srtdeel_minimum = rec_up_srtdeel.ins_srtdeel_minimum,
bes_staffeltabel_key = rec_up_srtdeel.bes_staffeltabel_key
WHERE ins_srtdeel_key = rec_up_srtdeel.ins_srtdeel_key
AND ins_srtdeel_verwijder IS NULL
AND ins_srtdeel_nr = rec_up_srtdeel.ins_srtdeel_nr;
WHERE bes_srtdeel_key = rec_up_srtdeel.bes_srtdeel_key
AND bes_srtdeel_verwijder IS NULL
AND bes_srtdeel_nr = rec_up_srtdeel.bes_srtdeel_nr;
IF l_omschrijving <> RTRIM (rec_up_srtdeel.ins_srtdeel_omschrijving)
THEN
@@ -253,7 +253,7 @@ AS
p_applrun,
'I',
'Item '
|| RTRIM (rec_up_srtdeel.ins_srtdeel_nr)
|| RTRIM (rec_up_srtdeel.bes_srtdeel_nr)
|| '/'
|| rec_up_srtdeel.ins_srtdeel_omschrijving
|| ' is gewijzigd',
@@ -268,7 +268,7 @@ AS
p_applrun,
'I',
'Item '
|| RTRIM (rec_up_srtdeel.ins_srtdeel_nr)
|| RTRIM (rec_up_srtdeel.bes_srtdeel_nr)
|| '/'
|| rec_up_srtdeel.ins_srtdeel_omschrijving
|| ' is gewijzigd',
@@ -283,7 +283,7 @@ AS
p_applrun,
'I',
'Item '
|| RTRIM (rec_up_srtdeel.ins_srtdeel_nr)
|| RTRIM (rec_up_srtdeel.bes_srtdeel_nr)
|| '/'
|| rec_up_srtdeel.ins_srtdeel_omschrijving
|| ' is gewijzigd',
@@ -298,7 +298,7 @@ AS
p_applrun,
'I',
'Item '
|| RTRIM (rec_up_srtdeel.ins_srtdeel_nr)
|| RTRIM (rec_up_srtdeel.bes_srtdeel_nr)
|| '/'
|| rec_up_srtdeel.ins_srtdeel_omschrijving
|| ' is gewijzigd',
@@ -313,7 +313,7 @@ AS
p_applrun,
'I',
'Item '
|| RTRIM (rec_up_srtdeel.ins_srtdeel_nr)
|| RTRIM (rec_up_srtdeel.bes_srtdeel_nr)
|| '/'
|| rec_up_srtdeel.ins_srtdeel_omschrijving
|| ' is gewijzigd',
@@ -333,10 +333,10 @@ AS
)
VALUES (
0,
'INS_SRTDEEL',
'bes_srtDEEL',
catalog_id
|| ' - Kan srtdeel met ins_srtdeel_nr <'
|| rec_up_srtdeel.ins_srtdeel_nr
|| ' - Kan srtdeel met bes_srtdeel_nr <'
|| rec_up_srtdeel.bes_srtdeel_nr
|| '> niet updaten '
|| errormsg
);
@@ -360,43 +360,42 @@ AS
-- exit;
--END IF;
-- SRTDEEL_KEY
SELECT COUNT ( * ) INTO ncount FROM ins_srtdeel;
SELECT COUNT ( * ) INTO ncount FROM bes_srtdeel;
IF ncount = 0
THEN
srtdeel_key := 0;
ELSE
SELECT MAX (ins_srtdeel_key) INTO srtdeel_key FROM ins_srtdeel;
SELECT MAX (bes_srtdeel_key) INTO srtdeel_key FROM bes_srtdeel;
END IF;
errormsg := ' (Hint error : bepalen _VAR(SRTGROEP_KEY))';
--SRTGROEP_KEY
SELECT ins_srtgroep_key
SELECT bes_srtgroep_key
INTO srtgroep_key
FROM ins_srtgroep
WHERE ins_srtgroep_verwijder IS NULL
FROM bes_srtgroep
WHERE bes_srtgroep_verwijder IS NULL
AND ins_discipline_key = discipline_key
AND UPPER (ins_srtgroep_omschrijving) = UPPER (rec_in_srtdeel.ins_srtgroep_omschrijving);
AND UPPER (bes_srtgroep_omschrijving) = UPPER (rec_in_srtdeel.ins_srtgroep_omschrijving);
errormsg := ' (Hint error : insert into INS_SRTDEEL)';
errormsg := ' (Hint error : insert into bes_srtDEEL)';
INSERT INTO ins_srtdeel (
ins_srtgroep_key,
ins_srtdeel_omschrijving,
ins_srtdeel_code,
ins_srtdeel_dimensie,
ins_srtdeel_nr,
ins_srtdeel_prijs,
ins_srtdeel_inkprijs,
ins_srtdeel_image,
ins_srtdeel_eenheid,
ins_srtdeel_veelvoud,
ins_srtdeel_module,
ins_srtdeel_btw,
ins_srtdeel_vervaldatum,
INSERT INTO bes_srtdeel (
bes_srtgroep_key,
bes_srtdeel_omschrijving,
bes_srtdeel_code,
bes_srtdeel_dimensie,
bes_srtdeel_nr,
bes_srtdeel_prijs,
bes_srtdeel_inkprijs,
bes_srtdeel_image,
bes_srtdeel_eenheid,
bes_srtdeel_veelvoud,
bes_srtdeel_btw,
bes_srtdeel_vervaldatum,
prs_bedrijf_key,
ins_srtdeel_minimum,
bes_srtdeel_minimum,
bes_staffeltabel_key
)
VALUES (
@@ -410,7 +409,6 @@ AS
rec_in_srtdeel.ins_srtdeel_image,
rec_in_srtdeel.ins_srtdeel_eenheid,
rec_in_srtdeel.ins_srtdeel_veelvoud,
'BES',
rec_in_srtdeel.ins_srtdeel_btw,
rec_in_srtdeel.ins_srtdeel_vervaldatum,
rec_in_srtdeel.prs_bedrijf_key,
@@ -439,9 +437,9 @@ AS
)
VALUES (
0,
'INS_SRTDEEL',
'bes_srtDEEL',
catalog_id
|| ' - Kan srtdeel met ins_srtdeel_nr <'
|| ' - Kan srtdeel met bes_srtdeel_nr <'
|| rec_in_srtdeel.ins_srtdeel_nr
|| '> niet inserten '
|| errormsg
@@ -452,16 +450,16 @@ AS
fac.imp_writelog (p_applname, p_applrun, 'S', 'Er zijn ' || TO_CHAR (nradded) || ' items toegevoegd', '');
COMMIT;
-- INS_SRTGROEP: [delete groups]
-- bes_srtGROEP: [delete groups]
errormsg := catalog_id || ' - Fout bij verwijderen artikelen-groepen.';
UPDATE ins_srtgroep sg
SET ins_srtgroep_verwijder = SYSDATE
WHERE ins_srtgroep_verwijder IS NULL AND ins_discipline_key = discipline_key
UPDATE bes_srtgroep sg
SET bes_srtgroep_verwijder = SYSDATE
WHERE bes_srtgroep_verwijder IS NULL AND ins_discipline_key = discipline_key
AND NOT EXISTS
(SELECT *
FROM fac_imp_catalogus f
WHERE UPPER (f.ins_srtgroep_omschrijving) = UPPER (sg.ins_srtgroep_omschrijving)
WHERE UPPER (f.ins_srtgroep_omschrijving) = UPPER (sg.bes_srtgroep_omschrijving)
AND fac_imp_catalogus_id = UPPER (catalog_id));
COMMIT;
@@ -1126,7 +1124,7 @@ BEGIN
p_applrun,
'I',
'Facilitor OPROGNOSE import version ' || currentversion,
'$Revision: 38 $'
'$Revision: 39 $'
);
v_errormsg := 'Opvragen discipline_key adhv ins_discipline_omschrijving = [' || c_discipline_omschrijving || ']';
@@ -10906,9 +10904,9 @@ AS
CURSOR bes_kostensoort (p_key IN NUMBER) IS
SELECT DISTINCT itd.prs_kostensoort_key, count(*) aant_art
FROM bes_bestelling_item bi,
ins_srtdeel isd, ins_srtgroep isg, ins_tab_discipline itd, bes_bestelopdr_item boi, bes_bestelopdr bo
WHERE bi.ins_srtdeel_key = isd.ins_srtdeel_key
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key
bes_srtdeel isd, bes_srtgroep isg, ins_tab_discipline itd, bes_bestelopdr_item boi, bes_bestelopdr bo
WHERE bi.bes_srtdeel_key = isd.bes_srtdeel_key
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
AND isg.ins_discipline_key = itd.ins_discipline_key
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
@@ -11373,4 +11371,4 @@ END;
REGISTERRUN('$Workfile: FAC_PACF.SRC $','$Revision: 38 $')
REGISTERRUN('$Workfile: FAC_PACF.SRC $','$Revision: 39 $')

View File

@@ -1,5 +1,5 @@
/* $Revision: 51 $
* $Modtime: 23-02-11 16:01 $
/* $Revision: 52 $
* $Modtime: 24-02-11 18:11 $
*/
/* FAC_PACX, (X means XML) to be included from fac_pac.src, isolated for convenience only
@@ -496,7 +496,7 @@ AS
AS
v_value VARCHAR2 (30);
BEGIN
createopentagattributes ('header', 'revision', SUBSTR('$Revision: 51 $',12,3), NULL, NULL, NULL, NULL, NULL, NULL);
createopentagattributes ('header', 'revision', SUBSTR('$Revision: 52 $',12,3), NULL, NULL, NULL, NULL, NULL, NULL);
createxmltagvalue ('dateTime', DATE_TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss'));
createxmltagvalue ('dateDay', DATE_TO_CHAR (SYSDATE, 'dd'));
createxmltagvalue ('dateMonth', DATE_TO_CHAR (SYSDATE, 'mm'));
@@ -3526,11 +3526,10 @@ AS
v_discipline_key ins_srtgroep.ins_discipline_key%TYPE;
v_omschrijving ins_srtgroep.ins_srtgroep_omschrijving%TYPE;
BEGIN
IF p_concise
THEN
createconciseopentag ('srtgroep');
IF p_concise THEN
createopentagattributes ('srtgroep', 'type', 'INS', 'mode', 'concise', NULL, NULL, NULL, NULL);
ELSE
createopentag ('srtgroep');
createopentagattributes ('srtgroep', 'type', 'INS', NULL, NULL, NULL, NULL, NULL, NULL);
END IF;
SELECT ins_discipline_key,
@@ -3565,11 +3564,10 @@ AS
v_opmerking ins_srtdeel.ins_srtdeel_opmerking%TYPE;
v_minimum ins_srtdeel.ins_srtdeel_minimum%TYPE;
BEGIN
IF p_concise
THEN
createconciseopentag ('srtdeel');
IF p_concise THEN
createopentagattributes ('srtdeel', 'type', 'INS', 'mode', 'concise', NULL, NULL, NULL, NULL);
ELSE
createopentag ('srtdeel');
createopentagattributes ('srtdeel', 'type', 'INS', NULL, NULL, NULL, NULL, NULL, NULL);
END IF;
SELECT ins_srtgroep_key,
@@ -3578,7 +3576,7 @@ AS
lcl.x('ins_srtdeel_eenheid', ins_srtdeel_key, ins_srtdeel_eenheid) ins_srtdeel_eenheid,
NVL (ins_srtdeel_nr, ' '), prs_bedrijf_key, ins_srtdeel_vervaldatum, ins_srtdeel_image,
ins_srtdeel_veelvoud, ins_srtdeel_prsflex, ins_srtdeel_binding,
ins_srtdeel_opmerking, ins_srtdeel_minimum
lcl.x('ins_srtdeel_opmerking', ins_srtdeel_key, ins_srtdeel_opmerking) ins_srtdeel_opmerking, ins_srtdeel_minimum
INTO v_groep_key, v_omschrijving, v_prijs, v_inkprijs, v_eenheid,
v_artikel_nummer, v_leverancier_key, v_vervaldatum, v_image,
v_veelvoud, v_prsflex, v_binding,
@@ -3607,26 +3605,109 @@ AS
createclosetag ('srtdeel');
END;
PROCEDURE create_bes_srtgroep_node (p_key IN NUMBER, p_concise BOOLEAN)
AS
v_discipline_key bes_srtgroep.ins_discipline_key%TYPE;
v_omschrijving bes_srtgroep.bes_srtgroep_omschrijving%TYPE;
BEGIN
IF p_concise THEN
createopentagattributes ('srtgroep', 'type', 'BES', 'mode', 'concise', NULL, NULL, NULL, NULL);
ELSE
createopentagattributes ('srtgroep', 'type', 'BES', NULL, NULL, NULL, NULL, NULL, NULL);
END IF;
SELECT ins_discipline_key,
lcl.x('bes_srtgroep_omschrijving', bes_srtgroep_key, bes_srtgroep_omschrijving) bes_srtgroep_omschrijving
INTO v_discipline_key, v_omschrijving
FROM bes_srtgroep
WHERE bes_srtgroep_key = p_key;
createxmltagvalue ('key', p_key);
createxmltagvalue ('omschrijving', v_omschrijving);
IF NOT p_concise
THEN
create_ins_discipline_node (v_discipline_key);
END IF;
createclosetag ('srtgroep');
END;
PROCEDURE create_bes_srtdeel_node (p_key IN NUMBER, p_concise BOOLEAN)
AS
v_groep_key bes_srtgroep.bes_srtgroep_key%TYPE;
v_omschrijving bes_srtdeel.bes_srtdeel_omschrijving%TYPE;
v_prijs bes_srtdeel.bes_srtdeel_prijs%TYPE;
v_inkprijs bes_srtdeel.bes_srtdeel_inkprijs%TYPE;
v_eenheid bes_srtdeel.bes_srtdeel_eenheid%TYPE;
v_artikel_nummer bes_srtdeel.bes_srtdeel_nr%TYPE;
v_leverancier_key bes_srtdeel.prs_bedrijf_key%TYPE;
v_vervaldatum bes_srtdeel.bes_srtdeel_vervaldatum%TYPE;
v_image bes_srtdeel.bes_srtdeel_image%TYPE;
v_veelvoud bes_srtdeel.bes_srtdeel_veelvoud%TYPE;
v_prsflex bes_srtdeel.bes_srtdeel_prsflex%TYPE;
v_preview bes_srtdeel.bes_srtdeel_preview%TYPE;
v_opmerking bes_srtdeel.bes_srtdeel_opmerking%TYPE;
v_minimum bes_srtdeel.bes_srtdeel_minimum%TYPE;
BEGIN
IF p_concise THEN
createopentagattributes ('srtdeel', 'type', 'BES', 'mode', 'concise', NULL, NULL, NULL, NULL);
ELSE
createopentagattributes ('srtdeel', 'type', 'BES', NULL, NULL, NULL, NULL, NULL, NULL);
END IF;
SELECT bes_srtgroep_key,
lcl.x('bes_srtdeel_omschrijving', bes_srtdeel_key, bes_srtdeel_omschrijving) bes_srtdeel_omschrijving,
bes_srtdeel_prijs, bes_srtdeel_inkprijs,
lcl.x('bes_srtdeel_eenheid', bes_srtdeel_key, bes_srtdeel_eenheid) bes_srtdeel_eenheid,
NVL (bes_srtdeel_nr, ' '), prs_bedrijf_key, bes_srtdeel_vervaldatum, bes_srtdeel_image,
bes_srtdeel_veelvoud, bes_srtdeel_prsflex, bes_srtdeel_preview,
lcl.x('bes_srtdeel_opmerking', bes_srtdeel_key, bes_srtdeel_opmerking) bes_srtdeel_opmerking, bes_srtdeel_minimum
INTO v_groep_key, v_omschrijving, v_prijs, v_inkprijs, v_eenheid,
v_artikel_nummer, v_leverancier_key, v_vervaldatum, v_image,
v_veelvoud, v_prsflex, v_preview,
v_opmerking, v_minimum
FROM bes_srtdeel
WHERE bes_srtdeel_key = p_key;
createxmltagvalue ('key', p_key);
createxmltagvalue ('omschrijving', v_omschrijving);
IF NOT p_concise
THEN
createxmltagvalue ('prijs', v_prijs);
createxmltagvalue ('inkprijs', v_inkprijs);
createxmltagvalue ('eenheid', v_eenheid);
createxmltagvalue ('artikel_nummer', v_artikel_nummer);
createxmltagvalue ('leverancier_key', v_leverancier_key);
createxmltagvalue ('vervaldatum', v_vervaldatum);
createxmltagvalue ('image', v_image);
createxmltagvalue ('veelvoud', v_veelvoud);
createxmltagvalue ('prsflex', v_prsflex);
createxmltagvalue ('preview', v_preview);
createxmltagvalue ('opmerking', v_opmerking);
createxmltagvalue ('minimum', v_minimum);
END IF;
create_bes_srtgroep_node (v_groep_key, p_concise); -- dus false
createclosetag ('srtdeel');
END;
PROCEDURE create_bes_besteli_node (p_key IN NUMBER)
AS
v_ins_srtdeel_key ins_srtdeel.ins_srtdeel_key%TYPE;
v_srtdeel_key bes_srtdeel.bes_srtdeel_key%TYPE;
v_aantal bes_bestelling_item.bes_bestelling_item_aantal%TYPE;
v_bestelopdr_item_key bes_bestelopdr_item.bes_bestelopdr_item_key%TYPE;
v_aantalontv bes_bestelling_item.bes_bestelling_item_aantalontv%TYPE;
v_status bes_bestellingstatuses.bes_bestellingstatuses_omschr%TYPE;
v_status_key bes_bestelling_item.bes_bestelling_item_status%TYPE;
//v_prijs ins_srtdeel.ins_srtdeel_prijs%TYPE;
//v_inkprijs ins_srtdeel.ins_srtdeel_inkprijs%TYPE;
v_totaal bes_bestelling_item.bes_bestelling_item_prijs%TYPE;
v_brutoprijs bes_bestelling_item.bes_bestelling_item_brutoprijs%TYPE;
v_prijs bes_bestelling_item.bes_bestelling_item_prijs%TYPE;
BEGIN
createopentag ('bestelitem');
SELECT ins_srtdeel_key, bes_bestelling_item_aantal, bes_bestelopdr_item_key, bes_bestelling_item_aantalontv,
SELECT bes_srtdeel_key, bes_bestelling_item_aantal, bes_bestelopdr_item_key, bes_bestelling_item_aantalontv,
NVL (bes_bestellingstatuses_omschr, ''), NVL (bes_bestelling_item_status, ''), bes_bestelling_item_prijs,
bes_bestelling_item_brutoprijs, bes_bestelling_item_aantal * bes_bestelling_item_prijs
INTO v_ins_srtdeel_key, v_aantal, v_bestelopdr_item_key, v_aantalontv,
INTO v_srtdeel_key, v_aantal, v_bestelopdr_item_key, v_aantalontv,
v_status, v_status_key, v_prijs, v_brutoprijs,
v_totaal
FROM bes_bestelling_item bi, bes_bestellingstatuses s
@@ -3641,10 +3722,9 @@ AS
createxmltagvalue ('status', v_status);
createxmltagvalue ('prijs', v_prijs);
createxmltagvalue ('brutoprijs', v_brutoprijs);
// createxmltagvalue ('inkprijs', v_inkprijs);
createxmltagvalue ('totaal', v_totaal);
create_bes_item_kenmerken (p_key);
create_ins_srtdeel_node (v_ins_srtdeel_key, false);
create_bes_srtdeel_node (v_srtdeel_key, false);
createclosetag ('bestelitem');
END;
@@ -5622,4 +5702,4 @@ AS
END xml;
/
REGISTERRUN('$Workfile: FAC_PACX.SRC $','$Revision: 51 $')
REGISTERRUN('$Workfile: FAC_PACX.SRC $','$Revision: 52 $')

View File

@@ -1,7 +1,7 @@
#ifdef FIN
/* FIN_PAC.SRC
* $Revision: 10 $
* $Modtime: 11-11-10 17:54 $
* $Revision: 11 $
* $Modtime: 24-02-11 18:57 $
*/
/* Formatted on 16-7-2010 17:57:48 (QP5 v5.136.908.31019) */
@@ -321,10 +321,10 @@ AS
INTO discipline
FROM bes_bestelopdr_item boi,
bes_bestelling_item bbi,
ins_srtdeel isd,
ins_srtgroep isg
WHERE isd.ins_srtgroep_key = isg.ins_srtgroep_key
AND bbi.ins_srtdeel_key = isd.ins_srtdeel_key
bes_srtdeel isd,
bes_srtgroep isg
WHERE isd.bes_srtgroep_key = isg.bes_srtgroep_key
AND bbi.bes_srtdeel_key = isd.bes_srtdeel_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = b_key;
@@ -526,10 +526,10 @@ AS
FROM bes_disc_params p
WHERE p.bes_ins_discipline_key =
(SELECT MAX (isg.ins_discipline_key)
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi, ins_srtdeel isd, ins_srtgroep isg
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi, bes_srtdeel isd, bes_srtgroep isg
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.ins_srtdeel_key = isd.ins_srtdeel_key
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key
AND bbi.bes_srtdeel_key = isd.bes_srtdeel_key
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
AND boi.bes_bestelopdr_key = b_key);
WHEN ftype = 'C'
THEN
@@ -593,14 +593,14 @@ AS
IS
SELECT DISTINCT COALESCE (btw.fin_btwtabel_key, fin.getdefaultbtwtabelkey ()) btwtabel_key
FROM bes_bestelling_item bi,
ins_srtdeel isd,
bes_srtdeel isd,
bes_bestelopdr_item boi,
bes_bestelopdr bo,
prs_bedrijf bd,
fin_btwtabel btw
WHERE btw.fin_btwtabel_key(+) = bd.fin_btwtabel_key
AND bd.prs_bedrijf_key = isd.prs_bedrijf_key
AND isd.ins_srtdeel_key = bi.ins_srtdeel_key
AND isd.bes_srtdeel_key = bi.bes_srtdeel_key
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
AND bo.bes_bestelopdr_key = p_bkey;
@@ -778,6 +778,6 @@ AS
END fin;
/
REGISTERRUN('$Workfile: fin_pac.src $','$Revision: 10 $')
REGISTERRUN('$Workfile: fin_pac.src $','$Revision: 11 $')
#endif // FIN

View File

@@ -1,7 +1,7 @@
#ifdef INS
/*
* $Revision: 62 $
* $Modtime: 21-02-11 12:25 $
* $Revision: 63 $
* $Modtime: 24-02-11 19:18 $
*/
#include "ins\inssql.h"
@@ -54,13 +54,13 @@ BEGIN
INTO dummy
FROM bes_bestelopdr_item boi,
bes_bestelling_item bbi,
ins_srtdeel isd,
ins_srtgroep isg,
bes_srtdeel isd,
bes_srtgroep isg,
bes_bestelopdr bo
WHERE boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
AND bbi.ins_srtdeel_key = isd.ins_srtdeel_key
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key
AND bbi.bes_srtdeel_key = isd.bes_srtdeel_key
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
AND isg.ins_discipline_key = :new.ins_discipline_key
AND bo.bes_bestelopdr_status IN (2, 3, 4, 5);
@@ -76,6 +76,8 @@ BEGIN
END IF;
SET_VERWIJDER_CHILDREN(ins_srtgroep, ins_discipline_key, ins_discipline_verwijder,
ins_srtgroep_verwijder,ins_tab_discipline);
SET_VERWIJDER_CHILDREN(bes_srtgroep, ins_discipline_key, ins_discipline_verwijder,
bes_srtgroep_verwijder,ins_tab_discipline);
IF (:new.ins_discipline_verwijder IS NOT NULL AND :old.ins_discipline_verwijder IS NULL) THEN DELETE_CHILDREN(fac_groeprechten,ins_discipline_key); END IF;
UPDATE_AANMAAKDATUM(ins_tab_discipline, ins_discipline_aanmaak);
END;
@@ -827,6 +829,6 @@ BEGIN
END;
/
REGISTERRUN('$Workfile: INS_TRI.SRC $','$Revision: 62 $')
REGISTERRUN('$Workfile: INS_TRI.SRC $','$Revision: 63 $')
#endif

View File

@@ -1,7 +1,7 @@
#ifdef PRS // 01-12-98 PF
/*
* $Revision: 84 $
* $Modtime: 30-11-10 17:32 $
* $Revision: 85 $
* $Modtime: 24-02-11 19:20 $
*/
DEFINIEER_VIEW_AANWEZIG(prs_afdeling,
@@ -669,9 +669,9 @@ AS
FROM bes_discipline
WHERE ins_discipline_key IN
(SELECT ins_discipline_key
FROM ins_srtgroep sg, ins_srtdeel sd, bes_bestelling_item bi
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND bi.ins_srtdeel_key = sd.ins_srtdeel_key
FROM bes_srtgroep sg, bes_srtdeel sd, bes_bestelling_item bi
WHERE sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND bi.bes_bestelling_key = b.bes_bestelling_key))
oms,
(SELECT bes_bestellingstatuses_omschr
@@ -1703,6 +1703,6 @@ SELECT prs_bedrijf_key,
FROM prs_bedrijf
WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL;
REGISTERRUN('$Workfile: PRS_VIE.SRC $','$Revision: 84 $')
REGISTERRUN('$Workfile: PRS_VIE.SRC $','$Revision: 85 $')
#endif // PRS

View File

@@ -1,7 +1,7 @@
/* DB8TO9.SRC
* Update script van Facilitor schema DB9 naar DB10
* $Revision: 7 $
* $Modtime: 23-02-11 12:23 $
* $Revision: 8 $
* $Modtime: 24-02-11 19:54 $
*/
#include "prologue.inc"
@@ -182,9 +182,218 @@ ALTER TABLE bes_bestelling
CONSTRAINT bes_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key);
UPDATE bes_bestelling
SET prs_perslid_key_voor = prs_perslid_key;
SET prs_perslid_key_voor = prs_perslid_key
WHERE prs_perslid_key_voor IS NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19935
CREATE_TABLE(bes_srtgroep,0)
(
bes_srtgroep_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtgroep_key PRIMARY KEY,
ins_discipline_key
NUMBER(10)
NOT_NULL(ins_discipline_key, bes_r_ins_discipline_key1)
CONSTRAINT bes_r_ins_discipline_key2 REFERENCES ins_tab_discipline,
bes_srtgroep_omschrijving
VARCHAR2(60)
NOT_NULL(bes_srtgroep_omschrijving, bes_c_bes_srtgroep_omschr),
bes_srtgroep_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtgroep_aanmaak, bes_c_bes_srtgroep_aanmaak),
bes_srtgroep_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT bes_u_bes_srtgroep_oms UNIQUE(ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_verwijder)
);
CREATE_TABLE(bes_srtdeel,0)
(
bes_srtdeel_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtdeel_key PRIMARY KEY,
bes_srtgroep_key
NUMBER(10)
NOT_NULL(bes_srtgroep_key, bes_r_bes_srtgroep_key1)
CONSTRAINT bes_r_bes_srtgroep_key2 REFERENCES bes_srtgroep,
bes_srtdeel_code
VARCHAR2(10)
NOT_NULL(bes_srtdeel_code, bes_c_bes_srtdeel_code),
bes_srtdeel_code_upper
VARCHAR2(10)
NOT_NULL(bes_srtdeel_code_upper, bes_c_bes_srtdeel_upcode),
bes_srtdeel_omschrijving
VARCHAR2(100)
NOT_NULL(bes_srtdeel_omschrijving, bes_c_bes_srtdeel_omschrijving),
bes_srtdeel_opmerking
VARCHAR(2000 CHAR),
bes_srtdeel_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtdeel_aanmaak, bes_c_bes_srtdeel_aanmaak),
bes_srtdeel_verwijder
DATE
DEFAULT NULLDATUM,
bes_srtdeel_volgnr
NUMBER(3),
bes_srtdeel_prijs
NUMBER(8,2),
bes_srtdeel_inkprijs
NUMBER(8,2),
bes_srtdeel_btw
NUMBER(3),
bes_srtdeel_eenheid
VARCHAR2(30),
bes_srtdeel_dimensie
NUMBER(1),
bes_srtdeel_preview /* BES: wel(1)/geen(0) preview tonen voor bestellen */
NUMBER(1)
DEFAULT 0,
bes_srtdeel_nr
VARCHAR2(32),
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
bes_srtdeel_vervaldatum
DATE,
bes_srtdeel_image
VARCHAR2(255),
bes_srtdeel_veelvoud
NUMBER(6),
bes_srtdeel_minimum
NUMBER(6),
bes_staffeltabel_key
NUMBER(10)
CONSTRAINT bes_r_staffeltabel2 REFERENCES bes_staffeltabel(bes_staffeltabel_key),
bes_srtdeel_prsflex /* kan wel(1) of geen (0)persoonsafhankelijke flexkenmerken bevatten */
NUMBER(1)
DEFAULT 0,
bes_srtdeel_voorraadmin
NUMBER(6),
bes_srtdeel_voorraadmax
NUMBER(6)
);
INSERT INTO bes_srtgroep (bes_srtgroep_key, ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_aanmaak, bes_srtgroep_verwijder
)
SELECT ins_srtgroep_key,
ins_discipline_key,
ins_srtgroep_omschrijving,
ins_srtgroep_aanmaak,
ins_srtgroep_verwijder
FROM ins_srtgroep
WHERE ins_srtgroep_module = 'BES';
INSERT INTO bes_srtdeel (bes_srtdeel_key, bes_srtgroep_key, bes_srtdeel_code, bes_srtdeel_code_upper, bes_srtdeel_omschrijving, bes_srtdeel_opmerking, bes_srtdeel_aanmaak, bes_srtdeel_verwijder, bes_srtdeel_volgnr, bes_srtdeel_prijs, bes_srtdeel_inkprijs, bes_srtdeel_btw, bes_srtdeel_eenheid, bes_srtdeel_dimensie, bes_srtdeel_preview, bes_srtdeel_nr, prs_bedrijf_key, bes_srtdeel_vervaldatum, bes_srtdeel_image, bes_srtdeel_veelvoud, bes_srtdeel_minimum, bes_staffeltabel_key, bes_srtdeel_prsflex, bes_srtdeel_voorraadmin, bes_srtdeel_voorraadmax
)
SELECT ins_srtdeel_key,
ins_srtgroep_key,
ins_srtdeel_code,
ins_srtdeel_code_upper,
ins_srtdeel_omschrijving,
ins_srtdeel_opmerking,
ins_srtdeel_aanmaak,
ins_srtdeel_verwijder,
ins_srtdeel_volgnr,
ins_srtdeel_prijs,
ins_srtdeel_inkprijs,
ins_srtdeel_btw,
ins_srtdeel_eenheid,
ins_srtdeel_dimensie,
ins_srtdeel_opmaat,
ins_srtdeel_nr,
prs_bedrijf_key,
ins_srtdeel_vervaldatum,
ins_srtdeel_image,
ins_srtdeel_veelvoud,
ins_srtdeel_minimum,
bes_staffeltabel_key,
ins_srtdeel_prsflex,
ins_srtdeel_voorraadmin,
ins_srtdeel_voorraadmax
FROM ins_srtdeel
WHERE ins_srtdeel_module = 'BES';
CREATE SEQUENCE bes_s_bes_srtgroep_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtdeel_key MINVALUE 1;
CREATE_TRIGGER(bes_t_bes_srtgroep_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtgroep
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtgroep_key,bes_s_bes_srtgroep_key);
SET_VERWIJDER_CHILDREN(bes_srtdeel, bes_srtgroep_key, bes_srtgroep_verwijder,
bes_srtdeel_verwijder,bes_srtgroep);
END;
/
CREATE_TRIGGER(bes_t_bes_srtdeel_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtdeel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtdeel_key,bes_s_bes_srtdeel_key);
END;
/
-- Zet de sequences hoog genoeg voor Vanaf nu
DECLARE
maxval NUMBER (10);
seqval NUMBER;
BEGIN
SELECT MAX (bes_srtgroep_key) INTO maxval FROM bes_srtgroep;
SELECT bes_s_bes_srtgroep_key.NEXTVAL INTO seqval FROM DUAL;
WHILE seqval < maxval
LOOP
SELECT bes_s_bes_srtgroep_key.NEXTVAL INTO seqval FROM DUAL;
END LOOP;
END;
/
DECLARE
maxval NUMBER (10);
seqval NUMBER;
BEGIN
SELECT MAX (bes_srtdeel_key) INTO maxval FROM bes_srtdeel;
SELECT bes_s_bes_srtdeel_key.NEXTVAL INTO seqval FROM DUAL;
WHILE seqval < maxval
LOOP
SELECT bes_s_bes_srtdeel_key.NEXTVAL INTO seqval FROM DUAL;
END LOOP;
END;
/
-- Nu alle BES-verwijzingen omcatten
ALTER TABLE bes_bestelling_item
ADD bes_srtdeel_key NUMBER(10)
CONSTRAINT bes_c_bes_srtdeel_key1 CHECK(bes_srtdeel_key IS NOT NULL)
CONSTRAINT bes_r_bes_srtdeel_key REFERENCES bes_srtdeel(bes_srtdeel_key);
UPDATE bes_bestelling_item
SET bes_srtdeel_key=ins_srtdeel_key
WHERE bes_srtdeel_key IS NULL;
ALTER TABLE bes_bestelling_item DROP COLUMN ins_srtdeel_key CASCADE CONSTRAINTS;
ALTER TABLE bes_favoriet
ADD bes_srtdeel_key NUMBER(10) REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE;
UPDATE bes_favoriet SET bes_srtdeel_key=ins_srtdeel_key;
ALTER TABLE bes_favoriet DROP COLUMN ins_srtdeel_key CASCADE CONSTRAINTS;
-- DIT IS OOK WEL HET MOMENT OM BALLAST WEG TE GOOIEN! NOG MEER DAN DIT?
-- Purge alle verwijderde nooit bestelde artikelen
DELETE FROM bes_srtdeel x
WHERE bes_srtdeel_verwijder IS NOT NULL
AND NOT EXISTS (SELECT ''
FROM bes_bestelling_item i
WHERE i.bes_srtdeel_key = x.bes_srtdeel_key);
ALTER TABLE bes_bestelling_item DROP COLUMN ins_srtdeel_key CASCADE CONSTRAINTS;
ALTER TABLE bes_favoriet DROP COLUMN bes_srtdeel_key CASCADE CONSTRAINTS;
DELETE FROM ins_srtdeel WHERE ins_srtdeel_module = 'BES';
DELETE FROM ins_srtgroep WHERE ins_srtgroep_module = 'BES';
COMMIT;
///////////////////////////////////////////////////////////////////////////////////////////
REGISTERONCE('$Workfile: DB10to11.src $','$Revision: 7 $')
REGISTERONCE('$Workfile: DB10to11.src $','$Revision: 8 $')
#include "epilogue.inc"