EBS R12中FND凭证打印警告:OPP响应超时

接近年关,最近年结忙的飞起,此为背景,今天运维那边反应日记账凭证打印报错,看了下后台请求发现请求有警告。

查看日志发现报了“并发:OPP响应超时”的警告,这个地方响应超时可能是配置文件中“并发:OPP超时响应”等相关参数的影响,在参数规定的时间内OPP 服务没有及时响应造成的,当然问题的起因可能有深层次的原因,这里我们需要去找一下OPP服务日志。

那么,怎么去找OPP服务日志呢,我们通过请求号 查询OPP服务日志的位置:

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 = 25168707

查询到服务日志之后,我们查看服务日志的内容发现,有如下的错误:

/18/06 5:00:14 PM] [UNEXPECTED] [128085:RT1585526] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(XSLT10gR1.java:580)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:378)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:197)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:156)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:916)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:178)
at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1507)
at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:913)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:1766)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:1277)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:229)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:153)
Caused by: java.lang.OutOfMemoryError
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java(Compiled Code))
at oracle.xdo.parser.v2.XMLOutputStream.flush(XMLOutputStream.java(Inlined Compiled Code))
at oracle.xdo.parser.v2.XMLOutputStream.write(XMLOutputStream.java(Compiled Code))
at oracle.xdo.parser.v2.XMLOutputStream.writeChars(XMLOutputStream.java(Compiled Code))
...

那么到这里我们很明显能够看出具体产生问题的原因,是因为在输入较大文件情况下,服务器没有足够的内存来分配,可能是因为在业务高峰期,OPP没有足够的堆栈大小,这个有可能是内存参数过小产生,也有可能是模板文件中的编码导致内存泄露。

这里可以参考官方文档:Output Post Processor (OPP) Log Contains Error "java.lang.OutOfMemoryError" (文档 ID 1266368.1)

根据官方文档,有以下几种方法来解决这个问题(这几种方法可以选择执行):

  • 1.登录XML Publisher Administrator职责。
    2.导航到主页 - 管理 - 配置。
    3.在“常规属性”下,选择“临时目录”。
    4.在并发处理节点上选择临时文件位置。这应该比您生成的最大XML数据文件至少大5Gb或20倍。

  • 1.登录XML Publisher Administrator职责。
    2.导航到主页 - 管理 - 配置。
    3.在FO处理属性集下:
    a)使用XML Publisher的XSLT处理器为True。
    b)使XSLT处理器的可扩展功能为False。
    c)将XSLT运行时优化启用为True。

  • 1.作为系统管理员:导航到Concurrent-> Program-> Define。
    2.查询报告:帐户分析报告(例如)。
    3.添加名为ScalableFlag的参数:
    值集:yes_no 
    默认值:是
    选中复选框启用安全性和必需
    不选中复选框显示,或者用户可以在运行时将其关闭。
    令牌需要是ScalableFlag(这是区分大小写的值)。
    注意:对于应用程序总帐和子分类帐会计并发程序定义,请完成以下步骤。

  • 1.确定当前每个OPP进程的堆大小:
select DEVELOPER_PARAMETERS from FND_CP_SERVICES
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = ‘FNDCPOPP‘);

2.默认值应该是:

J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m

3.增大每个进程的堆空间到1024

update FND_CP_SERVICES
set DEVELOPER_PARAMETERS =
‘J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx1024m‘
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = ‘FNDCPOPP‘);

4.重启并发管理器

  • 1.导航至系统管理员职责。
    2.导航到Concurrent - Program - Define。
    3.查询XDOTMGEN可执行文件的短名称。
    4.在“选项”字段中,添加诸如-Xmx512m或-Xmx1024m之类的值或其他相关数字以增加堆大小。
    5.保存更改。
    6.重新提交请求。

End.

当然官方是希望我们能够按时应用最新的ATG RUP和XDO补丁集,这个就是后话了。

原文地址:https://www.cnblogs.com/surinfo/p/10456511.html

时间: 2024-10-09 05:29:38

EBS R12中FND凭证打印警告:OPP响应超时的相关文章

更改EBS R12中forms的模式Servlet/Socket

EBS R12中forms的模式有:Servlet mode 和 Forms Socket mode 当我们完成Oracle EBS R12套件的快速安装后,forms的默认配置是Servlet mode.这种模式有利于公用网络(如Internet)的访问,但对于ERP局域网的用户而言,Forms Socket mode的效率更高.一般内部的ERP用户访问的Web服务器采用Forms Socket mode,而外部的用户访问的Web服务器则采用Servlet mode. 一.更改forms的模式

并发:OPP 响应超并发:OPP 响应超时

