问题描述
美好的一天,
我正在尝试从apex_item.text捕获日期,但是它不起作用
我的经典报表是
SELECT apex_item.checkBox2(1,productID,'class=indCheck')
|| apex_item.hidden(2,productname)
|| apex_item.hidden(3,productcode)
|| apex_item.hidden(5,amount)
as "SELECT",PRODUCTID,PRODUCTCODE,PRODUCTNAME,PRODUCTDESC,CATEGORYCODE,SERIALNUMBER,UNITPRICE,REORDERLEVEL,disCONTINUED,UNITSINHAND,STATUS,LOCATION,LOCATIONDESCRIPTION,apex_item.text (20,amount) as amount
from PRODUCTS
我的pl / sql包含
begin
for idx in 1 .. apex_application.g_f01.count loop
if apex_application.g_f01(idx) is not null then
insert into pending
(products,employeename,department,dates,amount
)
values
(apex_application.g_f02(idx),:app_user,sysdate,apex_application.g_f05(idx));
end if ;
end loop;
end;
除了apex_item.text (20,amount) as amount
被apex_application.g_f05(idx)
引用之外的所有内容都被捕获
解决方法
我确实使用了与您使用的相同的代码,并且效果很好。
看看我的理解。
表1:
DROP TABLE ASHISH_SAMPLE_EMP CASCADE CONSTRAINTS;
CREATE TABLE ASHISH_SAMPLE_EMP
(
EMPNO NUMBER,ENAME VARCHAR2(20 BYTE),SAL NUMBER,LOC VARCHAR2(22 BYTE),DEPT VARCHAR2(22 BYTE),ACTIVE VARCHAR2(4 BYTE) DEFAULT 'N'
);
Sample data
SET DEFINE OFF;
Insert into ASHISH_SAMPLE_EMP
(EMPNO,ENAME,SAL,LOC,DEPT,ACTIVE)
Values
(1,'Sahay',1000,'Delhi','SOFTWARE','N');
Insert into ASHISH_SAMPLE_EMP
(EMPNO,ACTIVE)
Values
(4,'TEst',555,'Noida','DBA',ACTIVE)
Values
(7,ACTIVE)
Values
(2,'Ashish','Gurugram','IT2','N');
COMMIT;
表2:
CREATE TABLE ashish_apex_item_issue
(
empno NUMBER,amount NUMBER
);
报告查询
select apex_item.checkbox2(1,empno,'class=indCheck') || apex_item.hidden(5,sal) as "SELECT",EMPNO,apex_item.text (20,SAL) as amount,ACTIVE
from ASHISH_SAMPLE_EMP
保存数据过程
begin
for idx in 1 .. apex_application.g_f01.count loop
if apex_application.g_f01(idx) is not null then
insert into ashish_apex_item_issue
(empno,amount
)
values
(apex_application.g_f01(idx),apex_application.g_f05(idx));
end if ;
end loop;
end;
请按照以下文章
https://roelhartman.blogspot.com/2018/02/apexapplicationgf0x-array-processing-in.html