85 lines
2.9 KiB
Plaintext
85 lines
2.9 KiB
Plaintext
SPOOL 127to128
|
|
--
|
|
-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\127TO128.SQL]
|
|
--
|
|
-- Update script van Facilitor 2.0 versie 1.27 naar 1.28
|
|
--
|
|
-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
|
|
-- om #ifdef's te gebruiken voor de diverse modules.
|
|
--
|
|
-- Revisie:
|
|
--
|
|
-- 22-04-97 KTH Aangemaakt
|
|
--
|
|
|
|
-- LOG#.... Bugfixes lijst 970424.TXT en 970505.txt van KTH
|
|
|
|
#ifdef HUI
|
|
DELETE FROM fac_entity_name
|
|
WHERE fac_entity_system_name = 'INV_SRTDEEL';
|
|
|
|
DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikel', 'Artikelen', 'het');
|
|
#endif
|
|
|
|
DELETE FROM fac_message
|
|
WHERE fac_message_code IN ('INV_M005', 'INV_M006', 'LEV_M026');
|
|
|
|
DEF_FAC_MESSAGE ('INV_M005', 'De omschrijving voor het artikeltype is niet ingevuld.');
|
|
DEF_FAC_MESSAGE ('INV_M006', 'Het artikeltype is niet ingevuld.');
|
|
DEF_FAC_MESSAGE ('LEV_M026', 'Er zijn geen leveringregels bij deze levering.');
|
|
|
|
-- 05-05-97 AH LEV_LEVERREGEL boekt niets op ALG_KOSTENPOST_BESTEED
|
|
-- In LEV_T_LEV_LEVERREGEL_B_IU aangepast.
|
|
CREATE OR REPLACE TRIGGER lev_t_lev_leverregel_B_IU
|
|
BEFORE INSERT OR UPDATE ON lev_leverregel
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(lev_leverregel_key, lev_s_lev_leverregel_key);
|
|
/* Ver het veld ALG_KOSTENPOST_BESTEED bij met aantal_geleverd*Prijs.
|
|
* Wijzigen van een leverregel is eigenlijk niet mogelijk, maar toch
|
|
* gedeeltelijk aangepast.
|
|
* Hier wordt bij wijzigen geen rekening gehouden met :
|
|
* - Wijzigen van INS_SRTDEEL_KEY.
|
|
* - Wijzigen van de prijs van INS_SRTDEEL
|
|
*/
|
|
IF :old.lev_leverregel_aantal IS NULL
|
|
OR (:old.lev_leverregel_aantal <> :new.lev_leverregel_aantal)
|
|
THEN
|
|
DECLARE
|
|
Kostenpost NUMBER(10);
|
|
ExtraBesteed alg_kostenpost.alg_kostenpost_besteed%TYPE;
|
|
Prijs ins_srtdeel.inv_srtdeel_prijs%TYPE;
|
|
BEGIN
|
|
SELECT ALG_K.alg_kostenpost_key
|
|
INTO Kostenpost
|
|
FROM lev_bestelregel LEV_BR, lev_bestelling LEV_B,
|
|
alg_kostenpost ALG_K
|
|
WHERE LEV_BR.lev_bestelling_key = LEV_B.lev_bestelling_key
|
|
AND LEV_B.lev_alg_kostenpost_key = ALG_K.alg_kostenpost_key
|
|
AND LEV_BR.lev_bestelregel_key = :new.lev_bestelregel_key;
|
|
SELECT inv_srtdeel_prijs
|
|
INTO Prijs
|
|
FROM inv_v_aanwezigsrtdeel
|
|
WHERE ins_srtdeel_key = :new.lev_ins_srtdeel_key;
|
|
ExtraBesteed := (:new.lev_leverregel_aantal - NVL(:old.lev_leverregel_aantal,0))
|
|
* NVL(Prijs, 0);
|
|
UPDATE alg_kostenpost
|
|
SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) +
|
|
ExtraBesteed
|
|
WHERE alg_kostenpost_key = Kostenpost;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN NULL;
|
|
END;
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
DEF_FAC_MESSAGE ('LEV_M072', 'Het bestelnummer is niet ingevuld.');
|
|
|
|
|
|
COMMIT;
|
|
|
|
PROMPT Vergeet niet te committen!
|
|
SPOOL OFF
|