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直接个性化设置:
- 定义菜单栏中调用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中存在的参数,如果多个参数就以空格对参数之间进行隔离。
最新文章
- 设计模式-策略模式(Strategy Model)
- Scrum 是什么?
- Svn 的 Update 与Maven 的update project 作用有什么区别
- Differential Geometry之第四章标架与曲面论的基本定理
- oracle 表空间常用语句
- (转)Smarty Foreach 使用说明
- 第二章——Serializable的使用(跨进程使用和Intent的传递对象)
- oracle-计算工作日
- nginx的RTMP协议服务器
- Bar Chart of Frequency of modals in different sections of the Brown Corpus
- 非常详细的 Docker 学习笔记-转载
- java学习总结之文件操作--ByteArrayOutputStream的用法
- windows系统dos窗口全屏
- PHP 类的命名空间 和自动载入
- 数据库-left join,right join,inner join,full join
- MySQL事件不自动执行
- SyntaxError: missing ; before statement
- mysql主从不同步问题 Error_code: 1236
- ABP单元测试
- iOS 抓取 HTML ,CSS XPath 解析数据