The SQL Placeholder '?' Errors When Used In Saved Query.

(Doc ID 1334040.1)

Last updated on JULY 09, 2014

Applies to:

Oracle Transportation Management - Version: 6.2.2 to 6.2.3 - Release: 6.2 to 6.2
Information in this document applies to any platform.

Symptoms

After upgrading OTM 6.2 to patch 6.2.2, agents fails when using saved queried with SQL placeholder '?', the following error occurs.

ERROR
-----------------------
Number of place holders not equal to number of pk arguments. sql = select gtm_transaction_line_gid from gtm_transaction_line where gtm_transaction_gid =?


STEPS
-----------------------
The issue can be reproduced at will with the following steps:

For example:

1. Create an agent of GTM TRANSACTION, listens to GTM TRANSACTION - MODIFIED by user.
2. The agent action body has only one action: FOR EACH, the saved query is FIND TRANSACTION LINES. The RAISE EVENT is TR LINE RESCREEN.

The Saved Query SQL:
select gtm_transaction_line_gid from gtm_transaction_line where gtm_transaction_gid=?

3. Modify any GTM TRANSACTION object, that would trigger the agent.
4. Check in the log file, the error of
Number of place holders not equal to number of pk arguments. sql = select gtm_transaction_line_gid from gtm_transaction_line where gtm_transaction_gid =?

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