总结
3.1开发技巧
3.1.1如何建立弹出式值列表(LOV)
1. 右键点击LOV,选择“LOV向导”
图58
2. 选择“基于查询的新纪录组”
图59
3. 在窗口中输入形成记录组的查询SQL语句(例图中是查询员工的SQL语句)
图60
4. 选择LOV列,选择到右边的列将来会显示到界面上,左边的列表不显示
图61
5. 依照界面填写列中文标题,设置宽度以及返回的值
图62
注:“返回的值”作用是修改对应的数据块的项,通过这里的设置,实现用户在界面上选中一条记录后,LOV自动填写相关的一个或者多个字段的内容。例如:多组织结构中,用户在弹出式窗口中选择了组织名称OU_NAME后,需要修改界面上OU_NAME的值以及界面上没有显示的ORG_ID数据项两个内容,这样的功能就是在这里实现。
6. 填写LOV弹出式窗口标题
图63
7. 选择LOV分配项
图64
8. 最后,在步骤7中分配的数据项只要添加到画布上,就可以看到有LOV弹出式值列表的
按钮。
3.1.2为什么运行时值列表为空(如何初始化多组织环境)?
ERP通过多组织环境的方式进行权限的区分,因此在大多数基于视图的查询中都需要对多组织环境进行初始化才能看到相应权限的数据。初始化步骤如下:
1. 在触发器PRE-FORM中添加针对多组织的初始化代码,首先在begin的上面填写变量声
明:
DECLARE l_default_org_id NUMBER; l_default_ou_name VARCHAR2(240); l_ou_count NUMBER; l_no_access_flag VARCHAR2(10); 2. 在begin至end间添加如下代码。大多数情况下,下面的代码只需要修改第一行mo_global.init的参数为具体产品名即可。 --初始化多组织访问环境,参数为产品名,mo_global为Oracle提供的库函数 mo_global.init('CCM'); --将获得的多组织相关数据填写到变量中,mo_utils为Oracle提供的库函数 mo_utils.get_default_ou(l_default_org_id,l_default_ou_name,l_ou_count);