之所以要把这个文件的学习作为一个专题写出来,是因为之前不知道还有Custom.pll文件的使用而被坑了整整一天,所以打算来整理一下。
业务需求:在项目遇到一个问题,是要修改某个界面值的格式,使其保留两位小数,但改了之后发现有个Button响应要用该值与另外一个值进行比较相等后才能审批通过,因为有一个格式化过,而另外一个并未格式化,所以其肯定不相等。
解决探索: 最初的解决方法是想跟踪该Button事件,然后找到进行判读的代码所在。但经过很久的跟踪都找不到该段代码所在,不得已像高手询问,才知道有Custom.pll文件这回事。
Custom.pll文件:该文件是EBS标准的一个Library,在$AU_TOP/resource下可以下载。当系统启动时就会加载这个Library。Custom.pll库文件有两个function: zoom_available、style(event_name varchar2)和一个procedure: event(event_name varchar2)。
zoom_available:启用/停用 Zoom按钮。当返回Ture时启用Zoom按钮,返回False时停用Zoom按钮,
function zoom_available return boolean is
form_name varchar2(30) := name_in('_form');
block_name varchar2(30) := name_in('_block');
begin
if (form_name = 'GLXJEENT' and block_name = 'LINES')
then
return true;
elsif (......)
then
return true;
else
return false;
end if;
end zoom_available;
style(event_name varchar2): 该方法还未使用过,所以暂时不叙述。
event(event_name varchar2): 这个procedure是重点要讲述的地方,因为我们基本上都是在这个方法里调用我们的代码的。
通常我们可以通过修改Custom.pll文件来修改标准form的一些属性或是修改Lov的sql亦或是修改一些触发事件等。
比如:修改采购订单汇总Form的审批事
========== XX_PO_CUSTOM.PLL文件================================
PROCEDURE event(event_name VARCHAR2) IS
l_form_name VARCHAR2(30) := name_in('system.current_form');
l_block_name VARCHAR2(30) := name_in('system.cursor_block');
l_item_name VARCHAR2(100) := name_in('system.cursor_item');
Begin
IF event_name = ' WHEN-BUTTON-PRESSED '
If l_form_name = ' POXPOEPO' THEN
IF l_block_name = ' PO_CONTROL' THEN
IF l_item_name=' APPROVE' THEN
IF name_in('PO_HEADERS.TYPE_LOOKUP_CODE') = 'STANDARD' THEN
order_approve_checking; --
ELSIF name_in('PO_HEADERS.TYPE_LOOKUP_CODE') = 'CONTRACT' THEN
order_approve_checking2;
END IF;
End if;
End if;
End if;
End if;
End event;
================CUSTOM.PLL文件===========================
PROCEDURE event(event_name VARCHAR2) IS
Begin
XX_PO_CUSTOM.EVNET(' WHEN-NEW-BLOCK-INSTANCE');
End event;
====================================================================
最后记得要把改好的CUSTOM.PLL和XX_PO_CUSTOM.PLL重新上传到ebs服务器指定目录下,并进行编译。编译命令:
frmcmp_batch userid=apps/apps module=$AU_TOP/resource/CUSTOM.pll
output_file=$AU_TOP/resource/CUSTOM.plx module_type=LIBRARY
分享到:
相关推荐
本文将基于SF-EP1C FPGA开发板,详细介绍在Quartus II环境下配置PLL的过程,旨在帮助读者理解和掌握PLL配置的关键步骤。 #### 二、PLL配置需求 假设设计者的目标是在外部25MHz晶振输入的基础上,通过PLL产生一个50...
- PLL文件所在目录:/disk/DEV/devappl/au/11.5.0/resource(包括Custom.pll) - Fmx文件所在目录:/disk/DEV/devappl/bqe/11.5.0/forms/US ##### 6. NetTerm 使用 NetTerm是一个终端仿真器,用于编译Form或PLL...
#### 背景介绍 本文档基于Quartus II 13.0 SP1 (64-bit)、Modelsim SE-64 10.1c 和 DE2-70 开发板。目标是通过一个具体的实验来学习和初步使用锁相环(PLL)模块 ALTPLL。实验的核心在于将输入的50MHz时钟信号通过...
Form Builder 介绍 2012/08/01 TEMPLATE.fmb模板文件 因 ERP Form须套用所有 ERP 的相关设定及操作方式, 一定要从Server download TEMPLATE.fmb 作为模板进行开发修改 Server path : $AU_TOP/forms/US ( 所有的form...
- 为了本地开发,你需要将`ERP Library (.pll)`文件下载到本地,并将其存储在固定的目录,如 `d:\ErpForm\Library`。 - 同样,Form文件应存储在另一个固定目录,如 `d:\ErpForm\Form`。 - 在注册表中,你需要在`...
Oracle 提供的 `CUSTOM.PLL` 允许开发者扩展或修改标准 Form 的 LOV(列表选择项)。通过调用这个库中的函数,可以定制 LOV 行为,如添加新的值或过滤已有的选项。 4. **主从关系 Form 中的汇总行**: 对于有主从...
根据提供的文件信息,我们可以归纳出以下相关知识点: ### 一、A20 CDR系统配置手册概述 #### 1.1 版本信息 - **版权所有**:全志科技(Allwinner Technology)拥有该手册的所有版权。 - **版本号**:V1.0。 - **...