在 EBS Form 查找界面点 "Find" 之后都发生了什么?

本文详细介绍了EBS Form中点击'Find'按钮后,从WHEN-BUTTON-PRESSED触发器开始,经过数据块查询、PRE-QUERY和POST-QUERY触发器,直至数据显示在界面的整个过程。通过分析代码,揭示了如何设置查询条件、执行查询、以及在POST-QUERY中根据查询结果给界面字段赋值,以满足EBS复杂业务逻辑的需要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      我一直对form 都感觉比较困惑, 特别是form 里面的trigger, 像PRE-QUERY, POST-QUERY 一直都弄不清情况. 这个trigger 是什么时候触发的呢? 看名字知道在QUERY 之前或之后触发的. 那么QUERY 什么呢? 搞不清楚.

     今天就看下代码, 弄明白点了 "find" 之后做了什么事情, 那些数据库里面的值怎么到form 界面上去的.

     我们知道, 每一个form 上的数据块都是绑定一个table 或者 view 的. EBS绑定的都是 view. 像下面那样:


     我们可以认为, 一个数据块就是一个view. 而数据块上的字段, 通常也和view 里面的字段一一对应. 注意, 这里说的是通常. 在我们刚开始学习做form 的时候, 选择一个view, 然后把view 里面的字段一一对应于数据块的字段, 这样编译运行的时候, 在form 界面菜单上 view -> query by -> run, 就可以直接做查询的动作, 在form 界面上就会显示出数据库的记录.

     这里就做了一次QUERY 的动作, 查询数据库, 然后把记录的值填到对应的 field 里面去.

     但是这样的逻辑是简单的, 没有办法应付EBS 复杂的业务逻辑. 因此在实际的做法中, 并没有用这样简单直接的方式. 我们去看EBS 里面的form, 数据库上的字段和view 里面的字段几乎没有对应关系. 似乎是两个不相关连的东西, 只是名字很像.

     这样做的结果就是几乎所有的行为都要自己写代码实现.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值