如何发布你的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这两个目录的规则如下:

LevelLevel Value
FunctionFunction Code
Site0
OrganizationOrganization ID
ResponsibilityResponsibility ID
UserUser 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>