如何发布你的OAF的个性化文件,实际上Oracle提供了两个比较有用的工具:XMLExporter和XMLImporter,但是导入的时候的个性化的路径很难找到.下面是我自己发现的一个方法.举例:
1.我把helloword的页面个性化了,个性化在组织层,把标签的prompt改成了cehshi
2. SELECT * FROM jdr_paths
WHERE path_name LIKE '%HelloWorldPG%'
3.SELECT jdr_mds_internal.getDocumentName(44515)
FROM dual
44515是上面SQL的返回结果,当然上面的SQL会返回多个果,但是根据你的个性话,根据实际就可以得到比较准确的路径.
实际上个性化存放的目录是有一定规则的.一般如果你能找到原文件的化,你的个性化的存放目录就很容易找到:规则如下:
+ <component>
+ webui
file1.xml
+ customizations
+ <layer type>
+ <layer value>
file2.xml
file1就是原文件,file2就是个性话文件.中间还有layer type 和value这两个目录的规则如下:
Level | Level Value |
---|---|
Function | Function Code |
Site | 0 |
Organization | Organization ID |
Responsibility | Responsibility ID |
User | User ID |
结合我的例子就可以知道这个目录结构,我是在org层作的个性化.
org/82
4.telnet 然后cd到 $JAVA_TOP
5.java oracle.jrad.tools.xml.exporter.XMLExporter /oracle/apps/fnd/framework/toolbox/tutorial/webui/customizations/org/82/HelloWorldPG -rootdir $JAVA_TOP/cmcc -username apps -password js818super -dbconnection "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(Host=10.32.153.44)(PORT = 11501))(CONNECT_DATA = (SID = JSSIT)))"
注意上面的语句不要有回车.
6.下面是我导出来的XML的文件:
<?xml version = '1.0' encoding = 'UTF-8'?>
<customization xmlns="http://xmlns.oracle.com/jrad" version="9.0.5.4.89_555" xml:lang="en-US" customizes="/oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG" package="/oracle/apps/fnd/framework/toolbox/tutorial/webui/customizations/org/82">
<modifications>
<modify element="HelloName" prompt="cehshi"/>
</modifications>
</customization>
这一看上面的prompt的值,就是我改的.
7.然后就是import这个就不在说了,过程和export一样.
多说一下,OAF的多语言的个性化是要在layer value层再多建一个语言目录下面语句.
1.到处原来的XML:
java oracle.jrad.tools.xml.exporter.XMLExporter /oracle/apps/ fnd/wf/worklist/webui/customizations/site/0/ AdvancWorklistRG -rootdir $APPL_TOP/admin/patch -username APPSNAME -password APPSPWD -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=yourhost)(PORT=yourport))(CONNECT_DATA= (SID=yoursid)))"
2.生成US语言的版本,这一步是必须的,所以的翻译都需要用US版做基础.这个就放在了US文件夹下面了.
java oracle.jrad.tools.trans.extractor.XLIFFExtractor $APPL_TOP/admin/patch/oracle/apps/fnd/wf/worklist/ webui/customizations/site/0/AdvancWorklistRG.xml mmd_dir=$OA_HTML/jrad root=$APPL_TOP/admin/patch xliff_dir=$APPL_TOP/admin/patch/oracle/apps/fnd/wf/ worklist/webui/customizations/site/0/US/
3.然后把US文件夹下面的.xlf 文件拷贝到你的需要翻译的目录如:ZHS
cp $APPL_TOP/admin/patch/oracle/apps/fnd/wf/worklist/ webui/customizations/site/0/US/AdvancWorklistRG.xlf $APPL_TOP/ admin/patch/oracle/apps/fnd/wf/worklist/webui/ customizations/site/0/ZHS/AdvancWorklistRG.xlf
4.修改这个xlf文件. 要修改:
target-language="en-US"和 <target>Payment Terms</target>
直接的,直接改成中文的名称
<?xml version = '1.0' encoding = 'UTF-8'?>
<xliff version="1.0">
<file datatype="jdr" original="PayTermsLOVRN" product-version="$Header: PayTermsLOVRN.xlf 115.1 2003/02/26 19:58:26 jfrost noship $" source-language= "en-US" target-language="en-US" product-name="qp">
<body>
<trans-unit id=".oracle.apps.qp.lov.webui. PayTermsLOVRN..PTName...prompt" translate="yes" maxbytes="4000" maxwidth="26" size-unit="char">
<source>Payment Terms</source>
<target>Payment Terms</target>
<prop-group name="ora_untranslatable">
<prop prop-type="tagName">messageStyledText </prop>
<prop prop-type="attributeName">prompt</prop>
</prop-group>
</trans-unit>
<trans-unit id=".oracle.apps.qp.lov.webui. PayTermsLOVRN..TermId...prompt" translate="yes" maxbytes="4000" maxwidth="14" size-unit="char">
<source>Term Id</source>
<target>Term Id</target>
<prop-group name="ora_untranslatable">
<prop prop-type="tagName">formValue</prop>
<prop prop-type="attributeName">prompt</prop>
</prop-group>
</trans-unit>
</body>
</file>
</xliff>
转载于:https://blog.51cto.com/shaofeng/655679