R12 WEBADI 基于TABLE的LOV详细研究

R12 WEBADI 提供了基于Table 的LOV的功能,很方便,但由于LOV的显示或值的提取与component的定义有很大关系,所以特做了几个例子验证一下。
LOV的定义可以在interface的定义界面上做(但component需另外定义),也可以使用API去做,相比较而言,我较倾向于用API. 另外,如用API定义时,不提供component的参数的话,WEBADI会依据LOV的相关信息为我们建立默认的component,但我发现,结果总是差强人意,因此建议,component还是显式定义为好,不要让WEBADI自动建.
有一点不好的是,用API 创建LOV时,依据参数建立的component的默认源是ORACLE,这样的话,我们无法在manager components 的WEB页面中修改这个component(除非你改component code, 好象在前面加_XX_,但这样还要修改bne_interface_cols_b中的component code,很麻烦,因此最好直接后台修改component的信息(在bne_param_list_items_b表中),不要动component code ).

假设
Template 上有三个字段,vendor_id, vendor_num, vendor_name, 要求LOV建在vendor_num上,选择后,提取id, num,name分别到三个字段中。

API 代码:
begin
  bne_integrator_utils.CREATE_TABLE_LOV(P_APPLICATION_ID => 20003
   ,P_INTERFACE_CODE => 'A1_XINTG_INTF1'
   ,P_INTERFACE_COL_NAME => 'VENDOR_NUM'
    --以下为LOV定义参数
   ,P_ID_COL => 'VENDOR_ID'
   ,P_MEAN_COL => 'SEGMENT1'
   ,P_DESC_COL => 'VENDOR_NAME'
   ,P_TABLE => 'ap_suppliers'
   ,P_ADDL_W_C => 'ROWNUM<10'
   ,P_WINDOW_CAPTION => 'Vendor'
   ,P_WINDOW_WIDTH => null
   ,P_WINDOW_HEIGHT => null
   ,P_TABLE_BLOCK_SIZE => null
   ,P_TABLE_SORT_ORDER => null
   ,P_USER_ID => 10653
  --以下为component的定义参数
   ,P_TABLE_COLUMNS => 'VENDOR_ID,SEGMENT1,VENDOR_NAME'   --提取的表的实际字段,即LOV的显示字段
   ,P_TABLE_SELECT_COLUMNS => 'VENDOR_ID,VENDOR_NUM,VENDOR_NAME' --需要提取到template上的字段,需与interface的字段名一致
   ,P_TABLE_COLUMN_ALIAS => 'VENDOR_ID,VENDOR_NUM,VENDOR_NAME' --如果提取的LOV字段名与interface的字段名不一样,需要在此为LOV的字段定义别名,与interface 字段名一致即可
   ,P_TABLE_HEADERS => 'Vendor ID,Vendor Num,Vendor Name'
   );
end;

最终效果如下:
bb

如果仅提取id, num, 不提取name, 则修改成:
P_TABLE_SELECT_COLUMNS => 'VENDOR_ID,VENDOR_NUM'

但如果你仅想提取Vendor NUM,如果你修改成这样的话:
P_TABLE_SELECT_COLUMNS => 'VENDOR_NUM' 

你会发现结果变成了这样:
bb

提取的仍是vendor id, 并且放到了vendor num这个字段上去了...

因此,我们还需要修改这个:
P_TABLE_COLUMNS => 'SEGMENT1,VENDOR_ID,VENDOR_NAME'   
P_TABLE_COLUMN_ALIAS => 'VENDOR_NUM,VENDOR_ID,VENDOR_NAME'
P_TABLE_HEADERS => 'Vendor Num,Vendor ID,Vendor Name'

把segment1 提到第一位去,这样的话,它将被第一个提取出来,放到template中的vendor NUM中.

从上可以看出,LOV定义的各字段都可以显示在LOV中,并且提取到template中,但如何提取,这就要看component 的了...

fj.pngA.JPG

fj.pngB.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10359218/viewspace-736422/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10359218/viewspace-736422/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值