FUNCTION Lock_By_Id___ ( objid_ IN VARCHAR2, objversion_ IN VARCHAR2 ) RETURN fnd_user_tab%ROWTYPE IS row_locked EXCEPTION; PRAGMA EXCEPTION_INIT(row_locked, -0054); rec_ fnd_user_tab%ROWTYPE; BEGIN SELECT * INTO rec_ FROM fnd_user_tab WHERE rowid = objid_ AND to_char(rowversion) = objversion_ FOR UPDATE NOWAIT; RETURN rec_; EXCEPTION WHEN row_locked THEN Error_SYS.Fnd_Record_Locked(lu_name_); WHEN too_many_rows THEN Raise_Too_Many_Rows___(NULL, 'Lock_By_Id___'); WHEN no_data_found THEN BEGIN SELECT * INTO rec_ FROM fnd_user_tab WHERE rowid = objid_; Raise_Record_Modified___(rec_); EXCEPTION WHEN no_data_found THEN Error_SYS.Fnd_Record_Removed(lu_name_); WHEN too_many_rows THEN Raise_Too_Many_Rows___(NULL, 'Lock_By_Id___'); END; END Lock_By_Id___;