You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

APEX联动POPUP LOV无法加载对应床位数据问题求助

问题排查与解决方法

核心问题定位

你的床位LOV SQL存在逻辑匹配错误:

  • 病房LOV的return值是ward_NO(病房编号),因此页面项P22_WARD_NO存储的是病房编号而非病房名称。
  • 但床位LOV中却用w.ward_foriegn_name like '%' || :P22_WARD_NO || '%',试图用病房编号去匹配病房名称字段,这必然无法返回任何数据。

解决步骤

1. 修正床位LOV的SQL语句

直接使用病房编号关联,无需通过名称模糊匹配,同时可以简化SQL(无需关联hospital_wards表,因为hospital_beds本身已包含ward_no和hospital_no字段):

select b.bed_no as display, b.bed_no as return
from hospital_beds b
where bed_status = 1
  and b.ward_no = :P22_WARD_NO
  and b.hospital_no = :P0_HOSPITAL_NO;

如果业务上必须关联hospital_wards表(比如需要额外过滤条件),则修正关联条件:

select b.bed_no as display, b.bed_no as return
from hospital_beds b
join hospital_wards w on b.ward_no = w.ward_no
where bed_status = 1
  and w.ward_no = :P22_WARD_NO
  and b.hospital_no = :P0_HOSPITAL_NO;

2. 验证APEX LOV配置

  • 确认床位LOV的父项设置为P22_WARD_NO,确保选择病房后能触发LOV刷新。
  • 检查P22_WARD_NO的会话状态:在页面添加一个临时显示项,绑定值为:P22_WARD_NO,验证选择病房后是否能正确获取到病房编号。
  • 确认P0_HOSPITAL_NO的会话值有效:可以通过APEX会话状态查看器,检查该页面项是否已正确设置当前院区编号。

3. 测试SQL有效性

在APEX SQL Workshop中,将SQL语句中的:P22_WARD_NO和:P0_HOSPITAL_NO替换为实际存在的样本值(比如某院区的有效病房编号),执行查询验证是否返回预期的床位数据,排除SQL本身的语法或数据问题。


内容的提问来源于stack exchange,提问作者Ziad Adnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 00:38:13