OAF 个性化基础

1.几个功能和相关配置文件
1)打开“关于此页”功能,需要启用
FND:诊断(FND: Diagnostics)
 
2)打开“个性化页”功能,需要启用
个性化自助定义(Personalize Self-Service Defn)
FND:已启用“个性化区域”链接(FND: Personalization Region Link Enabled)
 
说明:
1)一般情况下,这两个功能只针对开发人员启用,也就是在用户层设置为启用,而在地点层是禁用的。
2)由于OAF界面缓存的原因,设置后,可能需要清除缓存(从功能管理员进入)或者重新登录
 
 
2.页面个性化
两种方式可以进入页面的个性化设置界面
1)知道页面的路径,从功能管理员进入,个性化,输入页面路径,查询后进入。
 
2)当前打开的页面是要进行个性化的页面,并且已经打开了个性化功能(参考1),直接点击右上角“个性化页”,进入设置界面。
 
3)进入页面后,可以对当前的某个组件分层次进行设置,这个预置文件的类似,分为site,组织,职责三个层次,能设置的属性比JDeveloper里进行开发时设置的属性少,是目前Oracle所能支持的个性化属性,更多的属性只能通过个性化CO,通过代码进行设置了。
 
4)还可以在某个region下添加组件,点击创建项目图标,,进入创建界面,此界面和JDeveloper中的创建界面很像,但项目样式也比JDeveloper里少
填入必要的内容,保存即可
5)单纯的个性化页面比较简单,也比较少,一般局限在修改组件的显示文本,隐藏组件等静态操作,更多的则是通过配合个性化CO,VO来实现更多更强大的功能。
 
3.CO个性化
1)主要逻辑都在CO里,界面上只需要个性化设置一下组件的Controller Class属性。
 
2)这里的CO一般都是从页面原始CO继承(上一张图的原始定义),而不是OAControllerImpl,这样通过super.processRequest方法和super.processFormRequest就能继承原有逻辑,然后添加自己的逻辑代码。
 
4.VO个性化
1)查看VO的方法:每个页面左下有“关于此页”,点击进入,有此页面的详细信息,
 
有一条目是“视图对象”
 
点击VO,进入,可以查看sql等信息,很方便
 
还可以直接从服务器把VO的源文件拿下来(包括XXX.xml、XXXImpl.class、XXXRowImpl.class),反编译查看。
 
2)将VO配置文件(即xml文件、Class反编译后的java文件)放在与服务器相同目录的本地文件夹中,使用JDeveloper功能生成相应的java文件。
 
3)反编译下载下来的class文件,拷贝到生成的VOImpl和VORowImpl文件中(注意:一些VO的Class文件除了JDeveloper工具自动生成的方法外,还可能有作者自己编写的方法,所以强烈建议反编译class文件)
 
4)在自己的工作目录下新建一个VO,继承原有VO(即所要客户化的VO)
 
5)更改sql语句,一般是添加字段(在最后添加)或限制条件,不改变原有字段
 
6)替换VO
在JDeveloper工具条里,Tools -> Project Properties -> Bussiness Components -> Substitutions 左侧选中之前的VO,右侧选中编辑后的新VO,Add,确定,保存项目。
用文本编辑器打开jdevhomejdevmyprojectsXXX.jpx,看最后是否添加了一行代码,表示VO替换,代码类似于
<Substitutes>
<Substitute OldName =" oracle.apps.XXX.XXXVO" NewName ="cux.oracle.apps.XXX.CUXXXXVO" />
</Substitutes>
 
7)搞定VO,接下来就是最最关键的一步,将客户化的VO导入到数据库中
这是我的导入语句,大家可以改改,在本地DOS命令行中运行
C:myp9879989_R12_GENERICjdevbinoaextinjpximport.bat C:myp9879989_R12_GENERICjdevhomejdevmyprojectsXXX.jpx -username apps -password apps -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=1.1.1.1)(PORT=8000))(CONNECT_DATA=(SERVICE_NAME=XXX)(INSTANCE_NAME=XXX)))"
 
会显示导入成功,并且会显示客户化的路径
在pl/sql里查看
Begin
  jdr_utils.printDocument('/oracle/apps/eam/server/customizations/site/0/AssetNumberRVO');
End;
说明确实导入成了,在界面上再次查看VO,可以再次验证,查看VO的方法同第一步
 
5.常用 SQL
1)查出个性化生成的页面
BEGIN
     jdr_utils.listcustomizations(p_document => '/oracle/apps/XXX/XXXPG');
END;
 
2)查看个性化的内容
BEGIN
     jdr_utils.printdocument (p_document => '/oracle/apps/XXX/site/0/XXPG');
END;
 
3)删除个性化内容
BEGIN
     jdr_utils.deleteDocument(p_document => '/oracle/apps/XXX/site/0/XXPG ');
END;
 
 
6.导出个性化
1)从功能管理员进入,个性化,导入/导出,个性化信息库
 
2)可以从树状结构中找到某个界面,选中,然后点击“导出至文件系统”,然后就会将该界面的个性化导出成文件,便于导入其他环境。
 
3)导出成功后会提示文档路径
 
7.导入个性化
1)首先使用FTP将个性化文件放到服务器上,根路径由配置文件“FND:个性化文档根路径”所决定。
 
2)从功能管理员进入,个性化,导入/导出,导出的个性化
3)可以从树状结构中找到对应的个性化文件,可以查看最后更新时间以确定是否为最新的文件,选中,然后点击“从文件系统导入”
原文地址:https://www.cnblogs.com/objmodel/p/7601514.html