mht_brerp10
.adempiere
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
torecordid(character varying, character varying)
Parameters
Name
Type
Mode
p_tablename
character varying
IN
p_uu_value
character varying
IN
Definition
DECLARE id_column VARCHAR; uu_column VARCHAR; o_id INTEGER; BEGIN SELECT a.ColumnName INTO id_column FROM AD_Column a JOIN AD_Table b ON (a.AD_Table_ID=b.AD_Table_ID) WHERE a.IsActive='Y' AND a.IsKey='Y' AND lower(b.TableName) = lower(p_tablename); IF (id_column IS NULL) THEN RAISE EXCEPTION 'ID column not found for table %', p_tablename; END IF; IF (length(p_tablename) <= 27) THEN uu_column = p_tablename || '_UU'; ELSE SELECT a.ColumnName INTO uu_column FROM AD_Column a JOIN AD_Table b ON (a.AD_Table_ID=b.AD_Table_ID) WHERE a.IsActive='Y' AND a.FieldLength=36 AND lower(ColumnName) like (lower(substring(p_tablename from 0 for 27)) || '%UU') AND lower(b.TableName) = lower(p_tablename); END IF; IF (uu_column IS NULL) THEN RAISE EXCEPTION 'UUID column not found for table %', p_tablename; END IF; EXECUTE 'SELECT ' || quote_ident(lower(id_column)) || ' FROM ' || quote_ident(lower(p_tablename)) || ' WHERE ' || uu_column || '=$1' INTO STRICT o_id USING p_uu_value; RETURN o_id; END;