欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Oracle+EBS+Forms开发指南(中级).docx

    • 资源ID:68226745       资源大小:673.37KB        全文页数:57页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle+EBS+Forms开发指南(中级).docx

    信息技术最佳实践ORACLE核心应用技术E-Business SuiteForms开发指南Author:黄建华Creation Date:October 16, 2006Last Updated:Document Ref:February 7, 2014<Document Reference Number>Version:DRAFT 1AApprovals: <Approver 1><Approver 2>Copy Number Document ControlChange RecordDateAuthorVersionChange Reference16-Oct-06Jianhua.HuangDraft laNo Previous DocumentReviewersNamePositionDistributionCopy No.NameLocation1Library MasterProject Library2Project Manager34Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.ContentsDocument Controlii1. Folder, JTFGrid21.1. Folder开发步骤(从头开始)21.3. Folder开发步骤(基于模版)71.4. JTFGrid 开发步骤102. 多语言开发142.1. 国际化支持142.2. Form 自身 的多语言 版本142.3. 数据多语言开发步骤142.4. EBS启用新语言时的考虑223. 附件开发243.1. 关于附件:241.1. Form 与 Java291.2. 例子:Hello World311.3. 例子:执行PC本地命令341.4. 例子:读取PC文本文件371.5. 例子:通用导入395. Form个性化415.1. Form个性化概述415.2. 例子:修改字段Prompt425.3. 例子:有条件显示消息435.4. 例:调用数据库Package445.5. 例子:添加菜单44子子子子例例例例:打功能45:执行查询46:其他应用47:Instance间迁移486. 技巧、常用代码496.1. Form中的变量496.2. 初始值、格式掩码496.3. 消息处理506.4. Special 菜单506.5. 库存组织访问506.6. MFGJDRG ANIZ ATION_ID 相关问题516.7. 常用而置过程526.8. 待续527. Open and Closed Issues for this Deliverable53Open Issues53Closed Issues531. Folder> JTF Grid1.1. Folder开发步骤(从头开始)本节标题说明:标准指做Folder都要做而且是样的步骤,可以考虑做个模版了:普通 指和做普通Form 样;特殊指做Folder都要做但需要根据实际内容作修改。1.1.1. 什么是 FolderFolder不是Form的标准功能,而是Oracle自己在EBS开发中总结出来的“动态界面”: 不同用户可以根据自己的需要,设置块中哪些字段需要显示以及顺序;而开发人员则 免于被布局折腾的痛苦。对于开发来说,要做的事情就是用“遵循Folder规范”换取“布局零工作量”。1.1.2. 拷贝标准Folder对象标准打开APPSTAND.fmb,把对象组“STANDARD一FOLDER”拖到我们自己的Form 中,并选择“Subclass”而非“Copy”,这个和前面讲的查询块不同。这样会自动产生一系列用于Folder的对象:块、阿布、Lov/记录组、参数、PropertyClasses, Window,这些都不用修改。1.1.3. 引用Folder的PLL库 标准 AlertsB Attached Libr< + Data Blocks S Canvases 0 Editors $ LOVsS Object Groups S Parameters S Popup Menus ® Program Units选中Attached Libraries,点击“+”,选择APPFLDR.pll,如果本地没有请先从服务器 下载。回 H 朝 a点击Attach后选择“Yes”移除绝对路径。普通1.1.4. 创建数据库对象创建数据库对象,没有任何特殊之处:-Create tablecreate table SCF.CUX_FLODER_DEMOFLODER_DEMO_ID NUMBER二FIELbl numberfield2 NUMBER二F1ELD3 NUMBER_FIELD4 DATE_FIELD1 DATE_FIELD2NUMBER not null, NUMBER not null, NUMBER, NUMBER, NUMBER, DATE NOT NULL, DATE,VARCHAR2_FIELD1VARCHAR2(100)NOT NULL,VARCHAR2_F1ELD2VARCHAR2(100),VARCHAR2二F1ELD3VARCHAR2(100),VARCHAR2_F1ELD4VARCHAR2(100),VARCHAR2二F1ELD5VARCHAR2(100),VARCHAR2二FIELD6VARCHAR2(100),CREATON二DATEDATE not null,CREATED_BYNUMBER not null.LAST_UPDATED_BYNUMBER not null.LAST二UPDATE_5aTEDATE not null,LAST二UPDATE二LOGINNUMBER,ATTRIBUTE_CATEGORYVARCHAR2(30),ATTRIBUTE1VARCHAR2(240),ATTRIBUTE2VARCHAR2(240),ATTRIBUTESVARCHAR2(240),ATTRIBUTE4VARCHAR2(240),ATTRIBUTESVARCHAR2(240),ATTRIBUTESVARCHAR2(240),ATTRIBUTE7VARCHAR2(240),ATTRIBUTESVARCHAR2(240),ATTRIBUTE9VARCHAR2(240),ATTRIBUTE10VARCHAR2(240),ATTRIBUTE11VARCHAR2(240),ATTRIBUTE12VARCHAR2(240),ATTRIBUTE13VARCHAR2(240),ATTRIBUTE14VARCHAR2(240),ATTRIBUTE15VARCHAR2(240)tablespace SCF;- - Create/Recreate indexescreate unique index SCF.CUX_FLODER_DEMO_U1 on SCF.CUX_FLODER_DEMO (FLODER_DEMO_ID) tablespace SCF;- - Create/Recreate sequence CREATE SEQUENCE SCF.CUX_FLODER_DEMO_S;- - Create/Recreate synonumCREATE SYNONYM CUX_FLODER_DEMO_S FOR scf.CUX_FLODER_DEMO_S;CREATE SYNONYM CUX_FLODER_DEMO FOR scf.CUX_FLODER_DEMO;1.1.5. 创建Folder块 普通按照普通步骤创建数据块,包括块和字段的子类、LOV、On-XXX触发器、行指示符等 等,如果有弹性域,那么也需要DF字段和相关的触发器。当然了,从Template开始的常规修改步骤也是要做的。标准为规范起见,块名后加“ FOLDER”,这里是“DEMO_FOLDER”,这种数据块我们 叫'Folder块 ”。1.1.6. 一修改Folder块 1、创建SWITCHER字段手工添加字段,名字叫FOLDER_SWITCHER,子类为SWITCHER: 并编写触发器 WHEN-NE W-ITEM-INSTANCE :J Subclass InformationSWITCHER出 5® FOLDER.CONTROL 由嘀 CALENDARapp_folder_move_cursor('1');2、编写触发器需要编写如下触发器:WHEN-NEW-RECORD-INSTANCEWHEN-NEW-BLOCK-INSTANCEPRE-QUERYPOST-QUERYPRE-BLOCKPOST-BLOCKKEY-ENTQRYKEY-EXEQRYKEY-PREV-ITEMKEY-NEXT-ITEMKEY-PRVRECKEY-NXTRECKEY-CLRRECKEY-CLRBLK这些触发器的内容都是app_folder.eventC触发器名称);1.1.7. 创建Prompt块 标准手工创建非数据库块,子类仍为Block,为规范起见,块名后加“PROMPT”,这里是 “DEMO_PROMPT”,这种数据块我们叫“Prompt块" 手工创建6个标准Item,名字和子类必须同下表:NameSubclassFOLDER_TITLEDYNAMIC.TITLEFOLDER_OPENFOLDER_OPENFOLDER_DUMMYFOLDER_DUMMYORDER_BY1FOLDER_ORDERBYORDER_BY2FOLDER.ORDERBYORDER_BY3FOLDER_ORDERBY1.1.8. 修改Prompt块和Folder块 特殊“Folder块”有多少字段要显示,就需要在“Prompt块”创建多少同名字段(除了 SWITCHER字段、行指示符、DF字段,前者是Folder的特殊字段,后两者通常需要固 定在内容画布上),并设置这些字段的关键属性:属性值SubclassFOLDER_PROMPT_MULTIROWInitial Value字段的PromptWidth字段的宽度,根据实际需要调整Prompt注:清空对“Folder块”的字段,也需要清空Prompt属性。到这里,我们先理解下Folder是如何自动布局的:1、需要使用Folder功能的字段必须放在堆叠画布1:, Folder功能仅自动布局堆叠画布 宽度和在其上的字段顺序。2、放在内容画布上的所有对象,包括堆叠画布自身在内容画布上的起始位置,需要我 们和以前样手工调整布局;只要布局得当,个Windows上可以有多个Folder。3、自动布局的堆叠画布宽度=内容画布宽度-堆叠画布的X座标0.26,这个0.26 啊,正好可以让我们放垂直滚动条!此外,堆叠画布高度也会被自动调整,调整时 系统自动回算上水平滚动条的位置!4,最终界面的字段顺序由Prompt块字段的顺序决定,那么Folder块的字段在界面的 排列顺序如何自动和Prompt对应起来呢?原来系统是根据字段名!5、最终界面Tab键导航的顺序仍然由Folder块字段的顺序决定,所以设计时注意两者 要一致。6、系统并不自动决定字段的Y轴位置! Y轴位置由字段自身属性决定,所以需要手工 设置,通常Prompt块的为, Folder块的为0.25,即等于?rompt块的Item的高度。7、为操作方便,也为了标准化,通常需要放个文件夹按钮在内容画布的左上角,这个 就是Folder_Open字段。1.1.10. 创建堆叠画布、内容画布、窗口 普通Floder要求字段放置在堆叠画布上,为规范起见,画布名后加“FOLDER一STACK”, View和Canvas的宽度无所谓,运行时将自定根据窗口的大小调整,右边帚好会留出滚 动条的位置。另外,为规范起见,内容画布后也可加“FOLDER.CONTENT”。设置这两个画布的子类,并设置它们的Windows属性相同。1.1.11. 布局Item到画布特殊设置如下Item到画布:1、把FOLDER一PEN、FOLDER一DUMMY、行指示符、Folder块的垂直滚动条,都 设到内容画而上,并设计它们的位置。FoldejOpen按照其子类默认值即可:X为 0.1、Y为。行指示符X我们改为.示Y改为0.5。垂直滚动条的Y为0.5, X则需要在 Window的Resize事件中设置,还记得那个0.26吗?2、这样,堆将画布在内容画布上的位置,应该就是X为0.2, Y为0.25,想想为什么。 同时启用堆叠画布的水平滚动条。3、Folder块的SWITCHER字段设置到堆叠画布。4、Folder块的其他需要显示的字段都设置到堆叠画布,并且Y座标为0.25。5、Prompt块的其他字段全部设置到堆登画布,并且Y座标为。注:FOLDER_TITLE字段不知道是干什么的,其宽度设为。1.1.12. 追加Form级触发器标准在 FOLDER一ACTION 中追加:app_folder.event(:global.folder_action);在KEY-CLRFRM中追加!app_folder.event(KEY-CLRFRM');1.1.13. 追加Form级触发器特殊1、在 WHEN-WINDOW-RESIZED 中追加:if :system.event_window in ('DEMO_FOLDER') then app_folder.event('WHEN-WINDOW-RESTZED');end if;declare1 x - it ion numb ;1 width numb门irfin DEMO_ FOLDER )fehenap一 older .event(WHEN-WNDOW-RE6ZED1);1 jidth:-GET_VEW_PROPERTY(DEMO_F0DER二CONTENT WIDTH);S百T_CANVAS_P五OPER丫DEMO_FOLDER二CONTEN WIDTH,l_width);l_-idth: -GET_V EW=PROPER里¥i DEMO_FGEDER_STACK 】DTH>-r1 二x_position?=GET二U:EEW_PROPERTY GDEMO_FdLDER_STACKL VEWFORT_X_POS);1 x position :7_K_poQ it ioni1 widthi0 015 :S康二BLOCK:PROPeAt¥« I DEMO_FOLDER ,BLGCKSCRCLBAR二%R6S,二荒_posi由ion)nd if:注意必须用代码对内容画布进行调整,因为改变窗口大小时,Form不会自动调整。2,在WHEN-NEW-FORM-INSTANCE中追加:app_folder.define_folder_block(object_name=> DEMO_FOLDER',f1der_block_name => 'DEMO_FOLDER', prompt_block_name => 'DEMO_PROMPT', folder二canvaQiame => 'DEMO二FOLDER_STACK', folder_window_name => 'DEMO_FOLDER', disabled_functions => '',tab_canvas_name => '', fixed canvas_name => '');app_folder.event('INSTANTIATE'); show_view('DEMO_FOLDER_CONTENT');第一句是Folder申明,根据参数名给出具体值即可,注意tab.canvas.name,我们不用 Tab页,所以为空。最后一句是因为本例中内容画布上没有可导航的块,所以需要用带码使其显示。1.1.14. 上传&编译&运行运行结果如下:可以调整列宽度和顺序、隐藏或显示列,并可以保存布局;调整窗口大小,Folder会自 动调整适应。代码请见 CUXFLDDEMO.fmb。注,上述触发器代码可以全部组织到个Program Units中。1.2. Folder问题1.2.1. Item隐藏后显示,变成可更新(蔡芳钧)将一个Folder Item (TEXT_ITEM_DISPALYONLY)隐藏后然后再显示,这个Item就 变成了可以更新的字段了。这个问题的原因是继承过来的STANDARD.FOLDER Object是旧版本导致的,所以如果大家在做Folder Form的时候,检查一下这个问题, 如果发现出现以上问题可以删掉Object然后再从服务器下载一个最新的下来继承。1.2.2. Item隐藏后显示,变成不可更新(蔡芳钧)当个Folder Item (TEXT_ITEM)隐藏后再显示,这个Item就变成不可更新了,这个 问题是由于APPFLDR中代前的问题,当隐藏的时候,它对这个Item执行了setjtem一property(promptjd, DISPLAYED, PROPERTY一OFF)执行这个代码的时候, Form中吊帮助说明里有解释,DISPLAYED设为OFF的时候相应也会把UPDATEABLE的属性设为OFF,而执行显示后,set_item_property(prompt_id,DISPLAYED,PROPERTYJDN)并不会相应的把这个Item设为可更新,所以Item就变灰 了。要解决这个问题可以在WHEN-NEW-RECORD-INSTANCE中写下相应对Item控制的 方法(但是如果是多行可能需要点到相应的行上会将该行的Item显示为可更新,否 则都是灰的),也可以在Form级的触发器FOLDER.RETURN_ACTION中对Item进行 逻辑控制,这样就不会出现上面的情况了。1.3. Folder开发步骤(基于模版)这里的模版指汉得提供的TEMPLATE_FOLDER.fmb,文档由赖旭华提供。用FormBuilder打开TEMPLATE_FOLDER.fmb,把名称改为 个有意义的名称,并另 存为相同名称的fmb文件。关闭TEMPLATE_FOLDER.fmb,然后再打开刚保存的文 件进行修改。如下图:ZlJTPLANUPMTNJmb 因口亘JTPRTNWDEF.fmb ZlPTSITMRE2,fmb SPTSITMRE.FmbXI TEMPLATE_FOLDERJmb jTEMPLFLD.fmbFile name: |PTEITMRE|fmbSave as type: | 表格 门mb)Save取消©1.3.2.创建数据块右键Folder数据块,运行数据块向导,来创建一个数据块,取个有意义的名字,如ITEM_RELATIONo 如下图:白兄! ITEM RELATIONE触度器創 PRE-QUERYr S POST-QUERY WHEN-NEW-BLOCK-INSTANCE - 丑 WHEN-NEW-RECORD-INSTANC 福 KEY-PREV-ITEM 0 KEY-NEXT-ITEM Skey-prvrec S KEY-NXTREC 福 KEY-CLRREC Skey-exeqry Skey-entqry S PRE-BLOCK:S POST-BLOCK S KEY-CLRBLK Son-insert 眼 ON-UPDATE( Son-lockS ON-DELETE将FOLDER一PROMPT数据块改成一个有意义的名字,如ITMRE一PROMPT,并把 FOLDER一PROMPT数据块中的FIELD1项删除。如下闇:S Si ITMRE.PROMPT触发喜-項电 S3 ITEM_CODE由 58 RELATION_ITEM_CODE® S3 RELATION_TYPE_MEANING由岡 QUANTITY® 汨 EFFECTIVE_DATE申园 DISABLE_DATE由 3 DESCRIPTION由岡 FOLDER_TITLE由 P FOLDER.OPEN1+1 0 FCH HFD DI IMMY当前记录视觉属性担空”记录间的距离04显示的项数1物理层性、可视的e.a圆布MAIN标筌页空? X轴坐标*a Y轴坐标3.51宽度.254高度.250 G由GS PORDER_BY1ORDER.BY2视觉星性ORDER.BY3视觉属性姐BUTTONJCONIC1.3.4.创建标题块把ITEM_RELATION中需要显示的项设置为在堆叠画布FOLDER-STK中显示,并清空 属性面版里的“提示”属性,然后把物理属性中的X轴坐标和丫轴建标分别设为和0.25o (项的子类属性按实际需要选择即可)白 JI ITEM.RELATION审触发器 一項:$ 园 FOLDER_SWITCHER0 园 CURRENT RECORDJNDICATCITEM.CODERELATION ITEM CODERELATION_TYPE_MEANINGQUANTITYEFFECTIVE.DATEDISABLE DATEDESCRIPTION1可视的Bs画布FOLDER.STKa标签页空。X轴坐标0a Y轴坐标.25?宽度*4o*t*1»高度.25、立体凹陥1释放B、显示垂直滚动条是1.3.5.创建标题块把上一步设置的项复制到ITMRE_PROMPT数据块中(按住Ctrl拖动,然后选复制), 并把这些项的类信息设置为FOLDER.PROMPT_MULTIROW,物理属性中的X轴坐 标和丫轴坐标分别设为和。,然后分别给它们个有意义的初始值。这些项的宽度属性 决定了在上一步设置的项的显示宽度,所以调节显示宽度需要在这个块的项里调。如卜.图:多项选择常規TITLEOPENITEM.CODERELATION JTEM_CODERELATION_TYPE_MEANINGQUANTITYEFFECTIVE DATEDESCRIPTION的园陶的打驹的包ITM触项田由囹囹由由由由国(»0;日打开WHEN-NEW-FORM-INSTANCE触发器,加上如下语句:app_folder.define_folder_block('PTSITMRE', 'ITEM.RELATION', 'ITMRE-PROMPT', 'FOLDER-STK, 'MAIN');app_folder.event('INSTANTIATE');其中app_folder.define_folder_block中的参数含义依次为:Form名,数据块名, PROMPT数据块名,堆妻画布石,主窗口名。六个步骤做下来之后,Folder就完成了。注意:Folder显示的项不需要手动去画布里 调整布局,运行的时候会自动排列开来。横向滚动条会自动产生。1.4. JTFGrid开发步骤本节标题说明:标准指做JTFGrid都要做而且是样的步骤,可以考虑做个模版了:普 通指和做普通Form一样;特殊指做JTFGrid都要做但需要根据实际内容作修改。1.4.1. 什么是 JTFGridJTFGrid不是Form的标准功能,而是Oracle自己在EBS开发中总结出来的“可配置块字 段”:块中有多少字段可以通过专门的界面定义。对于开发来说,要做的事情就是用“遵循JTFGrid规范”换取“增删字段无需修改 Form代码”。1.4.2. 拷贝标准JTF Grid对象 标准1,对象组打.开!TFSTAND.fmb,把对象组“JTF-GRID”拖到我们自己的Form中,并选择 “Subclass”而非"Copy”,这个和前面讲的Folder样。这样会自动产生一系列用于JTF.GRID的对象:块、画布、参数、Property Classes、 Window,尤其注意Form级触奖器JTF一GRID一EVENT。这些都不用修改。2、过程从JTFSTAND.fmb拷贝!TF一CUSTOM一GRID-EVENT过程到我们自己的Form中,然后 补上事件处理,暂时全部就ull:PROCEDURE jtf custom gridevent(gridname IN VARCHAR2,eventtype IN VARCHAR2) ISBEGINIF eventtype = jtf grid events, hyperlink event THENNULL;ELSIF eventtype = jtf_grid_events. new record_event THENNULL;ELSIF eventtype = jtf grid events, popup event THENNULL;ELSIF eventtype = jtf_grid_events. row_selection_event THENNULL;ELSIF eventtype = jtf grid events.end of find event THENNULL;ELSIF eventtype = jtf grid events. doubled ick event THEN NULL;END IF;END;1.4.3. 引用JTF Grid的PLL库 标准选中Attached Libraries,点击 “ + ”,选择JTF一GRID.pll,其将自动引用JTFJJTIL、 JTFDEBUGo如果本地没有请先从服务器下载。1.4.4. 创建数据库对象普通创建数据库对象,没有任何特殊之处,可以使用现成的View和Table,本例子使用 gl_je_headers_v,做之前,请确保有总账凭证,不然没有数据;或者你也可以随便换 个有数据的视图,但下面的也子表格定义、触发器代码要注意跟着换.1.4.5. 定义CRM电子表格特殊N: CRM Admins tra tor / Spread table/ Metadata Administraion输入电子表格名称、源视图、字段定义:1.4.6.创建 Grid 块普通手工创建非数据库块,规范起见,块名后加“GRID”,这里是“DEMO_GRID”。当然了,从Template开始的常规修改步骤也是要做的。1.4.7. 修改Grid块 特殊手工创建非数据库项,并设置这些字段的关键属性:字段名Subclass说明READONLY_GRIDJTF_GRIDTEM必须,名字随便FINDBUTTON可选字段名Subclass说明DETAILBUTTON",二1.4.8. 布局Item到画布 普通把DEMO一GRID布局到画布,什么画布都可以,我们需要设置其在画布的启示位置、 高度、宽度,因为设计时在画布上不容易看到,我们可以直接设置属性。特殊1.4.9. 追加Form级触发器在 WHEN-NE W-FORM-INST ANCE 中追加:IF NOT jtf_grid. getbooleanproperty (" DE.MO_GRID. READONLY. GRID",jtf_ grid_property. initialized) THENjtf grid. init (jtf custom. grid name, ' GL一JE_HEADERS.V');jtf_grid. setbooleanproperty (' DEMO GRID. READONLY GRID",jtf_grid_property. allow multiple row selection,FALSE);END IF;1.4.10. 编写Find Button触发器 特殊用户点击Find,通常是弹出査询界面,输入完条件再执行查询。我们这里省去貪询条件界而,直接在FIND按钮的WHEN-BUTTON-PRESSED中编 写:jtf grid.removeallbindvariables(,DEMO GRID. READONLY GRID*);-jtf_grid. setbindvariable(*DEMO_GRID. READONLY_GRID, ' CURRENCY_CODE', ' CNY');jtf_grid. setcharproperty(*DEMO GRID. READONLY_GRID,,jt f_gr i d_property. where_clause,'CURRENCY CODE二'CNY'");IF jtf_grid. getbooleanpropertyC DEM0_GRID. READONLY_GRID',jtf_grid_property. is_populated) THENjtf grid, refresh(* DEMO GRID. READONLY_GRID*);ELSEjtf_grid. populate (* DEMO_GRID. READONLY_GRID*);END IF;1411.处理选择事件特殊用户选中某行后,我们可以根据其选中的信息去打开个普通块,这样首先需要在 FIND按钮的 WHEN-BUTTON-PRESSED 中编写:jtf_grid. RequestRowSelectionC DEM0_GRID. READONLY GRID,);可以打开该包查看其具体作用。然后在过程jtf_custom_grid_event中响应选择事件:PROCEDURE jtf_custom_grid_event(gridname IN VARCHAR2,eventtype IN VARCHAR2) ISgrid_selection JTF GRID PROPERTY. ROW SELECTION TYPE;l_startRow number;BEGINIF eventtype = jtf_grid_events. hyper1ink_event THENNULL;ELSIF eventtype = jtf_grid_events. new record_event THENNULL;ELSIF eventtype = jtf grid events.popup event THENNULL;ELSIF eventtype = jtf_grid_events. row_selection_event THENgrid_selection := jtf_grid. GetRowSelection(* DEMO GRID. READONLY GRID*);if grid_selection. COUNT > 0 thenl_startRow := grid_selection(l). startRow;fnd_message. debug(jtf grid. GetColumnCharValue(, DEMO GRID. READONLY GRID*, I startRow, ' NAME');-Do any thing hereEND IF;ELSIF eventtype 二 jtf grid events, end of find event THENNULL;ELSIF eventtype = jtf_grid_events. doubled ick event THENnull;END IF;END;问题:如何响应双击事件呢?1.4.12.上传&编译&运行运行结果如下:代码请见 CUXJTFDEMO.fmb。注,上述触发器代码通常全部组织到一个名字为“JTFJZUSTOM” tfjProgram Units 中,这样就可以定义个变量GRID_NAME来保存字段名,免得每处代码重复写 'DEMO_GRID. READONLY一GRID 0如果要使Window变化时Grid跟着变,那么需要参考Folder的做法,在WHEN- WINDOW-RESIZED触发器中调整画布大小、Grid的大小»2.多语言开发2.1. 国际化支持2.1.1. 说明EBS的国际化支持,也叫多语言支持,包含多个层面:1、数据库级别:

    注意事项

    本文(Oracle+EBS+Forms开发指南(中级).docx)为本站会员(文***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开