【问题标题】:APEX 5: Calling an application process using a dynamic actionAPEX 5:使用动态操作调用应用程序进程
【发布时间】:2017-01-26 23:22:42
【问题描述】:

0 与 12c cdb。 我有一个在共享组件 (Set_JD) 下创建的应用程序进程,它将日期(:P1_SDate) 和数字(:P1_SP) 转换为 2dp 儒略日期 (:P1_SJD)。

我在 :P1_SP 上创建了更改事件动态操作。使用 True/execute-plsql 操作将 Julian 日期返回到项目:P1_SJD。 plsql:

开始

:P1_SJD := Set_JD (:P1_SDATE, :P1_SP);

结束;

我得到 ORA-06550,必须声明 Set_JD。

我做错了什么?

不幸的是,Set_JD 代码被大量使用,所以真的需要克服这个问题。 提前致谢。

【问题讨论】:

  • 谢谢,我会试一试。 – SamM 4 小时前 顺便说一句,如果不是常见的 plsql,那么“应用程序进程”部分的用途是什么? – SamM 4 小时前 不幸的是,在使 Set_JD 成为 DB 端函数之后,我现在得到了....“PLS-00306:调用“Set_JD”时参数的数量或类型错误。据我所知,数据类型是正确的(日期格式:DD-MON-RR)。我需要在两端做些什么来确保格式正确通过吗?

标签: oracle-apex oracle-apex-5


【解决方案1】:

SET_JD 不应是 APEX 框架内的应用程序进程。它应该是数据库中的一个函数。

开始 :P1_SJD := 设置_JD (:P1_SDATE, :P1_SP); 结束;

将被框架解析为动态 sql 并转换为类似的东西

{绑定变量 1} = 函数({绑定变量 2},{绑定变量 3})

【讨论】:

  • 谢谢,我会试一试的。
  • 顺便说一句,如果不是普通的 plsql,应用程序部分是干什么用的?
  • 不幸的是现在得到...."PLS-00306:调用“Set_JD”时参数的数量或类型错误。据我所知,数据类型是正确的(日期格式:DD- MON-RR). 我需要在两端做些什么来确保格式正确通过吗?
  • 如果你将函数的第一个参数声明为日期,你应该调用 l=it 像 BEGIN :P1_SJD := Set_JD (to_date(:P1_SDATE,'dd-MON-RR'), : P1_SP);结尾;这是因为您的绑定变量是隐式 varchar2
  • 您声明一个应用程序进程以将其用作带有 javascript 的“按需”进程。你应该看看docs.oracle.com/cd/E11882_01/appdev.112/e11947/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-18
  • 1970-01-01
相关资源
最近更新 更多