小说网站 搜小说 无限网 烟雨红尘 小说爱好者 免费小说 免费小说网站

错误:One or more post-processing actions failed. Consult the OPP service log for details



今天在做采购出入库明细报表的时候,有的时候能正常打印,有的时候报 One or more post-processing actions failed. Consult the OPP service log for details

查找原因过程

定位错误:

SELECT FCPP.CONCURRENT_REQUEST_ID REQ_ID,
       FCP.NODE_NAME,
       FCP.LOGFILE_NAME
  FROM FND_CONC_PP_ACTIONS      FCPP,
       FND_CONCURRENT_PROCESSES FCP
 WHERE FCPP.PROCESSOR_ID = FCP.CONCURRENT_PROCESS_ID
   AND FCPP.ACTION_TYPE = 6
   AND FCPP.CONCURRENT_REQUEST_ID = 3588980(请求编号)

查看日志


发现是解析XML的时候有转义字符,不能正常解析

查看数据发现物料说明里面有字符 “&” java遇到此字符不能转义

解决办法,在可能有次字符出现的地放,处理一下,例如

--item_name 里面有转义字符 ‘&’ 需要转义解析
      output('<ITEM_NAME><![CDATA[' || rec_detail.item_name || ']]>
       </ITEM_NAME>');
   

问题解决;


情况二:


数据库是GBK,数据源是UTF-8所有报次错吴,数据库和xml数据源需要保持一致



错误三:


报表模板不存在,或者某个语言的模板不存在,检查之


网上对于此错误其他一些描述


请求报警告,错误信息为:Oneor more post-processing actions failed. Consult the OPP service log fordetails.  的解决方法


 


问题现象:


CUX:应付原始单据归档报表(XXX.rdf +XXX.rtf 组合类型报表) 请求报警告,输出为XML代码而非PDF文件。


   


只有如下错误信息:


节点 EBSDEMO上的请求 3588993 18-01-201310:06:05开始进行后期处理。
请求 3588993的后期处理于 18-01-2013 10:08:07失败,并显示错误消息:
One or more post-processing actions failed. Consult the OPP service log fordetails.


 


定位错误:


SELECT FCPP.CONCURRENT_REQUEST_ID REQ_ID,


      FCP.NODE_NAME,


      FCP.LOGFILE_NAME


 FROM FND_CONC_PP_ACTIONS     FCPP,


      FND_CONCURRENT_PROCESSES FCP


 WHERE FCPP.PROCESSOR_ID =FCP.CONCURRENT_PROCESS_ID


  AND FCPP.ACTION_TYPE = 6


  ANDFCPP.CONCURRENT_REQUEST_ID = 3588980(请求编号)


 


通过上面代码可以查看报错请求的日志文件路径,在日志文件中可以看到很多类似如下错误提示:


java.lang.StackOverflowError


oracle.xdo.parser.v2.XSLSort.quicksortObjects(XSLSort.java:466)


从而可以肯定是由于排序导致内存溢出的问题。


 


解决方法:


1、查看该报表的排序代码是如何写的,发现该报表的排序居然是写在XXX.rtf模版文件中的,代码如下:


<?sort:ORDER_SEQUENCE_NUMBER;'ascending';data-type='number'?>


<?sort:JE_NUMBER;'ascending';data-type='text'?>


2、将模版中的排序代码去掉,然后在XXX.rdf程序中添加排序代码。


3、运行测试OK.


对于出现“One or more post-processing action failed. Consult the OPP service log for details.”一般有三种原因。
1.字符集不对。即encoding设为“UTF-8”.
2.报表和模板的加载有误。form中的fnd_request.add_layout中的模板名要和报表的代码相对应。
3.报表自身有问题。可以用log的方式逐行检查。
4.检查是否打印输出XML文件格式的时候,出现了空行,或者多余空格,如有,则删除即可。




posted on 2014-01-23 18:11  王小航  阅读(343)  评论(0编辑  收藏  举报

导航