我正在 Oracle APEX 中实施多级审批系统,遵循与此类似的指南:参考博客。目前,当用户登录时,仅自动填写经理姓名、员工姓名和员工代码。但是,我需要扩展此功能以包含其他字段,例如名称和部门。
我尝试了多种方法,包括使用必要的参数创建一个新表,修改任务定义中的操作 SQL 查询:
select e.empno, e.emp_name, e.operation, e.department, e.email_id, e.designation, e.division, e.address, m.emp_name as mgr_name
from emp_2 e, emp_2 m
where m.empno(+)=e.mgr
and e.empno=:APEX$TASK_PK
,并在任务定义中添加参数,修改任务定义中参与者中的SQL查询:
select emp_name, operation, department, email_id, designation, division, address from emp_2 where empno=(select mgr from emp_2 where empno=(select empno from emp_1 where emp_name=:APP_USER))
。另外,我还修改了“申请旅行”页面上的 SQL 查询:
select e.empno, e.emp_name, e.operation, e.department, e.email_id, e.designation, e.division, e.address, m.emp_name as mgr_name
from emp_2 e, emp_2 m
where m.empno(+)=e.mgr
and e.empno=:APEX$TASK_PK
。尽管做出了这些努力,我在尝试打开页面时还是遇到了错误。
有人可以指导我正确的步骤来扩展 Oracle APEX 中的自动填充功能吗?任何见解或建议将不胜感激。谢谢!
要找出导致错误页面上显示的“NO DATA FOUND”错误的原因,请在调试模式下运行该页面并检查调试日志。这将显示引发错误的 sql 语句是什么。如果没有这些信息,就很难调试您的问题。
当您说“自动填充”时,您指的是哪个页面?您可以添加屏幕截图吗?我认为您正在更改的任何查询都不应该针对该功能进行更改。