Informix SPL Foreach Problem
Posted in 1998
I am having a problem with an Informix SPL FOREACH loop. I am reading
character data that needs to be converted to money. I am getting a -1213 which
specifies that I have character data that can not be converted. This is
true. There are a few bad rows. To handle this, I am using an ON EXCEPTION
WITH RESUME clause. It is resuming write out of the loop and the program ends
pre-maturely.
Is there a trick to getting the loop to continue? I'm stuck.
CREATE PROCEDURE sp_insurance_amt()
-- DEFINE PROCEDURE VARIABLESDEFINE vcustomer_id CHAR(6);
DEFINE vinvoice_num CHAR(11);
DEFINE vinsurance_amt CHAR(12);
DEFINE vins_num_amt MONEY(10,2);
DEFINE vcount money(10,2);
ON EXCEPTION IN (-1213) <----------------------------------
LET vins_num_amt = 0;
insert into test_proc
values (vcustomer_id, vinvoice_num, 'bad');END EXCEPTION with resume <---------------------------------
DELETE FROM test_proc;LET vcount = 0;
-- OUTSIDE LOOP WHICH READS THROUGH EACH AMG GENRE
FOREACH
SELECT customer_id, invoice_num, insurance_amt
INTO vcustomer_id, vinvoice_num, vinsurance_amt
FROM invoice_ins_work where invoice_num <> 'PJB00412851'
let vins_num_amt = vinsurance_amt; <------------------------------
UPDATE ods:invoice
SET insurance_amt = vins_num_amt
WHERE invoice_num =vinvoice_num
AND customer_id = vcustomer_id;
END IF
END FOREACH
END PROCEDURE;
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/ Now offering spam-free web-based newsreading