用户提交报表,无法正常结束,报表日志中有如下消息: “正在执行请求完成选项... +------------- 1) PUBLISH -------------+ 节点 FIN1 上的请求 2988497 于 11-10-2011 13:51:44 开始进行后期处理. 请求 2988497 的后期处理于 11-10-2011 13:57:44 失败,并显示错误消息: 输出提交处理程序正在运行,但尚未获得此请求. 将不再尝试进行此请求的后期处理,并且将该请求标记 为“警告”状态. 必须将配置文件选

易飞-凭证打印异常(字符中含有空格,自动分行导致显示异常)

在打印凭证中通常会显示自定义或者输入的内容.比如:在电子行业中的插件位置,生产人员经常在作业的时候经常会根据领料单显示的插件位置来作业. 至于为何不根据作业指导书或者BOM等其他方式来确认不在今天我们讨论的范围. 解决办法一:直接行高加大.当然可以,但是如果只是为了一张工单中的几个元件的插件位置显示而已,增加了纸张打印.从成本节约角度不太实用 解决办法二:评估了最多字符也可以在两行中显示完毕的情况下,自动分行差一两个字符的话,就把字体设置小点. 现在问题是,为和第二行中CA9,之后就自动分行了呢

EBS R12 修改 apps 密码[Z]

注意:修改密码时应保证所有用户已退出, 最好是关闭应用实例.不用关闭数据库.在修改密码之前一定要改备下数据库中的FND_ORACLE_USERID和FND_USER表.FNDCPASS工具会自动把APPS用户的密码和APPLSYS用户的密码和APPLSYS用户的密码同步设置成一样的.在修改完APPLSYS和APPS用户的密码后, 需要重新启动并发管理器.在修改完APPLSYS和APPS用户的密码后,要求将已经处在登录状态的用户完全退出, 然后重新登录.修改APPS用户的密码不支持直接在数据库中使

【转】oracle EBS R12和11i的主要区别

简单的说1.架构变了,原来的SOB现在叫Ledger 2.客户.供应商.税提升了一个级别3.客户.供应商.银行改为web界面的4.AR.AP可以支持在一个职责下跨OU查询和录入.5.引入SLA架构,数据逻辑更清晰.另外从子模块到总账的数据形式和生成的摘要都可编辑.简化了开发的工作量. 一.在原来的应收/应付/项目/CST和GL之间增加了一个层次SLA(SUBLEDGER ACCOUNT 子分类帐),通过这个层次来进一步支持全球财务解决方案,如银行.税务引擎.公司间业务等:即银行帐号的定义是法人共

破解EBS R12应用和数据库用户密码

1,如果你有某个EBS环境APPS用户密码,可以破解应用用户的密码 参考:Oracle EBS R12下如何破解用户密码 2,如果没有APPS用户密码,还想破解该环境A密码.要看"运气"了,如果有相应的Clone环境B,EBS DBA还没有修改$CONTEXT_FILE内容,并且具有环境A的数据查询权限,可以破解APPS密码 参考:Oracle EBS R12 - 利用PLSQL取得/破解apps密码和EBS中的用户密码 1)在环境B中创建上文中的包,在环境A中查询GUEST用户加密后

Oracle EBS R12 (12.1.3) Installation Linux(64 bit)

Oracle EBS R12 (12.1.3) Installation Linux(64 bit) Contents Objective. 3 1 Download & Unzip. 3 Download. 3 Unzip. 3 MD5 Checksums. 4 2 Pre-Install Task. 5 Disk Space. 5 Specific Software Requirements. 5 RPM... 6 JDK. 8 OS User & Group. 11 3 Instal

Oracle EBS R12财务月结基础(转)

一.月结概述 1.什么叫月结:从字面含义上,即为月底结帐. 2.月结的目的 1)会计分期 2)财务报告 3.什么叫对帐:即将两套帐核对.在Oracle中,主要指将子模块的帐与总帐核对. 4.为什么要对帐:总帐接收到的财务信息与子模块业务必须保持一致,才能保证整个系统的帐务是正确的,所以要进行对帐.在日常事务处理中,存在录入或系统异常等导致的错误,通过对帐及时发现并解决. 5.月结与对帐之间的关系: 对帐是月结过程中的一个重要事项. 2.子模块与总帐之间的关系 n总帐模块处于财务核算的核心地位,它

Oracle EBS R12 客户表结构

R12 客户表结构 客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS 例子: SELECT hp.party_number --客户注册标识 , hp.party_name --组织名/客户 , hp.known_as --别名 , hp.organization_name_phonetic --名称拼音 , acc.account_number --帐号 , flv_sale.meaning sales_channel_code --销售渠道