整体逻辑
? ? ? ? ? ? ? ? ? 步骤 ?
打开并发程序定义界面,再打开FORM个性化界面,定义一个名为Executable的个性化规则,对应的触发器事件为WHEN-NEW-FORM-INSTANCE
打开并发程序定义界面,在Tools菜单栏下新加一个菜单项。 点击该菜单时,如果并发程序名为空,则报一个错误。 如果可执行名非空,增加一个全局变量 ,储存可执行的名称。 点击新增的菜单项,可以打开可执行FORM。
当打开可执行FORM时,对上述定义的全局变量进行初始化。 进入查询模式。
将全局变量的值赋予可执行名称项值。 进行查询。 清除全局变量的值
?
在Actions里,增加一个Menu类型,其中Menu Entry选择’SPECIAL1’(SPECIAL1至15是在Tools菜单下,16至30是在Reports菜单下,31至45在Actions菜单下),Menu Label输入’Executable’(即菜单项标签),Icon Name为’CONC_PROG’即并发程序FORM对应的BLOCK
? ?
保存,打开可执行界面,可以看到新增的菜单项,点击,没有事件发生。 在可执行界面下,打开FORM个性化界面,我们增加一个事件为,如果可执行的名称为空,则报一个错误’Please Enter Executable Name!’。新增一个个性化规则Check Executable Name,Trigger Event为SPECIAL1,条件为可执行名称为空。即’:CONC_PROG.EXECUTABLE_NAME IS NULL’
?
在Actions下,设置一个Meassage 类型,Message Type为Error,Message Text为Please Enter Executable Name!
? ?
保存。打开并发程序定义界面,Executable Name项为空,直接点击Executable。 在并发定义界面下,打开FORM个性化界面。我们先定义一个全局变量,储存可执行的名称,在后面中要用到。新增一个名为Excutable Entered的个性化规则,Trigger Event为SPECIAL1,条件为:CONC_PROG.EXECUTABLE_NAME is not null
?
在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的值等于全局变量的查询。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle EBS Form个性化(3)在线全文阅读。
相关推荐: