Files
Customer/CONN/Once/conn#747.sql
Maykel Geerdink 39f963b4c5 CONN#747
svn path=/Customer/trunk/; revision=13042
2006-09-19 08:43:48 +00:00

96 lines
2.4 KiB
MySQL

SPOOL xCONN747.LST
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '.,';
-- Gebruik van fip_error tabel voor logging
DROP TABLE fip_error;
CREATE TABLE fip_error
(
recno NUMBER(10)
,rec_table VARCHAR2(32)
,descript VARCHAR2(1024)
,fip_errmes_date DATE
,fip_errmes VARCHAR2(1000)
,fip_key NUMBER(10)
);
DROP SEQUENCE fip_s_fip_fip_error_key;
CREATE SEQUENCE fip_s_fip_fip_error_key MINVALUE 1;
CREATE OR REPLACE TRIGGER fip_t_fip_error_B_IU
BEFORE INSERT OR UPDATE ON fip_error
FOR EACH ROW
DECLARE lDate DATE; lNumber NUMBER;
BEGIN
:new.fip_errmes_date := SYSDATE;
IF :NEW.fip_key IS NULL THEN
SELECT fip_s_fip_fip_error_key.NEXTVAL
INTO :NEW.fip_key
FROM DUAL;
END IF;
END;
/
DECLARE
-- Lijst met contracten waarbij "Totaal Bedrag" een waarde heeft (kenmerk_key = 26)
CURSOR query_contract IS
SELECT v.cnt_contract_key cnt_key,
v.cnt_kenmerkcontract_waarde waarde,
k.cnt_srtkenmerk_key,
v.cnt_kenmerk_key
FROM cnt_kenmerkcontract v,
cnt_contract c,
cnt_kenmerk k,
cnt_srtcontract sc
WHERE c.cnt_contract_key = v.cnt_contract_key
AND v.cnt_kenmerk_key = k.cnt_kenmerk_key
AND c.cnt_srtcontract_key = sc.cnt_srtcontract_key
AND sc.cnt_srtcontract_key = k.cnt_srtcontract_key
AND k.cnt_srtkenmerk_key = 24
AND v.cnt_kenmerkcontract_verwijder IS NULL
AND c.cnt_contract_verwijder IS NULL
ORDER BY 1;
BEGIN
INSERT INTO fip_error (recno,
descript)
VALUES (0,
'--begin conversie totaal bedrag naar contractbedrag--');
COMMIT;
FOR contract_rec IN query_contract LOOP
-- Zet de waarde Totaal bedrag in contractbedrag
BEGIN
UPDATE cnt_contract
SET cnt_contract_kosten = fac.safe_to_number(contract_rec.waarde)
WHERE cnt_contract_key = contract_rec.cnt_key;
COMMIT;
END;
INSERT INTO fip_error (recno,
descript)
VALUES (contract_rec.cnt_key,
contract_rec.waarde);
COMMIT;
END LOOP;
INSERT INTO fip_error (recno,
descript)
VALUES (0,
'--einde conversie totaal bedrag naar contractbedrag--');
COMMIT;
END;
/
SPOOL OFF