Oracle Form个性化案例(一)

业务场景:

现有Form A,需通过A中的菜单栏中调用另一Form B,需将某值作为参数传入Form B中:

由于Form B首先是弹出的查询界面,故传值到查询界面中。

 

实现方法:

Custom.pll方式个性化

1、  需首先获得正式环境下的Custom.pll文件:

2、  定义自己实现功能的procedure。

代码首先在实现定义菜单中的项,app_special2.instantiate()定义触发器SPECIAL45,app_special2.enable()启用触发器SPECIAL45;

触发SPECIAL45时,通过fnd_function.Execute() 函数执行form对应的Function,函数中参数function_name 是Form B对应的Function的名称;参数other_params必须是Form B中存在的参数,若想传递多个参数,在拼接的字符中,需将参数之间以空格进行分隔,例 other_params => ‘param1= ’|| value1 || ‘  param2=’||value2 。

在调用Form B,触发when-new-form-instance时,将参数,传到查询block的Job number字段。

 

3、  在procedure Custom.event() 中添加代码

KS_CUSTOM_PKG.KS_EVENT(event_name);这样避免多Custom.event进行代码逻辑修改

 

4、  在包KS_CUSTOM_PKG中,分别调用需要的procedure。

 

Form直接个性化设置:
  1. 定义菜单栏中调用Form B的项(触发器)

 

 

  2. 定义触发器SPECIAL45,调用Form所对应的Function。

其中Condition设置Job不能为空,Job为传递的参数,为空时会出现错误:UTIL-PARAM STRING ERROR。

 

 

在执行Launch a Function 时,注意:

Function Code:为被调用Form B所对应的Function 名称;

Parameters:  =’PARAMTER1=’ || value1||’  PARAMETER2=’||value2 中的parameter都必须为被调用的Form B中存在的参数,如果多个参数就以空格对参数之间进行隔离。

转载于:https://www.cnblogs.com/Aston-Martin/p/FormPersonalization.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值