当前位置:首页 > Oracle EBS Form个性化
?
在Actions里加入一个Property类型,Object Type为Global Variable即全局变量,变量名为XX_XH_EXECUTABLE_NAME,为了便于区分,我们FORM个性化的全局变量全部以XX_开头。Property Name为VALUE,Value为
=:CONC_PROG.EXECUTABLE_NAME(前面有=号,如果不加等号的话,会被赋值为’ :CONC_PROG.EXECUTABLE_NAME’)。
?
再增加一个Builtin类型,Builtin Type为Lunch a Function即调用一个功能,Function Code为FND_FNDCPMFE即可执行对应的功能,Function Name会被自动调出。
?
保存。打开并发程序界面,查找一个并发程序,点击Tools>Executable,可以看到可执行定义界面被调出,但是没有数据。
?
关闭并发请求界面,打开可执行界面,再打开FORM个性化界面。新增加一个FORM个性化规则INIT XX_XH_EXECUTABLE_NAME,触发器事件为
WHEN-NEW-FORM-INSTANCE。我们做这个个性化规则的目的是初始化全局变量INIT XX_XH_EXECUTABLE_NAME。
?
在Actions下,增加一个Property 类型,Object Type 为Global Variable,变量名为XX_XH_EXECUTABLE_NAME。Property Name为INITIAL VALUE(注意与VALUE的区别,VALUE是直接赋值,而INITIAL VALUE为如果该变量为null或未被创建,会被赋初值,如果有值的话,则不会覆盖),Value为=null。这个个性化的目的是为了直接打开该FORM时,后面定义的用到此全局变量的个性化规则有效。
?
新增一条名为Enter Query的个性化规则。触发器的事件为WHEN-NEW-FORM-INSTANCE,条件为:global.XX_XH_EXECUTABLE_NAME is not null 。即上面定义的那个全局变量的值不为空时才会执行。
?
在Actions,设置一个Builtin类型,Builtin Type为DO_KEY,就像在FORM中直接执行的语句。设置Argument为ENTER_QUERY即进入查询模式。
?
新增一条名为’Execute Query’个性化规则,触发器项为
WHEN-NEW-RECORD-INSTANCE,对象为FND_EXECUTABLES,条件为:global.XX_XH_EXECUTABLE_NAME is not null。Processing Mode改为Only in Enter-Query Mode。主要是能在查询模式下继续执行该代码,如果不改在并发程序界面调出可执行界面时,可执行会停在查询模式里。
?
在Actions里,设置type为Property,Object Type为Item,Target Object为FND_EXECUTABLES.EXECUTABLE_NAME,Property Name为VALUE,Value为=:global.XX_XH_EXECUTABLE_NAME。
?
增加一个Builtin类型,Builtin Type 为DO_KEY,Argument为
EXECUTE_QUERY。即进行FND_EXECUTABLES.EXECUTABLE_NAME的值等于全局变量的查询。
?
新增一条名为Clear XX_XH_EXECUTABLE_NAME Value个性化规则。触发器事件为WHEN-NEW-RECORD-INSTANCE ,对象为FND_EXECUTABLES,条件为:global.XX_XH_EXECUTABLE_NAME is not null
?
在Actions里,设置Type为Property,Object Type为Global Variable,Target Object XX_XH_EXECUTABLE_NAME ,Property Name为VALUE ,Value为=null,即查询完之后将该全局变量的值清空。
?
至此,完成
共分享92篇相关文档