我是靠谱客的博主 痴情板栗,最近开发中收集的这篇文章主要介绍oracle EBS 报表outofmemory错误及解决方案(压缩下载),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题:使用XML Publish方式进行报表输出,输出的结果为Excel或者PDF格式,使用中遇到的主要问题是,当要生成的报表文件太大时,EBS无法形成所需的文件,并且会导致其他请求也都出现无法输出,查看java日志可见出现outofmemory错误。

方案:

安装补丁patch 7306874。

同时为了避免XML输出文件太大导致FNDCPOPP内存溢出,建议减小输出文件大小:

1、  建议缩短XML TAG的大小(按经验,通常XML文件中TAG占其中三分之二内容左右)。

2、  将报表拆解多个,然后压缩成zip文件,提供给用户下载。


1) 创建Shell脚本

 #!/bin/ksh
header_string="$Header: zip_conc_out.sh_V1.0 by ACS SC 2013-8-14
$"
prog_version=`echo "$header_string" | awk '{print $2}'`
program=`basename $0`
usage="t$program <OutputFile> <ConcReqID1[:ConcReqID2]>"
if [ $# -lt 2 ];
then
printf "n$program: too few arguments specified.nn"
printf "$usagenn"
exit 1;
fi
#
# arguments appear in the order:
<output file name> <ConcRequestID1[:ConcRequestID2]>
#
RETURN_FILE=$5
ARG=$6
EXT=$7
# 1.Delete files 7 days ago
find $OA_HTML/out -name "*" -ctime +7 | xargs rm -f
# 2.Disassembly parameter acquisition list
REQ_LIST=`echo $ARG|sed '1,$ s/:/ /g'`
# 3.Switch to directory
cd $LOG_HOME/appl/conc/out/
# 4. Circular list, find files and compress
for r in $REQ_LIST
do
zip -q -A $OA_HTML/out/$RETURN_FILE.exe *$r*$EXT
done
 
注:
1、 压缩文件必须为exe,不然无法下载
2、 如创建新文件,操作系统必须与服务器系统一致,否则会报如系统错误
(可从服务器上复制一份类似文件进行修改)
 

 
2) 将zip_conc_out.prog上传到$FND_TOP/bin,并设置执行(权限)属性; 
如8005环境:/d01/T01/apps_st/appl/fnd/12.0.0/bin
 
权限设置命令:
注:必须是在系统管理员权限下设置
$ chmod 7777 $FND_TOP/bin/zip_conc_out.prog


 
3) 在$FND_TOP/bin目录建立一个名为zip_conc_out的link如下
Linux命令:
ln –f -s $FND_TOP/bin/fndcpesr $FND_TOP/bin/zip_conc_out
 
如报错,去掉-f再试试
得到结果:


 
注:环境克隆后,该Link需重新生成
4) 在应用服务器$OA_HTML目录下建立out目录
 
 
5) 配置压缩请求
可执行: 


并发请求:
 
 
其中:并发请求中参数与zip_conc_out.prog中变量一一对应
并发请求(ZIP_CONC_OUT)参数 zip_conc_out.prog变量

并发请求(ZIP_CONC_OUT)参数

zip_conc_out.prog变量

zip_file_name

RETURN_FILE=$5

req_ids

ARG=$6

file_ext

EXT=$7

注:file_ext:该参数值需以服务器(/d01/T01/inst/apps/T01_efana/logs/appl/conc/out)上文件后缀为准
 
6) 在程序中用fnd_request.submit_request调用
创建子请求:XML文件处理
 
创建父请求:请求个数拆分,并循环调用子请求,最后调用压缩请求
 
 

     

最后

以上就是痴情板栗为你收集整理的oracle EBS 报表outofmemory错误及解决方案(压缩下载)的全部内容,希望文章能够帮你解决oracle EBS 报表outofmemory错误及解决方案(压缩下载)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部