FCLT#80204 bes_srtprod, bes_srtprod_prijs, bes_bedrijf_srtprod en bes_bedrijf_b uitfaseren

svn path=/Database/trunk/; revision=62469
This commit is contained in:
Erik Groener
2023-11-06 13:15:52 +00:00
parent ca6d406b0b
commit c2991d47c8
6 changed files with 22 additions and 183 deletions

View File

@@ -50,7 +50,6 @@ CREATE INDEX bes_i_bes_kenmerk1 ON bes_kenmerk(bes_kenmerk_code);
CREATE INDEX bes_i_bes_favoriet1 ON bes_favoriet(prs_perslid_key);
CREATE INDEX bes_i_bes_srtdeel_prijs1 ON bes_srtdeel_prijs (bes_srtdeel_key);
CREATE INDEX bes_i_bes_srtprod_prijs1 ON bes_srtprod_prijs (bes_srtprod_key);
REGISTERONCE('$Id$')

View File

@@ -14,8 +14,6 @@ AS
RETURN NUMBER;
FUNCTION getsrtdeelinkprijs (pbes_srtdeel_key IN NUMBER, pdate IN DATE)
RETURN NUMBER;
FUNCTION getsrtprodprijs (pbes_srtprod_key IN NUMBER, pdate IN DATE)
RETURN NUMBER;
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER;
@@ -159,42 +157,6 @@ AS
RETURN bes.getsrtdeelprijsinfo (pbes_srtdeel_key, pdate, 2);
END;
FUNCTION getsrtprodprijs (pbes_srtprod_key IN NUMBER, pdate IN DATE)
RETURN NUMBER
AS
ldate DATE;
lprijs bes_srtprod_prijs.bes_srtprod_prijs_prijs%TYPE;
BEGIN
ldate := SYSDATE; -- default
IF pdate IS NOT NULL
THEN
ldate := pdate;
END IF;
BEGIN
SELECT sdp.bes_srtprod_prijs_prijs
INTO lprijs
FROM bes_srtprod_prijs sdp
WHERE COALESCE (sdp.bes_srtprod_prijs_vervaldatum, SYSDATE + 999) > ldate AND sdp.bes_srtprod_key = pbes_srtprod_key
AND NOT EXISTS
(SELECT ''
FROM bes_srtprod_prijs sdp1
WHERE COALESCE (sdp1.bes_srtprod_prijs_vervaldatum, SYSDATE + 999) > ldate
AND sdp1.bes_srtprod_key = pbes_srtprod_key
AND COALESCE(sdp1.bes_srtprod_prijs_vervaldatum, SYSDATE+999) < COALESCE (sdp.bes_srtprod_prijs_vervaldatum, SYSDATE + 999));
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
RETURN lprijs;
END;
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER
AS

View File

@@ -25,12 +25,8 @@ 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;
CREATE SEQUENCE bes_s_bes_srtprod_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_grootheid_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtdeel_prijs_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtprod_prijs_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bedrijf_srtprod_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bedrijf_bedrijf_key MINVALUE 1;
REGISTERONCE('$Id$')

View File

