Oracle apex 从存储过程访问Apex_application.g_fXX值

Oracle apex 从存储过程访问Apex_application.g_fXX值,oracle-apex,Oracle Apex,我想从数据库存储过程中访问Apex_application.g_fXX值,可以将整个数组作为输入参数传递,也可以从数据库中读取会话状态。这可能吗?我尝试这样做的原因是我想将所有繁重的处理移到数据库中 蒂娅,塔玛斯当然,为什么不起作用 CREATE OR REPLACE PACKAGE "APXPA_TEST" IS PROCEDURE process_something; PROCEDURE process_something2(i_values IN apex_applicatio

我想从数据库存储过程中访问Apex_application.g_fXX值,可以将整个数组作为输入参数传递,也可以从数据库中读取会话状态。这可能吗?我尝试这样做的原因是我想将所有繁重的处理移到数据库中


蒂娅,塔玛斯当然,为什么不起作用

CREATE OR REPLACE PACKAGE "APXPA_TEST" IS
   PROCEDURE process_something;
   PROCEDURE process_something2(i_values IN apex_application_global.vc_arr2);
END "APXPA_TEST";
/
CREATE OR REPLACE PACKAGE BODY "APXPA_TEST" IS   
   PROCEDURE process_something
   IS
   BEGIN
      FOR i in 1..apex_application.g_F02.COUNT
      LOOP
         apex_debug_message.log_message('processing '||apex_application.g_f02(i)||'...');
      END LOOP;
   END;

   PROCEDURE process_something2(i_values IN apex_application_global.vc_arr2)
   IS
   BEGIN
      FOR i IN 1..i_values.COUNT
      LOOP
         apex_debug_message.log_message('processing '||i_values(i)||'...');       
      END LOOP;
   END;
end "APXPA_TEST";
/
我制作了一个基于EMP的表格页面。我在提交时创建了一个页面流程,在MRU之前,在计算和验证之后,使用流程点

apxpa_test.process_something;
apxpa_test.process_something2(apex_application.g_f02);
G_F02
保持
ENAME

现在运行页面并启用调试。然后只需提交表单(您不需要编辑任何内容),然后转到查看调试。选择最后一个条目。滚动到它在页面进程上的位置:您将在那里看到输出。(我只使用了DeStart 10)


当然,为什么不起作用

CREATE OR REPLACE PACKAGE "APXPA_TEST" IS
   PROCEDURE process_something;
   PROCEDURE process_something2(i_values IN apex_application_global.vc_arr2);
END "APXPA_TEST";
/
CREATE OR REPLACE PACKAGE BODY "APXPA_TEST" IS   
   PROCEDURE process_something
   IS
   BEGIN
      FOR i in 1..apex_application.g_F02.COUNT
      LOOP
         apex_debug_message.log_message('processing '||apex_application.g_f02(i)||'...');
      END LOOP;
   END;

   PROCEDURE process_something2(i_values IN apex_application_global.vc_arr2)
   IS
   BEGIN
      FOR i IN 1..i_values.COUNT
      LOOP
         apex_debug_message.log_message('processing '||i_values(i)||'...');       
      END LOOP;
   END;
end "APXPA_TEST";
/
我制作了一个基于EMP的表格页面。我在提交时创建了一个页面流程,在MRU之前,在计算和验证之后,使用流程点

apxpa_test.process_something;
apxpa_test.process_something2(apex_application.g_f02);
G_F02
保持
ENAME

现在运行页面并启用调试。然后只需提交表单(您不需要编辑任何内容),然后转到查看调试。选择最后一个条目。滚动到它在页面进程上的位置:您将在那里看到输出。(我只使用了DeStart 10)