- 浏览: 318110 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (169)
- ORACLE EBS FORM开发 (39)
- ORACLE EBS业务 (18)
- ORACLE DB (13)
- ACCOUNTING (0)
- 休闲娱乐 (5)
- 开发自己 (1)
- OAF开发 (15)
- LINUX (2)
- ORACLE EBS文档 (1)
- 疑难杂症 (3)
- WEB ADI (2)
- 报表开发 (2)
- EBS有用SQL (8)
- ORACLE EBS开发 (5)
- ORACLE EBS DBA (15)
- EBS日常维护 (24)
- Oracle EBS workflow (2)
- Oracle EBS 个性化 (2)
- EBS常见接口表应用 (10)
- EBS标准API应用 (3)
- Oracle EBS 数据迁移 (2)
- Oracle EBS杂项技术荟萃 (1)
- EBS之事半功倍 (1)
- ORACLE EBS ALERT (1)
- OCP之路 (4)
最新评论
-
594597634:
楼主没有给解决方案啊
!我急求如何解决啊
亲历:JBO-25058 -
sjmei:
嗯,不错,学习了
PL/SQL NO_DATA_FOUND、SQL%NOTFOUND、SQL%ROWCOUNT -
maojieming:
做公交车,应该是“关门打X”
北京公交车一族必备绝技 -
hollysun:
现在功夫都练得炉火纯青了,独孤九剑~
北京公交车一族必备绝技 -
xyh:
还有一招:锁喉功,掐死你,捏死你
北京公交车一族必备绝技
Form中某些按钮可能调用了Package对表中某些字段进行更新,但是数据库中字段的修改不会马上反映到form的界面上,所以要进行重新查询,但是用户可能使用了查询窗口进行查询之后然后再点击按钮动作,如果简单的使用execute_query进行查询的话那么就会把原来的查询条件冲掉。所以这里写了一个公用的包进行查询:
procedure query_block(p_block_name varchar2)
is
l_cursor_block varchar2(50);
l_cursor_record number;
l_cursor_item varchar2(50);
l_trigger_record number;
l_default_where varchar2(1000);
l_last_query varchar2(2000);
l_where_anchor number;
l_order_anchor number;
l_where_clause varchar2(1000);
l_message_level number;
begin
l_cursor_item := name_in(‘SYSTEM.CURSOR_ITEM’);
l_cursor_record := name_in(‘SYSTEM.CURSOR_RECORD’);
l_cursor_block := name_in(‘SYSTEM.CURSOR_BLOCK’);
l_trigger_record := l_cursor_record;
l_message_level := :system.message_level;
if l_cursor_block <> p_block_name then
l_trigger_record := get_block_property(p_block_name, CURRENT_RECORD);
go_block(p_block_name);
if name_in(‘SYSTEM.CURSOR_BLOCK’) <> p_block_name then
fnd_message.debug(‘DEVELOPER ERROR: To select records ‘||
‘in another block, you must be able to navigate.’);
raise FORM_TRIGGER_FAILURE;
end if;
end if;
l_default_where := get_block_property(p_block_name, DEFAULT_WHERE);
l_last_query := get_block_property(p_block_name, LAST_QUERY);
//检查是否有Order By语句
if instr(upper(l_last_query), ‘ORDER BY’) = 0 then
l_order_anchor := length(l_last_query);
else
l_order_anchor := instr(upper(l_last_query), ‘ORDER BY’) – 1;
end if;
if instr(upper(l_last_query), ‘WHERE’) = 0 then
l_where_anchor := l_order_anchor – 5;
else
l_where_anchor := instr(upper(l_last_query), ‘WHERE’) + 1;
end if;
l_where_clause := substr(l_last_query, l_where_anchor+6, l_order_anchor-l_where_anchor-5);
set_block_property(p_block_name,default_where,l_where_clause);
:system.message_level := 25;
execute_query;
:system.message_level := l_message_level;
set_block_property(p_block_name,default_where,l_default_where);
go_block(p_block_name);
go_record(l_trigger_record);
go_block(l_cursor_block);
go_record(l_cursor_record);
go_item(l_cursor_item);
end query_block;
程序首先保存当前的block,record以及Item使得在执行完之后光标依然停留在原位置而不会跳来挑去。之后判断当前所在的Block是否和参数传进来的P_Block一致,如果不一致,那么就go到P_Block上,然后获取该Block的Last_Query,由于可能查询带有Order By,所以需要判断是否带有Order By来决定截取的最终位置。取得了where条件之后,通过使用set_block_property(p_block_name,default_where,l_where_clause)以及execute_query对block进行查询,在这之前需要先保存原来的default where,在查询之后将default_where设置为默认的。最后讲光标定位到原位置。
调用的时候输入Block Name,便可以截取到Block的查询条件查询该Block。
发表评论
-
FRM-40400:事务完成:已应用和保存X条记录"消息框不显示处理方法
2013-01-16 16:28 1466每次成功退出保存修改或添加记录时窗体都会弹出“FRM-4040 ... -
app_fields.set_required_field
2012-07-05 10:12 1174用来设置某个栏位为必录 可以在A的WHEN-VALIDAT ... -
Oracle EBS Form 开发 Tips
2012-07-05 09:49 11881EBS Form开发中经常会遇到一些小问题,以免再次遇到 ... -
form 触发器的层次Before、Override、after的区别
2012-04-10 16:54 1570问题描述:当我们在Form的BLOCK级里面增加了Tri ... -
FND_MESSAGE_PUB.get及error_handler.get_message用法
2012-02-20 20:56 36621. FND_MESSAGE_PUB.get用法,调用标准AP ... -
oracle EBS User Profile使用举例
2012-02-20 20:33 5440Oracle EBS 用户配置文件 ... -
commit_form do_key('commit_form') forms_ddl('commit');
2011-11-24 18:26 16401.commit_form 针对form上面的数据变动进行co ... -
open_form,call_form,new_form 的区别
2011-11-24 18:17 1126(一) open_form是一个受限的封装过程,他可以 ... -
亲历FRM-30425
2011-10-10 10:42 1124FRM-30425: Summarized database ... -
oracleform触发器执行顺序及键定义
2011-09-08 10:57 13721当打开FORM时: (1)PRE-FORM (2 ... -
FRM-30425问题解决
2011-08-01 16:31 2864FRM-30425: Summarized database ... -
EBS中取profile值的用法
2011-05-31 12:33 2110[code]fnd_profile.value的用法: ... -
Oracle EBS Standard Forms 开发规范标准的目的
2011-05-31 12:26 1212两大目标:一、让程序能由人类(human kind)进行维 ... -
调用Form
2011-05-11 11:36 1020(一) open_formopen_form是一个受限的封装过 ... -
范围弹性域
2011-03-24 16:32 1135范围弹性域是使用的键弹性域的一种扩展,其没有专门的弹性注册 ... -
form做好以后,别忘记检查这些
2011-03-24 16:30 11001.常规属性的设置,如模块、数据块、画布、窗口,常规触发器 ... -
使用Form个性化修改标准Form的LOV
2011-03-24 15:24 1354本文结合一个简单的Form做描述,这是没有个性化之前的LOV, ... -
使用Custom.pll修改标准Form的LOV
2011-03-24 15:23 1659在开发过程中,经常碰到需要修改标准Form中LOV的需求,一般 ... -
form开发的小总结
2011-03-22 12:14 1723Form 开发的一些小总结.当然要实现如下的功能不一定要这样做 ... -
FORM开发相关技术
2011-03-22 12:14 36191.一进页面就能看到表 ...
相关推荐
Form中Block的重新查询 9 客户化Form中实现行号功能 12 使用Custom.pll修改标准Form的LOV 16 实现主从关系Form中汇总行金额/数量 21 Oracle EBS客户化程序中格式化金额 25 Form中动态创建PopList 28 Oracle EBS环境...
oracle form 的文件夹功能的开发教程,使您能够在简短的时间内学会文件夹的开发。
都要指定 Property Class Name 作法相同, 但不同的 Object 选不同的 Class Data Block 较重要的 Property Data 是否可查询 查询 Data 的 Where 及 Order by 可写在此处 是否可新增/删除/修改 Data Windows Name 建议...
SUPTOOL CONV - Convert HEX DUMP or BLOCKDUMP to readable form (Doc ID 47419.1)
This is a fork of the official concrete5 form block. The idea is to improve the form block with collaboration from the wider c5 community.
固定边界矩阵牛顿潮流并行算法,万黎,陈允平,该文对电力系统潮流分块并行算法进行了分析,指出基于BBDF(Bordered Block Diagram Form)分块的牛顿潮流的计算瓶颈在与协调量计算过大。�
Drupal 自定义联系表单块 我需要一个带有一些自定义字段的联系表单。 我需要它作为一个模块,以便轻松地将... 这里是。 下载、解压、自定义表单代码、添加收件人 启用、放置块、测试 要开心 做一些翻译功能(.pot?)
Form标签 layout属性设置为’inline’ 时 下拉组件宽度没有自适应: // 方法1:用Row + Col 定义自己需要的宽度,把layout属性设置为'horizontal', const formLayout = { labelCol: { span: 4 }, wrapperCol: { ...
2、Form-group/form-control/input-group/form-static-control之类的容器,分为两种显示方式:block、inline-block。而实现input-group水平用的是table-cell。 .input-group { display: inline-table; vertical-...
它假定您在表单中使用.form-group类对表单控件进行分组,并且在要验证的表单控件之后有一个.help-block.text-danger元素。 提交表单并出现错误后,您只需要触发表单,文档或正文中的自定义laravel.form-errors事件...
修改form的显示的最快捷的方式是使用CSS。 尤其是错误列表,可以增强视觉效果。自动生成的错误列表精确的使用“ ”errorlist”>“,这样,我们就可以针对它们使用CSS。 下面的CSS让错误更加醒目了: <style type...
<button class="btn btn-lg btn-warning btn-block" type="submit">登录 <input type="checkbox" value="remember-me"> 记住我 </form> ; font:normal 14px/24px 'MicroSoft YaHei';"> ...
建立一个宽度很长的一个页面,里面包含许多列,外面的div块的宽度不能确定,若是外面的div块的宽度不够 就会导致部分子div块移动到下面的一行,下面与大家分享下display:inline-block的使用示例
打开send_form.perl文件并将第 6 行中的替换为您希望接收消息的电子邮件地址。 打开contact.html文件并在第 90 行-----BEGIN PGP PUBLIC KEY BLOCK----- 中替换为您的 PGP 公共密钥。 将所有文件上传到服务器到 ...
更好的方法是使用类似于Android和iOS本机中的时间选择器的时间选择器界面。 此表单的预期用例是供用户打开此页面作为Web视图以选择时间。 选择时间后,页面将向您选择的端点发出HTTP请求以更新用户状态。 然后应该...
除了inline和block的定义,主要是要注意 body|h1~h6|blockquote|menu|ul|ol|dd等标签的默认样式(margin和font-size)。这个东 西在你需要还原默认值的时候,比较有用。 详见下面的内容: 复制代码代码如下: html,...
form表单元素包括:text 文本输入框,password密码输入框,checkbox复选框,radio单选框,file 文件域,submit表单提交action指向的文件,reset表单清空,image图片提交按钮,button按钮,hidden隐藏域。 select ...
<div class=layui-input-block> <input type=radio name=sex value=0 title=男> ,class属性是固定写法。 这样写好了以后,你如果是写在静态页面,这样式可以看见效果,如果写在js里,这样写了还有一步得写,...
这程序主要的类有Square,Block,GameField,Form.每一个方块(Block)有四个小的Square组成。Square类拥有位置,颜色,大小属性,实现了画小方块和擦方块等方法;Block定义方块的形状,旋转方向等属性,并实现了方块下落...
打开contact.html文件并在第 90 行-----BEGIN PGP PUBLIC KEY BLOCK----- 中替换为您的 PGP 公共密钥。 将所有文件上传到安装了 PHP mail() 扩展的服务器以供使用。演示查看安全联系表。麻省理工学院执照