@@ -58,59 +58,6 @@ CREATE_TABLE(bes_grootheid,0)
);
-- Assortiment van producent/fabrikant (genormaliseerde producten)
CREATE_TABLE(bes_srtprod,0)
(
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtprod_key PRIMARY KEY,
bes_srtgroep_key
NUMBER(10)
NOT_NULL(bes_srtgroep_key, bes_c_bes_srtgroep_key3) // echt?
CONSTRAINT bes_r_bes_srtgroep_key4 REFERENCES bes_srtgroep,
bes_srtprod_omschrijving
VARCHAR2(100)
NOT_NULL(bes_srtprod_omschrijving, bes_c_bes_srtprod_omschrijving),
bes_srtprod_opmerking
VARCHAR2(2000 CHAR),
bes_srtprod_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtprod_aanmaak, bes_c_bes_srtprod_aanmaak),
bes_srtprod_verwijder
DATE
DEFAULT NULLDATUM,
bes_srtprod_volgnr
NUMBER(3),
bes_srtprod_btw
NUMBER(3),
bes_srtprod_eenheid
VARCHAR2(30),
bes_srtprod_nr
VARCHAR2(32),
/* MB: Optionele referentie naar producent/fabrikant */
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key),
/* MB: artikel wordt door producent gemaakt tot aan deze datum, mag leeg zijn (= geen maak-limiet) */
bes_srtprod_vervaldatum
DATE,
bes_srtprod_image
VARCHAR2(255),
bes_srtprod_veelvoud
NUMBER(6),
/* MB: Verwijzing naar eenheid van een grootheid (gram / milliliter / aantal) */
bes_grootheid_key
NUMBER(10) CONSTRAINT bes_r_bes_grootheid REFERENCES bes_grootheid(bes_grootheid_key) ON DELETE CASCADE,
/* MB Hier het getal aan gewicht, inhoud of aantal in te vullen : */
/* b.v. 1000 (en betekent in combi met bes_grootheid_key b.v. 1000 gram) */
bes_grootheid_getal
NUMBER(10),
bes_srtprod_margebedrag /* bedrag van de fee per 1 grootheid van dit product */
NUMBER(12,6),
bes_srtprod_margebedragpct /* percentage van de producentfee dat voor ons is, de rest is voor whoever */
NUMBER(3)
);
CREATE_TABLE(bes_srtdeel,0)
(
@@ -796,62 +743,7 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
NUMBER(1)
);
-- Prijsverloop van producten van fabriaknt
CREATE_TABLE(bes_srtprod_prijs,0)
(
bes_srtprod_prijs_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtprod_prijs_key PRIMARY KEY,
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_bes_srtprod_key REFERENCES bes_srtprod(bes_srtprod_key),
bes_srtprod_prijs_prijs
NUMBER(11,5),
bes_srtprod_prijs_inkprijs
NUMBER(11,5),
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig */
bes_srtprod_prijs_vervaldatum
DATE,
/* MB: Prioriteit/prijspakker instelling op producentartikelprijs-nivo, schaal van 1 (=lage prio) - 4 (=hoogste prio), mag leeg zijn (= 0: laagste prio) */
bes_srtprod_prijs_prio
NUMBER(1)
);
-- Een productsample voor een klant
CREATE_TABLE(bes_bedrijf_srtprod, 0)
(
bes_bedrijf_srtprod_key
NUMBER(10)
CONSTRAINT bes_k_bedrijf_srtprod_key PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_srtprod_key1 REFERENCES bes_srtprod(bes_srtprod_key) ON DELETE CASCADE,
bes_bedrijf_srtprod_weging
NUMBER(12,2),
bes_bedrijf_srtprod_opmerking
VARCHAR2(320),
bes_bedrijf_srtprod_prijs
NUMBER(11,5)
);
/* MB: Voorkeursleveranciers ---------------------------------------------------------------------------*/
CREATE_TABLE(bes_bedrijf_bedrijf,0)
(
bes_bedrijf_bedrijf_key
NUMBER(10)
CONSTRAINT bes_k_bes_bedrijf_bedrijf_key PRIMARY KEY,
/* Klant: interne bedrijf */
prs_bedrijf_key_klant
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key),
/* Leverancier: externe bedrijf */
prs_bedrijf_key_lev
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key)
);
REGISTERONCE('$Id$')

View File

@@ -600,14 +600,6 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_srtprod_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtprod
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtprod_key, bes_s_bes_srtprod_key);
END;
/
CREATE_TRIGGER(bes_t_bes_grootheid_B_IU)
BEFORE INSERT OR UPDATE ON bes_grootheid
FOR EACH ROW
@@ -624,30 +616,6 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_srtprod_prijs_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtprod_prijs
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtprod_prijs_key, bes_s_bes_srtprod_prijs_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bedrijf_srtprod_BIU)
BEFORE INSERT OR UPDATE ON bes_bedrijf_srtprod
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bedrijf_srtprod_key, bes_s_bes_bedrijf_srtprod_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bedrijf_bedrijf_B_IU)
BEFORE INSERT OR UPDATE ON bes_bedrijf_bedrijf
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bedrijf_bedrijf_key, bes_s_bes_bedrijf_bedrijf_key);
END;
/
REGISTERRUN('$Id$')
#endif // BES

View File

@@ -43,6 +43,28 @@ UPDATE res_deel
ALTER TABLE res_deel MODIFY res_deel_bulkreserveerbaar DEFAULT 0 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80204
BEGIN
adm.trydrop ('TRIGGER bes_t_bes_srtprod_B_IU');
adm.trydrop ('TRIGGER bes_t_bes_srtprod_prijs_B_IU');
adm.trydrop ('TRIGGER bes_t_bes_bedrijf_srtprod_BIU');
adm.trydrop ('TRIGGER bes_t_bes_bedrijf_bedrijf_B_IU');
adm.trydrop ('SEQUENCE bes_s_bes_srtprod_key);
adm.trydrop ('SEQUENCE bes_s_bes_srtprod_prijs_key');
adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_srtprod_key');
adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_bedrijf_key');
adm.trydrop ('TABLE bes_srtprod');
adm.trydrop ('TABLE bes_srtprod_prijs');
adm.trydrop ('TABLE bes_bedrijf_srtprod');
adm.trydrop ('TABLE bes_bedrijf_bedrijf');
adm.trydrop ('INDEX bes_i_bes_srtprod_prijs1');
adm.tryalter('TABLE bes_srtdeel DROP COLUMN bes_srtprod_key');
END;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000