如何处理Oracle APEX报告中的复选框项?

时间:2012-08-21 00:23:10

标签: oracle plsql oracle-apex

我不是一位经验丰富的APEX开发人员,因此出现此问题:我有一个包含几列的报告,第一个显示一个复选框,其值是行记录的列ID,我需要运行一个pl / sql检查每一行的功能,但我没有运气......

相关列的SQL看起来像这样(为简单起见而修剪):

SELECT
  apex_item.checkbox(1, p.ticket_id,'UNCHECKED') "Add",
  p.ticket_id,
  UPPER(SUBSTR(p.status_code, 1, 3)) status,
  p.last_update
FROM problems p
... etc.

第一列设置为呈现为“简单复选框”,其列表值为#TICKET_ID#。我有一个提交按钮设置为只提交页面,我创建了一个运行“在提交时 - 在计算和验证之后”的进程,其执行的代码是以下PL / SQL:

BEGIN
  FOR i in 1..APEX_APPLICATION.G_F01.COUNT LOOP
    BEGIN
      IF APEX_APPLICATION.G_F01(i) IS NOT NULL THEN
      run-some-procedure-function(
        parameter_one => APEX_APPLICATION.G_F01(i),
        parameter_two => :SOME_VALUES_ID,
        parameter_three => :F_AU_ID
      );
      END IF;
      EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
    END;
  END LOOP;
END;

当我运行此应用程序时,标记一些复选框,然后点击提交按钮我最后会收到一条错误消息和一个奇怪的URL结尾:

APEX Error on submit with checkbox values

欢迎提出任何想法和/或建议,即使是对我的问题采取不同的方法(我只需要坚持使用复选框,因为我需要它)。

1 个答案:

答案 0 :(得分:1)

一些追踪原因的提示:

  1. 点击“提交”按钮后检查分支。你是否分支到同一页面或不同的页面?
  2. 如果分支没问题,那么在过程中测试注释run-some-procedure-function的一部分,看看,只是为了确保函数不是错误的原因。