Copy Quote Does Not Work When A Custom VPD Is Used And Produces The Following Error: java.sql.SQLException: ORA-00904: "QUOTE_GID": invalid identifier ORA-06512: at "GLOGOWNER.VPD", line 929 ORA-06512 (Doc ID 1074697.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Transportation Management - Version 6.0 to 6.0.5 [Release 6]
Information in this document applies to any platform.
***Checked for relevance on 23-Sep-2013***


Symptoms

In OTM 6.0 when using custom VPD profile Copy Quote action returns the following error:

{? = call vpd.is_domain_writeable(?,?)=null}; inParams=[QUOTE, CRP3]; outParamTypes=class java.lang.String
java.sql.SQLException: ORA-00904: "QUOTE_GID": invalid identifier ORA-06512: at "GLOGOWNER.VPD", line 929 ORA-06512: at line 1

STEPS TO REPLICATE:
--------------------------

1 - Log onto an OTM 6.0 system as ADMIN.

2 - Create a new user:
ID: Enter As needed.
Set he User Location was to AK_LOC1

3 - Navigate to: Configuration and Administration > VPD Management > VPD Profile

4 - Create the following:

ID: QUOTE
Table Name: QUOTE
Predicate:
(insert_user in (select gu.gl_user_gid from gl_user gu, user_appdata ua where ua.key = 'USER_LOCATION' AND UA.GL_USER_GID = GU.GL_USER_GID AND UA.VALUE = 'AK.AK_LOC1') OR QUOTE_GID IN (SELECT QIP.QUOTE_GID FROM QUOTE_INVOLVED_PARTY QIP, CONTACT CON WHERE QIP.INVOLVED_PARTY_CONTACT_GID = CON.CONTACT_GID AND CON.GL_USER_GID = sys_context ('gl_user_ctx', 'log_in_user_gid')))

5 - Attach the VPD to a User Role, in turn linked this to the new User created above.

6 - Navigate to: Brokerage and Forwarding > Quote > Create the following:

ID: Enter as needed
Involved Party Contact: Enter the ID created above.

7 - Log off OTM and back on as the new User created above.

8 - Navigate to: Brokerage and Forwarding > Quote and search for the Quote.

9 - Select the Quote with the ID and click on Actions > Utilities > Copy Quote.

10 - The following error is displayed:

{? = call vpd.is_domain_writeable(?,?)=null}; inParams=[QUOTE, AK]; outParamTypes=class java.lang.String

java.sql.SQLException: ORA-00904: "QUOTE_GID": invalid identifier ORA-06512: at "GLOGOWNER.VPD", line 929 ORA-06512: at line 1


Stack Trace:


At 2010-02-16 07:43:20.674

{? = call vpd.is_domain_writeable(?,?)=null}; inParams=[QUOTE, AK]; outParamTypes=class java.lang.String
java.sql.SQLException: ORA-00904: "QUOTE_GID": invalid identifier
ORA-06512: at "GLOGOWNER.VPD", line 929
ORA-06512: at line 1


java.sql.SQLException: ORA-00904: "QUOTE_GID": invalid identifier
ORA-06512: at "GLOGOWNER.VPD", line 929
ORA-06512: at line 1

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:954)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3422)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4394)
at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:73)
at glog.util.jdbc.SqlCall.execute(SqlCall.java:67)
at glog.util.jdbc.SqlCall.executeOut(SqlCall.java:123)
at glog.util.jdbc.SqlCall.execute(SqlCall.java:111)
at glog.database.vpd.VPD.isDomainWriteable(VPD.java:242)
at glog.database.security.SecurityUtil.isDomainReadOnly(SecurityUtil.java:658)
at glog.database.security.SecuritySessionBean.isDomainReadOnly(SecuritySessionBean.java:989)
at glog.database.security.SecuritySessionHome_snlvan_EOImpl.isDomainReadOnly(SecuritySessionHome_snlvan_EOImpl.java:5004)
at glog.database.security.SecuritySessionHome_snlvan_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:553)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:443)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:439)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:61)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:983)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms