十月总结二个性化总结Author:jun.zhanCreationDate:March11,2020LastUpdated:March11,2020DocumentRef:MD120Version:1.0安装文档FILEREF:十月总结二文档控制ii文档控制更改记录3DateAuthorVersionChangeReferenceMarch11,2020Jun.zhan审阅NamePosition分发记录CopyNo.NameLocation1234安装文档FILEREF:十月总结二文档控制iii目录文档控制...................................................................................................................................ii个性化调用请求,报表,存储过程..............................................................................................1利用FORM个性化调用请求.............................................................................................1利用FORM个性化跳转块.................................................................................................7利用FORM个性化增加weblink...................................................................................10Form个性化修改标准Form的LOV................................................................................11利用FORM个性化插入或更新数据库...........................................................................14解决和未解决的问题.............................................................................................................16已解决的问题..................................................................................................................16未解决的问题..................................................................................................................16安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程1of16个性化调用请求,报表,存储过程本文将详细介绍个性化的应用仅作参考利用FORM个性化调用请求主要内容1)利用全局变量直接调用请求2)利用全局变量调用存储过程在调用请求SetpbyStep截图利用全局变量直接调用请求:安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程2of16安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程3of16安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程4of16利用全局变量调用存储过程在调用请求:安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程5of16安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程6of16安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程7of16利用FORM个性化跳转块主要内容1)利用内置直接调用块(不含From操作)2)利用内置传参数给from,在from中做逻辑处理后跳转SetpbyStep截图利用内置直接调用块(不含From操作):安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程8of16安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程9of16利用内置传参数给from,在from中做逻辑处理后跳转:eg:在销售订单的订单头模块的活动中启用功能'销售回款计划',只有当订单为登记状态时,才允许进入。1、先在when-new-form-instance触发器中添加菜单项例子添加的是special41;如果只需要在某个特定的块启用某功能的话,在表单个性化的活动中的‘已在块中启用’选择启用的块;2、在菜单项special41触发器中校验逻辑是否成立3、在菜单项special41中启用功能。在参数中直接输入='SELL_HEADER_ID='||:ORDER.HEADER_ID被调用的form中处理和在from中调用function一样。a、定义parameter:sell_header_id安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程10of16b、在form级触发器when_new_form_instance中定义if:parameter.sell_header_idisnotnullthengo_block('FUNS_HEADER');DO_KEY('EXECUTE_QUERY');endif;c.在block级的pre_query中定义PROCEDUREpre_queryISBEGINIF:parameter.sell_header_idISNOTNULLTHENcopy(name_in('PARAMETER.sell_header_id'),'FUNS_HEADER.sell_header_id');ENDIF;END;利用FORM个性化增加weblink主要内容1)Logintoyourresponsibility2)GototheFormsyouneedtopersonalize3)Openpersonalizationsforms:Help/Diagnostics/CustomCode/personalize4)Entersequenceas'1'andindescriptionenter'InitWebURLmenu'5)Inconditiontab,entertriggereventas'WHEN-NEW-FORM-INSTANCE'6)Clickon'Actions'tab.Entersequenceas'1'andType='Menu'.7)ChooseMenuEntry(anyofthespecialmenuentries).Eg.Special126)Entermenulabel(eg:WebURL)8)In'EnabledinBlocks'fieldyoucanchooseforwhichblocksthespecialmenuneedstobeenabledorleaveblanktobeenabledforalltheblocksoftheforms9)Gobacktothemainblockwhereyouentered'InitWebURLmenu'.10)Enteranewrecordwithsequenceas'2'andindescriptionenter'LaunchURL'11)InConditionstab,entertriggereventas'SPECIAL12'12)ClickonActionstab.Entersequenceas'1'andType='Builtin'.13)Choose'LaunchaURL'forBuiltinType13)EntertheargumentasyourURL(eg:)andclick'Applynow'button.14)Save.15)Exitform,logout,loginandgotoyourFormsagain.16)GotoToolsmenu.Thenewspecialmenu(WebURL)entrywillbedisplayed.源文档安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程11of16SetpbyStep截图Form个性化修改标准Form的LOV主要内容修改LOV中的值等参数源文档本文结合一个简单的Form做描述,这是没有个性化之前的LOV,LOV取自表FND_USER,没有做任何条件限制首先打开Form的个性化工具,点击菜单帮助–诊断–自定义代码–个性化:安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程12of16一、选择触发器事件以及触发器对象在打开的个性化窗口中如下图,其中触发器选择WHEN-NEW-ITEM-INSTANCE,触发器对象选择HEADER.HEADER_ITEM(对应LOV的Item),保存:二、确定触发器动作1.创建LOV的RecordGroup切换活动标签页,首先创建RecordGroup,为了简单起见,写死了一个查询条件,只出来两条记录:安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程13of162.修改LOV的GroupName属性在值对应那一栏填上之前创建的RecordGroup的名字:最后保存退出,重新打开Form,就能看到效果了安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程14of16三、总结Form个性化和Custom.pll都是可以用来个性化Form的方法。当使用Form个性化修改LOV,用来创建的RecordGroup如果含有Form中的某个Item作为条件时(比如供应商地点的LOV中要以供应商作为条件),这时候如果把带有参数的查询条件作为RecordGroup的变元就会有问题。因为个性化中创建RecordGroup的时候认为变元是一个字符串,我们加入了类似:PO_HEADERS.VENDOR_ID的字样它是不识别的。所以当遇到这样的情况,可以使用Custom.pll,通过name_in(’PO_HEADERS.VENDOR_ID’)来组合查询条件,然后在每次WHEN-NEW-ITEM-INSTANCE的时候,去动态的设置LOV来达到我们所期望的效果。利用FORM个性化插入或更新数据库主要内容利用From插入或更新数据库脚本1.NavigatetotheFormwhichishavingtheLOVItem2.OpenthePersonalizationformfromthepulldownmenuHelp=Diagnostics=CustomCode=Personalize.安装文档FILEREF:十月总结二个性化调用请求,报表,存储过程15of163.ImplementthefollowingPersonalizationrule:YoucanuseFORMS_DDLBuiltinTypeoftheactionBuiltin:Seq:10Description:UpdateDa