EBS 开发中如何动态启用和禁止请求(Current Request)的参数

EBS 开发中如何动态启用和禁止请求(Current Request)的参数

 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

我们可以使用依赖值集来启用和禁用参数。比如,有一个值集’A’,有一个对应的参数;还有另一个值集’B’,对应于另一个参数.我们可以加入一个条件,除非在值集’A’输入一个值,’B’才可以启用,也就是说值集B依赖于值集A。需要在值集B的条件中使用:and :$FLEX$.A = ‘<some value>’,实现的原理就是值集B不会被初始化,除非值集A返回一个符合条件的值。

实现步骤

1.      先定义一个用于提供驱动值的参数,它使用值集A。

2.      定义一个隐藏的参数,它引用一个只返回Y或者null的值集.在符合的条件下,隐藏的参数的默认值会被设置Y,否则就会被设成NULL。

3.      为依赖值集A的值集B建立第三个参数,在值集B加一个条件让值集依赖于隐藏参数。当条件符合时,隐藏参数返回Y,那么第三个参数就可以被启用;

值集创建

1.      第一个参数的值集是PO_SRS_REQUISITION_TYPE,系统已存在的。

2.      隐藏参数对应的值集

 

 

3.      第三个参数对应的值集

 

4.      创建相应的参数

4.1  对一个参数设置相应的值集为PO_SRS_REQUISITION_TYPE

4.2  对第二个参数设置值集为DummyValueSetTest,默认值类型为SQL Statement,默认值

 

select decode(:$FLEX$.PO_SRS_REQUISITION_TYPE,'PURCHASE','Y',NULL) from dual


并且不选择Display,这样就不在参数界面上看到这个参数。

 

4.3  对三个参数设置值集为XX_AvaialbleVendors.

5.      运行的效果如下

初始界面

选择Purchase的时候的效果

 

切换到Internal时的效果

 

 

参考文章:
http://apps2fusion.com/at/ar/241-enablingdisabling-concurrent-program-parameters

 

posted on 2014-01-07 13:45  love so much  阅读(408)  评论(0编辑  收藏  举报

导航