OAF: 怎样建立 LOV

来源:互联网 发布:淘宝网的营销方式 编辑:程序博客网 时间:2024/05/29 08:08

1. 先看看做出来的效果

这是 Receipts 行上的一个字段, 要求是输入 Requester 的名字, 返回 Name 到界面上显示, 并且把 Id 返回到界面上, 不显示出来;

2. 首先到 Form 上找到对应的字段, 所用的 LOV 和 Record Group, 还有 LOV 的 "列映射属性", 在 OAF 页面上做的要和 Form 保持一致;

3. 创建 LovVO

填上对应的 SQL, Test 一下, 然后一直 Next 到最后一步, 由于我们不需要任何 Java 文件, 就不要勾选 Generate Java File 了, 生成的文件越少越好;

4. 于是在 lov.server 目录下会生成 RcvRequesterLovVO 的文件, 把这个 VO 加入到已存在的 AM 里面去, 或者新建一个 AM, 加进去.

5. 接着在 lov.webui 目录下新建一个 Region, 要用到这个 AM;

设置属性:

Scope: Public

AM Definition: oracle.apps.po.rcv.lov.server.InvRcvLovAM, 也就是刚才加入 VO 的 AM

6. 在 Structure Panel 里面选择这个 Region, 右键选择 New: Table using wizard

选择刚才的 AM 和 VO, 改个名字 RcvRequestResultLovRN, 把所有的字段都选中到右边去, 一路 Next, 最后 Finish;

7. 于是这个 Region 下面就有对应的字段了, 改属性

Search Allowed: True

Selective Search Criteria: True

8. 建好了 Region, 就可以加到页面上去了; 比如加到 RcvTransactionPG 页面上去, 新建一个 item, 改名 Requester

item style: messageLovInput

External LOV: 选择刚刚建立的 Region

View Instance: 选择 VO

View Attribute: 选择 VO 里面对应的字段, 没有的话可以建立一个临时字段

Prompt: 提示词

8. LOV mappings 下面, 根据 Form 上的 "列映射属性", 做对应的映射.

比如 RequesterName 对应的 LOV Region Name

Return Item: 这是指返回到界面上的 item, 选择 Requester

Criteria Item: 这是指搜索使用的item, 选择 Requester. 因为我们是要根据 RequesterName 来搜索的.

但是界面上还需要返回一个 RequesterId, 这个字段不在界面上显示出来, 就需要新建一个 item: RequesterId, item style 选择 fromValue. Data type: number.

然后在 LOV mapping 里面的 RequesterId 选择 Return Item 为刚刚新建的 item.

9. 最后测试一下, 界面上显示的是 Requester Name, 但是 id 也一起传到界面上去了; 不显示.


0 0