ORACLE EBS FORM开发
文章平均质量分 65
hutianci
喝遍天下好酒,交尽天下好友!
展开
-
ORACLE ERP之旅开始
“千呼万唤始出来,犹抱琵琶半遮面”,经历了两年漫长的等待,终于见到了ORACLE ERP的“庐山真面目”。我的ORACLE ERP之旅正式开始了。希望得到JAVAEYE上高手的支持!...2009-05-12 10:52:12 · 121 阅读 · 0 评论 -
oracle form开发转载的资料
经常需要修改的触发器:ACCEPTAPP_STANDARD.EVENT(‘ACCEPT’);这个触发器处理菜单或工具条上调用Save and Proceed (保存并继续)动作。它执行保存,并移动到指定当作第一个导航块的块上。替换这个触发器中的代码,或创建块级触发器并把执行类型指定为‘Override’.FOLDER_RETURN_ACTIONNull;这个触发器允许指...原创 2011-03-22 12:03:29 · 384 阅读 · 0 评论 -
Form trigger 触发
1. 当打开FORM时:(1) PRE-FORM(2) PRE-BLOCK(BLOCK级)(3) WHEN-NEW-FORM-INSTANCE(4) WHEN-NEW-BLOCK-INSTANCE(5) WHEN-NEW-RECORD-INSTANCE(6) WHEN-NEW-ITEM-INSTANCE2. 当填写一行记录完成后,光标移动到下一条记录的时候:...原创 2011-03-22 12:06:20 · 839 阅读 · 0 评论 -
oracle form学习笔记
新增form步骤 打开模板TEMPLATE,将其改成自己所要的名称,删除Data Blacks中的BLOCKNAME,DETAILBLOCK,删除Canvases中的BLOCKNAME,删除Windows中的BLOCKNAME,新增自己的Windows,Canvases,DateBlacks,在form级别的PRE-FORM中将Blockname改成自己新增的window,若区分O...原创 2011-03-22 12:07:32 · 183 阅读 · 0 评论 -
FORM开发相关技术
1.一进页面就能看到表中已生成数据,而不用按ctrl+f11进行查询的语句:在form级的触发器when-new-form-instance中,写如下代码:go_block('XXXX');execute_query;要查询的数据块的名称说明:当使用基于表建立的块时,可使用块里的任何项的GO_BLOCK或者GO_ITEM找到那个块.当查询数据到一个块里去,可通过execute_query进行处理补...原创 2011-03-22 12:14:11 · 154 阅读 · 0 评论 -
form开发的小总结
Form 开发的一些小总结.当然要实现如下的功能不一定要这样做,但是下文的做法肯定是可以实现这个功能的,这些都是我在实际工作中使用过的。可能描述的不是很准确,大家不是很明白,但是可以试着操作,就知道了。1. 在FORM的windows上显示名称:在FORM级的trigger when_new_form_instance上设置如下:set_window_property('MPOSRF...原创 2011-03-22 12:14:55 · 172 阅读 · 0 评论 -
使用Custom.pll修改标准Form的LOV
在开发过程中,经常碰到需要修改标准Form中LOV的需求,一般来说都是做一些条件限制。在不修改标准Form的fmb文件的前提下,可以通过Custom.pll来实现。 一、Custom.pll的工作机制 在EBS中大部分Form都是在TEMPLATE.fmb的基础上创建的,另外还有一些HR模块的Form是在HRTEMPLT.fmb的基础上创建的,这些模板Form在form级的触发器中...原创 2011-03-24 15:23:23 · 123 阅读 · 0 评论 -
使用Form个性化修改标准Form的LOV
本文结合一个简单的Form做描述,这是没有个性化之前的LOV,LOV取自表FND_USER,没有做任何条件限制。 首先打开Form的个性化工具,点击菜单帮助–诊断–自定义代码–个性化: 一、选择触发器事件以及触发器对象 在打开的个性化窗口中如下图,其中触发器选择WHEN-NEW-ITEM-INSTANCE,触发器对象选择HEADER.HEADER_ITEM(...原创 2011-03-24 15:24:35 · 245 阅读 · 0 评论 -
form做好以后,别忘记检查这些
1.常规属性的设置,如模块、数据块、画布、窗口,常规触发器的修改。2.是否有添加create_by,creation_date等字段信息,即在PRE_INSERT,PRE_UPDATE添加fnd_standard.set_who,select fnd_profile.value('org_id') into :hek_fnd_user.org_id from dual.3.一些特殊属性:如删除...原创 2011-03-24 16:30:41 · 82 阅读 · 0 评论 -
范围弹性域
范围弹性域是使用的键弹性域的一种扩展,其没有专门的弹性注册,全部来源于键弹性域的结构定义:应用表CREATE TABLE FLEX_RANG_LN ( CONCATENATED_SEGMENTS_LOW VARCHAR2(300), CONCATENATED_SEGMENTS_HIGH VARCHAR2(300), SEGMENT1_LOW ...原创 2011-03-24 16:32:59 · 106 阅读 · 0 评论 -
FRM-30425问题解决
FRM-30425: Summarized database item must reside in a block with Query All Records or Precompute Summaries set to Yes.Item: ALLTOTALBlock: VOUDETAILFRM-30085: Unable to adjust form for output....2011-08-01 16:31:07 · 474 阅读 · 0 评论 -
open_form,call_form,new_form 的区别
(一) open_form是一个受限的封装过程,他可以产生一个新的form但不代替原来的form,在新的form启动后可以不把控制移动到新的form里面,也可以将输入焦点移动到新的form里面,用户可以在两个form之间导航。〕open_form的调用格式open_form(form_name,activate_mode,session_mode,data_mode,para...原创 2011-11-24 18:17:02 · 568 阅读 · 0 评论 -
commit_form do_key('commit_form') forms_ddl('commit');
1.commit_form针对form上面的数据变动进行commit,对于代码中的类似update,insert语句也进行提交;会触发on-update,如果form上面的数据变动和代码中的数据变动有冲突,最后以界面上的为准。2.do_key('commit_form')会首先寻找form下的triggers中的KEY-COMMIT这个trigger,并执行KEY-COMMIT中所写的...原创 2011-11-24 18:26:08 · 532 阅读 · 0 评论 -
oracle EBS User Profile使用举例
Oracle EBS 用户配置文件使用举例:用户配置文件相当于系统参数,可以在不同层级(Site层、应用模块层、责任层、用户层)设置不同的值; 作用范围小的覆盖范围大的层,系统已经预设了很多user profile; 开发人员也可以定义User profile;对开发人员如果要新定义user profile 并使用之,步骤一般包括三步第一步:定义user profile (Nav:应用...原创 2012-02-20 20:33:39 · 392 阅读 · 0 评论 -
FND_MESSAGE_PUB.get及error_handler.get_message用法
1. FND_MESSAGE_PUB.get用法,调用标准API时,抓取错误信息时可以用到,如导入供应商API:IBY_EXT_BANKACCT_PUBDECLARE x_msg_count NUMBER; x_msg_data VARCHAR2(3000); v_msg_index_out NUMBER; v_data VARCHAR2(1000);BEG...原创 2012-02-20 20:56:26 · 781 阅读 · 0 评论 -
Oracle EBS Form 开发 Tips
EBS Form开发中经常会遇到一些小问题,以免再次遇到而不记得什么原因,在此记下,如有新的问题,亦在此继续更新... 1.带有stacked canvas 的Form,比如content canvas A,stacked canvas B,这两个canvas在WINDOW M上,当光标移动到A的最后一个Item(例如z)的时候,B canvas消失了(可以用Tab键移动光标至...原创 2012-07-05 09:49:08 · 608 阅读 · 0 评论 -
app_fields.set_required_field
用来设置某个栏位为必录可以在A的WHEN-VALIDATE-ITEM里写,实现条件控制B栏位是否为必录。使用例:app_fields.set_required_field('WHEN-VALIDATE-ITEM',:block.A is not null,'block.B');------------------------------------------------...原创 2012-07-05 10:12:49 · 302 阅读 · 0 评论 -
form 触发器的层次Before、Override、after的区别
问题描述:当我们在Form的BLOCK级里面增加了Trigger WHEN-NEW-RECORD-INSTANCE,导致我们的Form在AP上面运行时,按F11查询时,显示的底色是白色 ,标准的是蓝色。 问题解决:把Execution Hierarchy属性改为BEFORE就可以了 FORM触发器的三个层次:Before、Override、after英文描述:Spec...原创 2012-04-10 16:54:03 · 371 阅读 · 0 评论 -
亲历FRM-30425
FRM-30425: Summarized database item must reside in a block with Query All Records or Precompute Summaries set to Yes.Item: ALLTOTALBlock: VOUDETAILFRM-30085: Unable to adjust form for output....原创 2011-10-10 10:42:07 · 141 阅读 · 0 评论 -
FORM LOV的一个特性
这几天奉命修改一个FORM,要在FOLDER的列中用到LOV,原本觉得十分钟搞定的事,结果。。。。。。问题描述: LOV的KEY与VALUE ,到底以谁执行验证。 例: 1 ORACLE 2 DB2 3 MYSQL 我在FOLDER中放的描述列,预想的效果是:输入O,直接对...2010-12-11 08:54:39 · 107 阅读 · 0 评论 -
Form开发积累的常用代码
获取当前窗口GET_VIEW_PROPERTY(GET_ITEM_PROPERTY(:SYSTEM.CURSOR_ITEM, ITEM_CANVAS),WINDOW_NAME)设置金额显示格式PROCEDURE FORMAT_PRICE(EVENT VARCHAR2) ISBEGIN IF (EVENT IN ('WHEN-VALIDATE-ITEM','POST-QUE...原创 2011-03-14 11:42:34 · 454 阅读 · 0 评论 -
ORACLE ERP DB
刚刚连接上ORACLE ERP DEMO数据库,很是兴奋。 利用"select count(*) from dba_tables dt where dt.tablespace_name='APPS_TS_TX_DATA' "查看了一下,居然有15975张表呀,任重道远呀!好好学吧。 ...2009-05-15 15:23:19 · 103 阅读 · 0 评论 -
关于FORM鼠标定位
最近有一个新需求,进入一个FORM界面时,要求定位到第一个项上,我试了以下几种方案: 1。最简单的方式: 把欲定位项拖到块中项的第一位。失败 2。GO-ITEM() 在WHEN-NEW-FORM-INSTANCE时,指定第一项。失败 但在测试时,发现了一个奇怪的现象:FND_MESSAGE显示值 :SYSTEM.CURSOR_I...2009-12-25 09:30:44 · 428 阅读 · 0 评论 -
调用Form
(一) open_formopen_form是一个受限的封装过程,他可以产生一个新的form但不代替原来的form,在新的form启动后可以不把控制移动到新的form里面,也可以将输入焦点移动到新的form里面,用户可以在两个form之间导航。open_form的调用格式open_form(form_name,activate_mode,session_mode,data_mode,paramli...原创 2011-05-11 11:36:51 · 227 阅读 · 0 评论 -
EBS 表 后缀的含义
_ALL:表包含所有不同经营单位的信息,多组织环境。还可以通过设置客户端的信息使特定的单位访问特定的单位的数据。_TL:表相当于相同表名减去_TL,TL表支持多语言。没有_TL表中的每一行数据在_TL表中都有多行,但是每一行的LANGUAGE列都不同。_B:表是基本表。 所有的数据和验证存储在此表中。它被认为存储着正确的数据。如果有什么事情发生在基表数据,那么它是一个数据...原创 2010-10-12 17:16:59 · 219 阅读 · 0 评论 -
转的一个东东
财务模块 - 应收会计分录和功能认识 收藏 AR应收模块--------------------------------------------------------------------------应收模块简介当企业发生一笔销售或者发生其他影响收入和现金的业务的时候,需要在应收模块记账。用标识法做现金流量表的话,应收收款是一个把关口之一。本文档以R12为例,11i...原创 2010-10-12 17:21:35 · 109 阅读 · 0 评论 -
Oracle Form开发中布局
另外,在form中使用folder技术开发时,为了防止按F8清空form时title中的值也被清除掉,需要在form级别的KEY-CLRFRM中添加app_folder.event('KEY-CLRFRM');原创 2010-10-26 16:18:01 · 355 阅读 · 0 评论 -
高手FORM开发文档
Form开发中组件控制的几个常用方法http://oracleseeker.com/2009/09/01/graphical_component_control_in_oracle_ebs_form/ Oracle Form Builder中标识出引用的对象在EBS的Form开发中,Form中会引用很多其它Form的对象,如:数据库、Item、触发器、属性类、视觉属性等。为了能...原创 2010-10-26 17:02:43 · 115 阅读 · 0 评论 -
oracleform触发器执行顺序及键定义
1当打开FORM时: (1)PRE-FORM (2)PRE-BLOCK(BLOCK级) (3)WHEN-NEW-FORM-INSTANCE (4)WHEN-NEW-BLOCK-INSTANCE (5)WHEN-NEW-RECORD-INSTANCE (6)WHEN-NEW-ITEM-INSTANCE 2. 当填写一行记录完成后,光...原创 2011-09-08 10:57:14 · 164 阅读 · 0 评论 -
Oracle EBS Standard Forms 开发规范标准的目的
两大目标:一、让程序能由人类(human kind)进行维护1.) 分别的将程序写成 handler 并包装成 package 方式 2.) 遵循对象、链接库、程序的命名规范二、功能只写一次, 并分享该功能1.) TEMPLATE form(template.fmb) 是建新 form 的一个好开始2.) FNDSQF library(FNDSQF.pll) 包含许多 实用的 AO...原创 2011-05-31 12:26:00 · 274 阅读 · 0 评论 -
Form中Block的重新查询
Form中某些按钮可能调用了Package对表中某些字段进行更新,但是数据库中字段的修改不会马上反映到form的界面上,所以要进行重新查询,但是用户可能使用了查询窗口进行查询之后然后再点击按钮动作,如果简单的使用execute_query进行查询的话那么就会把原来的查询条件冲掉。所以这里写了一个公用的包进行查询: procedure query_block(p_block_name var...原创 2011-05-31 12:28:51 · 153 阅读 · 0 评论 -
EBS中取profile值的用法
[code]fnd_profile.value的用法: select fnd_profile.value('gl_set_of_books_id')from dual select fnd_profile.value('mfg_organization_id')from dual --取子库 select fnd_profile.value('GL_SET_OF_BKS_I...原创 2011-05-31 12:33:27 · 240 阅读 · 0 评论 -
学习Oracle Form的一点笔记
培养计划中还要掌握Form的开发,本以为就是Report稍微变更了一下,或者VB关联上数据库,但是实际却不是那么回事,很是不习惯。今天陆陆续续看了一些资料,零零碎碎的记了一些笔记,还是心中没底。1、将相关项目组织成为功能单位。无物理表示方式,两种类型——数据块(与表或者视图相关)控制块。2、在数据块中新建Item,默认与数据库相关,可以在属性数据库设置中可以设定不相关,同时可以在一般属性中...原创 2011-02-18 15:39:10 · 623 阅读 · 0 评论 -
QUERY_FIND
建立Result Block(Block-Level) 的QUERY_FIND (Override Style)Trigger程序撰写如下:If :parameter.g_query_find = ‘TRUE’ then--依据查询欄位撰写相关程序代码:<result_block.item1> := :<find_block.item1>;...:parameter.g_q...原创 2011-02-18 15:41:19 · 314 阅读 · 0 评论 -
Oracle EBS 开发小贴士
1. 组织屏蔽视图 and NVL(qsi.ORG_ID ,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO') ,1 ,1) ...原创 2011-03-02 15:14:17 · 153 阅读 · 0 评论 -
Standard API 开发示例
更新客户状态 --定义记录变量用来存放待更新或导入的值.p_cust_account_rec hz_cust_account_v2pub.cust_account_rec_type; --赋值 -- set value -- set valuep_cust_account_rec.cust_account_id := cust...原创 2011-03-03 09:10:09 · 236 阅读 · 0 评论 -
如何返回standard API 的错误信息
lv_msg_count : 为API返回参数,为消息的个数。 根据消息的具体情况,循环次数要做相应调整。加大次数,消息内容就多,反之则少.IF lv_msg_count > 0 THEN lv_mesg := chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_ap...原创 2011-03-03 09:23:07 · 191 阅读 · 0 评论 -
ORACLE FORM ZA
--获取系统记录行数go_block('T_WARITEMPRT');last_record;row_count:=:system.trigger_record; --system.cursor_record--execute_trigger('POST-CHANGE');--设置鼠标状态set_application_property(cursor_style,'BUSY'); 忙碌状态...原创 2011-03-10 15:12:48 · 141 阅读 · 0 评论 -
FRM-40400:事务完成:已应用和保存X条记录"消息框不显示处理方法
每次成功退出保存修改或添加记录时窗体都会弹出“FRM-40400:事务完成:已应用和保存X条记录。" 的消息窗,可不可以在适当的触发器中改变它的属性? 1. :system.message_level :=10; commit; :system.message_level :=10; 就不会有任何显示。 2. 或在ON-MESSAGE事件 begin if message_code in (404...原创 2013-01-16 16:28:02 · 342 阅读 · 0 评论