Problem:
oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT * FROM (SELECT PROFILE_ID,
PROFILE_CODE,
USER_CHANGEABLE_FLAG,
USER_VISIBLE_FLAG,
USER_ENABLED_FLAG,
USER_UPDATE_ALLOWED_FLAG,
PROFILE_NAME,
PROFILE_DESCRIPTION,
AFWK_PROFILES_UTL.GET_PROFILE_VALUE(PROFILE_ID, :0, :1, :2) CURRENT_VALUE,
DECODE(NVL(USER_ENABLED_FLAG, 'N'),
'Y',
DECODE(NVL(USER_VISIBLE_FLAG, 'N'),
'Y',
NVL(USER_UPDATE_ALLOWED_FLAG, 'N')),
'N') USER_ALLOWED_FLAG,
'' USER_VALUE,
DECODE(VALUESET_CODE, NULL, 'N', 'Y') LOV_FLAG
FROM AFWK_PROFILES_VL
WHERE NVL(ENABLED_FLAG, 'N') = 'Y'
AND NVL(START_DATE_ACTIVE, SYSDATE) <= SYSDATE
AND NVL(END_DATE_ACTIVE, SYSDATE) >= SYSDATE
AND NVL(USER_VISIBLE_FLAG, 'N') = 'Y') QRSLT ORDER BY "PROFILE_NAME"
at oracle.jbo.server.BaseSQLBuilderImpl.processException(BaseSQLBuilderImpl.java:3855)
at oracle.jbo.server.OracleSQLBuilderImpl.processException(OracleSQLBuilderImpl.java:4673)
at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1203)
at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:815)
at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:5892)
Truncated. see log file for complete stacktrace
java.sql.SQLException: ORA-06553: PLS-307: too many declarations of 'GET_PROFILE_VALUE' match this call
Solution:
在名为AFWK_PROFILES_UTL的package中,存在两个叫GET_PROFILE_VALUE的函数,它们的参数个数相同,仅在第一个参数有类型上的区别。
修改其中一个函数的名称,重新编译通过。