1 CREATE OR REPLACE FUNCTION currOneBase() RETURNS trigger AS '
2 -- Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
3 -- See www.xtuple.com/CPAL for the full text of the software license.
5 baseCount INTEGER := 0;
7 IF NEW.curr_base = TRUE THEN
11 WHERE curr_base = TRUE
12 AND curr_id != NEW.curr_id;
15 ''Cannot make % - % the base currency because one is already defined.'',
16 NEW.curr_symbol, NEW.curr_abbr;
21 WHERE curr_id = NEW.curr_id;
23 -- put a row in the curr_rate table to avoid special-case
24 -- code for converting base currency to base currency
26 (curr_id, curr_rate, curr_effective, curr_expires) VALUES
27 (NEW.curr_id, 1, startOfTime(), endOfTime());
35 DROP TRIGGER currOneBase ON curr_symbol;
36 CREATE TRIGGER currOneBase AFTER INSERT OR UPDATE ON curr_symbol
37 FOR EACH ROW EXECUTE PROCEDURE currOneBase();