当从apps用户执行下面的get_release函数时,它返回正确的版本:12.1.3,但是当从另一个用户执行它时,它返回未知结果:
declare l_release_name varchar2(30); l_other_release_info varchar2(2000); begin if not apps.FND_RELEASE.get_release (l_release_name,l_other_release_info) then null; end if; dbms_output.put_line(l_release_name); end;
FND_RELEASE.get_release
是一个公共包,从其他用户调用它应该没有限制.
-- get_release() will usually return TRUE -- with RELEASE_NAME = -- contents of RELEASE_NAME column in FND_PRODUCT_GROUPS -- and OTHER_RELEASE_INFO = null -- -- If FND_PRODUCT_GROUPS.RELEASE_NAME contains imbedded spaces: -- -- get_release() will return TRUE -- with RELEASE_NAME = FND_PRODUCT_GROUPS.RELEASE_NAME up to but -- not including the first imbedded space -- and OTHER_RELEASE_INFO = FND_PRODUCT_GROUPS.RELEASE_NAME -- starting with the first non-space character after the first -- imbedded space -- -- On failure,get_release() returns FALSE. This will be a performance issue. -- Both RELEASE_NAME and OTHER_RELEASE_INFO will be set to 'Unknown'. -- This indicates that either: -- 1) there are no rows in fnd_product_groups -- - this can be resolved by populating the row and it will -- be queried on the next call. -- 2) there is more than one row in fnd_product_groups -- - delete all but the one correct row from fnd_product_groups and it -- will be queried on the next call. It's possible that the values -- returned by release_* and *_version routines are still correct if -- the first row in fnd_product_groups,ordered by product_group_id,-- if the currect row,but this will still be a performance problem.
以前有人遇到过这个问题吗?!