【问题标题】:Accessing Session State in query在查询中访问会话状态
【发布时间】:2016-01-27 22:09:27
【问题描述】:

我有以下网址

.../ords/f?p=1575:31:12296330498768::NO::CONTRACTID:2

如您所见,我已将CONTRACTID 的会话状态设置为2

我想在下面的SQL 中访问CONTRACTID 的值:

SELECT
  CON_CONTRACT.CONTRACTDATUM AS CONTRACTDATUM,
  CON_CONTRACT.BEGINDATUM    AS BEGINDATUM,
  CON_CONTRACT.EINDDATUM     AS EINDDATUM,
  CON_KLANT.NAAM             AS KLANT,
  CON_VERKOPER.NAAM          AS VERKOPER
FROM CON_CONTRACT, CON_VERKOPER, CON_KLANT
WHERE
  CON_VERKOPER.VERKOPERID = CON_CONTRACT.VERKOPERID AND
  CON_KLANT.KLANTID = CON_CONTRACT.KLANTID AND
  CON_CONTRACT.CONTRACTID = :CONTRACTID

我根据documentation 使用:CONTRACTID 引用会话状态

使用上述SQL 访问报告时出现以下错误

ERR-1002 Unable to find item ID for item "CONTRACTID" in application "1575". Unexpected error, unable to find item name at application or page level.

还有下面Technical Info

is_internal_error: true
apex_error_code: WWV_FLOW.FIND_ITEM_ID_ERR
error_backtrace:
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x148b83330       556  package body APEX_040200.WWV_FLOW_ERROR
0x148b83330       607  package body APEX_040200.WWV_FLOW_ERROR
0x148b83330       911  package body APEX_040200.WWV_FLOW_ERROR
0x14b2992c0      2607  package body APEX_040200.WWV_FLOW_META_DATA
0x14c01ff10      3334  package body APEX_040200.WWV_FLOW
0x14c01ff10      4860  package body APEX_040200.WWV_FLOW
0x14c0d60c8       249  procedure APEX_040200.F
0xa04c0228         2  anonymous block

我尝试将:CONTRACTID 替换为V('CONTRACTID')NV('CONTRACTID'),但这没有任何作用

【问题讨论】:

    标签: sql plsql oracle-apex


    【解决方案1】:

    CONTRACTID 必须是应用程序项或页面项。您不能只将 URL 中的任何字符串作为标识符传递并在查询中使用它。创建页面项目:

    • 打开所需页面(在您的示例中是带有查询的页面)
    • 点击Items部分中的+符号(如果您在Component view模式下工作)
    • 为您的项目命名
    • 如果您不需要在页面上显示项目,您可以将其隐藏(Display as - Hidden 在项目属性中)

    要创建应用程序项,请转到Shared Components -> Application Logic -> Application Items 并在那里创建一个项。
    创建页面项或应用程序项后,您可以在 URL 和报告查询中使用它们的名称。应用程序项和页面项之间的主要区别 - 应用程序项可在整个应用程序中访问,页面项 - 仅在其页面上。

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2010-09-21
      • 2012-08-26
      • 2019-01-27
      • 1970-01-01
      相关资源
      最近更新 更多