修改CUSTOM.PLL文件调用客户化FORM&修改标准FORM
修改custom.pll文件里 的过程event;参考例子如下,修改好后上传至$AU_TOP/resource 运行编译frmcmp_batch CUSTOM apps/apps module_type=LIBRARY compile_all=YES,重新登录即可。注意修改前先做好备份
- PROCEDURE event(event_name VARCHAR2) IS
- --
- -- This procedure allows you to execute your code at specific events
- -- including:
- --
- -- ZOOM
- -- WHEN-NEW-FORM-INSTANCE
- -- WHEN-NEW-BLOCK-INSTANCE
- -- WHEN-NEW-RECORD-INSTANCE
- -- WHEN-NEW-ITEM-INSTANCE
- -- WHEN-VALIDATE-RECORD
- --
- -- Additionally, product-specific events will be passed via this
- -- interface (see the Applications Technical Reference manuals for
- -- a list of events that are available).
- --
- -- By default this routine must perform 'null;'.
- --
- -- Oracle Corporation reserves the right to change the events
- -- available through this interface at any time.
- --
- /* Sample code:
- form_name varchar2(30) := name_in('system.current_form');
- block_name varchar2(30) := name_in('system.cursor_block');
- param_to_pass1 varchar2(255);
- param_to_pass2 varchar2(255);
- begin
- -- Zoom event opens a new session of a form and
- -- passes parameter values to the new session. The parameters
- -- already exist in the form being opened.
- if (event_name = 'ZOOM') then
- if (form_name = 'DEMXXEOR' and block_name = 'ORDERS') then
- param_to_pass1 := name_in('ORDERS.order_id');
- param_to_pass2 := name_in('ORDERS.customer_name');
- fnd_function.execute(FUNCTION_NAME=>'DEM_DEMXXEOR',
- OPEN_FLAG=>'Y',
- SESSION_FLAG=>'Y',
- OTHER_PARAMS=>'ORDER_ID="'||param_to_pass1||
- '" CUSTOMER_NAME="'||param_to_pass2||'"');
- -- all the extra single and double quotes account for
- -- any spaces that might be in the passed values
- end if;
- -- This is an example of a product-specific event. Note that as
- -- of Prod 15, this event doesn't exist.
- elsif (event_name = 'OE_LINES_PRICING') then
- get_custom_pricing('ORDERS.item_id', 'ORDERS.price');
- -- This is an example of enforcing a company-specific business
- -- rule, in this case, that all vendor names must be uppercase.
- elsif (event_name = 'WHEN-VALIDATE-RECORD') then
- if (form_name = 'APXVENDR') then
- if (block_name = 'VENDOR') then
- copy(upper(name_in('VENDOR.NAME')), 'VENDOR.NAME');
- end if;
- end if;
- else
- null;
- end if;
- end event;
- */
- --
- -- Real code starts here
- --
- form_name VARCHAR2(30) := name_in('system.current_form');
- block_name varchar2(30) := name_in('system.cursor_block');
- special_menu_name13 VARCHAR2(2000);
- special_menu_name14 VARCHAR2(2000);
- special_menu_name15 VARCHAR2(2000);
- param_to_pass1 NUMBER := NULL;
- param_to_pass2 NUMBER := NULL;
- param_to_pass3 varchar2(200) := NULL;
- param_to_pass4 number := NULL;--invoiec_id
- param_to_pass5 number := NULL;--ccid
- param_to_pass6 date := NULL;--gl_date
- param_to_pass7 number := NULL;--set_of_books_id
- V_PROPERTY VARCHAR2(30);
- BEGIN
- special_menu_name13 := '返利';
- special_menu_name14 := '订单';
- special_menu_name15 := '更新';
- --FND_MESSAGE.DEBUG('CUSTOM.PLL');
- IF form_name = 'APXINWKB' AND event_name = 'WHEN-NEW-FORM-INSTANCE' THEN
- --SET_MENU_ITEM_PROPERTY('SPECIAL.MENU15',LABEL,'自动创建');
- set_menu_item_property('FILE.SAVE', enabled, PROPERTY_ON);-- able save menu
- app_special2.instantiate('SPECIAL13', special_menu_name13, NULL, TRUE); --添加菜单API
- app_special2.instantiate('SPECIAL14', special_menu_name14, NULL, TRUE); --添加菜单API
- app_special2.instantiate('SPECIAL15', special_menu_name15, NULL, TRUE); --添加菜单API
- RETURN;
- END IF;
- IF form_name = 'APXINWKB' AND event_name = 'WHEN-NEW-ITEM-INSTANCE' /*AND
- block_name = 'INV_SUM_FOLDER'*/ THEN
- IF name_in('INV_SUM_FOLDER.QUICK_PO_NUMBER') IS NULL THEN
- set_item_property('INV_SUM_CONTROL.MATCH', enabled, property_false);
- ELSE
- set_item_property('INV_SUM_CONTROL.MATCH', enabled, property_true);
- END IF;
- RETURN;
- END IF;
- IF form_name = 'APXINWKB' AND event_name = 'WHEN-NEW-BLOCK-INSTANCE' THEN
- --SET_MENU_ITEM_PROPERTY('SPECIAL.MENU15',LABEL,'自动创建');
- app_special.enable('SPECIAL1', property_on);
- app_special.enable('SPECIAL2', property_on);
- app_special.enable('SPECIAL3', property_on);
- RETURN;
- END IF;
- IF ((form_name = 'APXINWKB') /*and (Block_Name = 'LINES')*/
- AND (event_name = 'SPECIAL13')) THEN
- param_to_pass1 := name_in('INV_SUM_FOLDER.ORG_ID');
- param_to_pass2 := name_in('INV_SUM_FOLDER.VENDOR_ID');
- param_to_pass4 := name_in('INV_SUM_FOLDER.INVOICE_ID');
- param_to_pass5 := name_in('INV_SUM_FOLDER.ACCTS_PAY_CODE_COMBINATION_ID');
- param_to_pass6 := name_in('INV_SUM_FOLDER.GL_DATE');
- param_to_pass7 := name_in('INV_SUM_FOLDER.SET_OF_BOOKS_ID');
- --FND_MESSAGE.DEBUG('CUSTOM.PLL');
- --FND_MESSAGE.DEBUG('param_to_pass4 '||param_to_pass4);
- --FND_MESSAGE.DEBUG('param_to_pass5 '||param_to_pass5);
- --FND_MESSAGE.DEBUG('param_to_pass6 '||param_to_pass6);
- --FND_MESSAGE.DEBUG('param_to_pass7 '||param_to_pass7);
- V_PROPERTY := Get_Menu_Item_Property('FILE.SAVE',enabled);
- --FND_MESSAGE.DEBUG('V_PROPERTY '||V_PROPERTY);
- --set_menu_item_property('FILE.SAVE', enabled, PROPERTY_OFF);-- disable save menu
- fnd_function.execute(function_name => 'CUXAPREBATE',
- open_flag => 'Y',
- session_flag => 'Y',
- other_params => 'G_ORG_ID="' || param_to_pass1 ||
- '" G_VENDOR_ID="' ||
- param_to_pass2 || /*'"'||*/
- '" G_INVOICE_ID="' ||
- param_to_pass4 ||
- '" G_CCID="' ||
- param_to_pass5 ||
- '" G_GL_DATE="' ||
- param_to_pass6 ||
- '" G_SET_OF_BOOKS_ID="' ||
- param_to_pass7 || '"');
- ELSIF ((form_name = 'APXINWKB') /*and (Block_Name = 'LINES')*/
- AND (event_name = 'SPECIAL14')) THEN
- param_to_pass3 := name_in('INV_SUM_FOLDER.QUICK_PO_NUMBER');
- fnd_function.execute(function_name => 'CUXAPPOINFOR',
- open_flag => 'Y',
- session_flag => 'Y',
- other_params => 'G_PO_NUMBER="' || param_to_pass3 ||
- '"' );
- ELSIF ((form_name = 'APXINWKB') /*and (Block_Name = 'LINES')*/
- AND (event_name = 'SPECIAL15')) THEN
- fnd_message.debug('Event_Name = SPECIAL15');
- ELSE
- RETURN;
- END IF;
- END event;
修改CUSTOM.PLL文件调用客户化FORM&修改标准FORM的更多相关文章
- FORM调用FORM(标准调客户化&客户化调标准)并执行查询的实现研究
一.先来个比较简单的,标准FORM调用客户话FORM并执行查询 1.修改CUSTOM.PLL,使用 fnd_function.execute实现打开和传递参数 参考例子如下 PROCEDURE eve ...
- 【相当实用】如何让TortoiseSVN导出新增或修改过的文件
当一个网站项目进入运营维护阶段以后,不会再频繁地更新全部源文件到服务器,这个时间的修改大多是局部的,因此更新文件只需更新修改过的文件,其他没有修改过的文件就没有必要上载到服务器.但一个稍微上规模的网站 ...
- 使用.net Reflector手动修改单个dll文件
在项目中修改bug会存才版本混乱的问题,加上dll中的依赖项目比较多,想要修改单个dll文件中的少量代码是很麻烦的. 可以使用Reflector和Reflexil可以手动修改单个dll文件,我使用的是 ...
- 修改VS2017模板文件,添加文件头部自定义注释
找到Class.cs文件 找到VS2017安装目录下面的Class.cs文件,一般在C盘或者D盘 模块文件位置: 接口模版:C:\Program Files (x86)\Microsoft Visua ...
- python文件操作:文件指针移动、修改
一.文件指针移动 二.修改 一.文件指针移动 #大前提:文件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位 # f.read(3) # with open('a ...
- Form_通过Custom.pll新增菜单项(案例)
2014-05-31 Created By BaoXinjian
- CUSTOM.PLL的使用
在开发中对系统标准form的修改一般不建议修改系统原有FORM,对所需要修改的内容一般写在CUSTOM.PLL里即可,应为每个form运行的时候都会调用CUSTOM.PLL具体概念性东西可参考网上资料 ...
- 修改ASP.NET文件上传大小限制
转自:http://www.hello-code.com/blog/asp.net/201603/5954.html 要点: 1.web.config中的<httpRuntime maxRequ ...
- 用 C# 轻松读取、改变文件的创建、修改、访问时间
创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt&q ...
随机推荐
- [Cqoi2010]扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...
- SAC E#1 - 一道难题 Tree
题目背景 冴月麟和魏潇承是好朋友. 题目描述 冴月麟为了守护幻想乡,而制造了幻想乡的倒影,将真实的幻想乡封印了.任何人都无法进入真实的幻想乡了,但是她给前来救她的魏潇承留了一个线索. 她设置了一棵树( ...
- hdu 4568 Hunter 最短路+dp
Hunter Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 51Nod 1331 狭窄的通道
有一个长为L的狭窄通道,我们假设这个通道在x轴上,其两个出口分别在x=0与x=L处.在这个通道里有N只狼,第i只狼有一个初始位置ai,它想到达位置bi(0<=i=L处空间足够大可以装下任意数量的 ...
- 勤拂拭软件 java web 开发教程(1) - 开发环境搭建
勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...
- Python virtualenv 使用总结篇
一.virtualenv的安装 1.使用pip全局安装virtualenv,建议使用pip 1.3或更高版本,在1.3之前,pip没有通过SSL从PYPI下载. $ [sudo] pip instal ...
- Python Socket第二篇(socketserver)
本节内容 socketserver基础知识 ThreadingTCPServer源码剖析 1.socketserver基础 ThreadingTCPServer实现的Soket服务器内部会为每个cli ...
- Linux之grep命令
概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...
- C语言程序第三次作业
(一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 输入输出样例1: Enterr x: 10.0 f(10.0) = 0.1 输入输出样例2: En ...
- 计科1702冯亚杰C语言程序设计预备作业
阅读邹欣老师的博客--师生关系,针对文中的几种师生关系谈谈你的看法,你期望的师生关系是什么样的? 答:首先老师和学生之间要互相尊重,我认为这是必要的.在第一点的基础上师生要互相帮助,互相配合,共同进步 ...