0

我不是经验丰富的 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 错误

欢迎任何想法和/或建议,甚至接受我的问题的不同方法(我只需要坚持复选框,因为我需要它)。

4

1 回答 1

1

追踪原因的一些提示:

  1. 点击提交按钮后检查分支。你是跳转到同一个页面还是不同的页面?
  2. 如果分支没问题,那么作为测试的一部分,在进程中注释 run-some-procedure-function 并查看,只是为了确保该函数不是导致错误的原因。
于 2012-09-05T17:45:42.997 回答