-- -- workflow_case__set_attribute_value/3 -- create or replace function workflow_case__set_attribute_value( integer, character varying, character varying ) returns int4 as $$ declare set_attribute_value__journal_id alias for $1; set_attribute_value__attribute_name alias for $2; set_attribute_value__value alias for $3; v_workflow_key varchar; v_case_id integer; v_attribute_id integer; begin select o.object_type, o.object_id into v_workflow_key, v_case_id from journal_entries je, acs_objects o where je.journal_id = set_attribute_value__journal_id and o.object_id = je.object_id; select attribute_id into v_attribute_id from acs_attributes where object_type = v_workflow_key and attribute_name = set_attribute_value__attribute_name; PERFORM acs_object__set_attribute ( v_case_id, set_attribute_value__attribute_name, set_attribute_value__value ); insert into wf_attribute_value_audit (case_id, attribute_id, journal_id, attr_value) values (v_case_id, v_attribute_id, set_attribute_value__journal_id, set_attribute_value__value); return 0; end;$$ language plpgsql;