ITPUB??ì3
ITPUB论坛 » ERP二次开发 » 一个例子:在EBS通过XML Publisher输出存储在Blob的图片


标题: [精华] 一个例子:在EBS通过XML Publisher输出存储在Blob的图片
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-17 11:58 
一个例子:在EBS通过XML Publisher输出存储在Blob的图片

上网找了一些资料,看了itpub的一些帖子,现在将这个例子整理出来,希望能够提供一些参考。

手边没有生成pdf的工具,也就用XML Publisher代劳了:)

概要:

本文通过一个例子,展示怎样在EBS使用XMLP输出报表,并在报表中输出存
储在数据库Blob字段中的图片。
下面将整个开发的过程简略描述一下, EBS 版本为11.5.10.2。
1) 建立数据表。
2) 载入数据。
3) 编写数据编码的函数。
4) 编写报表。
5) 注册并发请求。
6) 运行并发请求,得到用于开发的临时XML数据文件。
7) 开发模板文件。
8) 注册XMLP的数据和模板文件。
9) 运行检查结果。





__________________
只看该作者    顶部
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-17 12:02 
文件附件:

开始的那个附件中漏掉一步,现在添加补充完整了。同时添加了注册xml 模板和数据的拷屏,欢迎大家提供宝贵意见




adian 上传了这个附件:
2007-7-19 23:10
  下载次数: 364
publish image with xml publisher in ebs.pdf (377.15 KB)
 
__________________
只看该作者    顶部
离线 arsenefang
OracleEBS打雜工



来自 上海
精华贴数 1
个人空间 0
技术积分 1433 (1120)
社区积分 3 (19429)
注册日期 2004-6-8
论坛徽章:2
授权会员2008年新春纪念徽章    
      

发表于 2007-7-17 14:30 
謝謝分享~~


只看该作者    顶部
离线 chirsdong
风行无迹


精华贴数 3
个人空间 0
技术积分 5178 (238)
社区积分 1526 (659)
注册日期 2004-8-6
论坛徽章:18
紫蜘蛛2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:铁人三项
2008北京奥运纪念徽章:排球2008年新春纪念徽章生肖徽章:猴   

发表于 2007-7-17 18:16 
Re: 一个例子:在EBS通过XML Publisher输出存储在Blob的图片



QUOTE:
最初由 adian 发布
上网找了一些资料,看了itpub的一些帖子,现在将这个例子整理出来,希望能够提供一些参考。

手边没有生成pdf的工具,也就用XML Publisher代劳了:)



好东西。。如果可执行。本文该受精。


__________________
见贤思齐
   
We learn from yesterday,live for today and hope for tomorrow!
      
守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正直公平挨饿。修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙!
         
岁月本长,而忙者自促,天地本宽,而卑者自隘。风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安。
            
http://www.mynon.cn/flash/pet/fish.swf
只看该作者    顶部
离线 chirsdong
风行无迹


精华贴数 3
个人空间 0
技术积分 5178 (238)
社区积分 1526 (659)
注册日期 2004-8-6
论坛徽章:18
紫蜘蛛2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:铁人三项
2008北京奥运纪念徽章:排球2008年新春纪念徽章生肖徽章:猴   

发表于 2007-7-17 18:22 
Re: 一个例子:在EBS通过XML Publisher输出存储在Blob的图片



QUOTE:
最初由 adian 发布
上网找了一些资料,看了itpub的一些帖子,现在将这个例子整理出来,希望能够提供一些参考。

手边没有生成pdf的工具,也就用XML Publisher代劳了:)



一个问题。这个函数李用到了Wf_Mail_Util.EncodeBLOB,这里的作用是什么呢?:
PHP code:


CREATE 
OR REPLACE FUNCTION mob_getbase64StringP_blob BLOB )

RETURN 
CLOB

IS

l_result CLOB
;

BEGIN

DBMS_LOB
.createtemporary(lob_loc => l_resultCACHE => FALSEdur => 0);

Wf_Mail_Util.EncodeBLOB P_blob

l_result );   <font color="red">这句话的目的是什么的?[/COLOR

RETURN ( 
l_result );

END mob_getbase64String;

谢谢。


__________________
见贤思齐
   
We learn from yesterday,live for today and hope for tomorrow!
      
守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正直公平挨饿。修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙!
         
岁月本长,而忙者自促,天地本宽,而卑者自隘。风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安。
            
http://www.mynon.cn/flash/pet/fish.swf
只看该作者    顶部
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-17 22:51 
Re: Re: 一个例子:在EBS通过XML Publisher输出存储在Blob的图片

希望啊,混迹ITPUB这么多年,一个精华都没有呢.....

QUOTE:
最初由 chirsdong 发布



好东西。。如果可执行。本文该受精。





__________________
只看该作者    顶部
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-17 23:15 
Re: Re: 一个例子:在EBS通过XML Publisher输出存储在Blob的图片

是将blob转换成clob的函数,如果数据库上没有Wf_Mail_Util这个包,用如下的过程试一下,我将其从Wf_Mail_Util剥离出来,先创建这个过程,
PHP code:


-- EncodeBLOB

--   Receives a BLOB input and encodes it to Base64 CLOB

-- IN

--   BLOB data

-- OUT

--   CLOB data





CREATE 
OR REPLACE PROCEDURE EncodeBLOB(pIDoc  in     blob,

                     
pODoc  in out nocopy clob)

is

   rawData raw
(32767);

   
chunksize integer;

   
amount binary_integer := 32767;

   
position integer := 1;

   
base64raw RAW(32767);

   
chunkcount binary_integer := 0;

   
cBuffer varchar2(32000);

   
lang varchar2(50) := userenv('LANGUAGE');

begin

   chunksize 
:= 12288;

   
amount := dbms_lob.getLength(pIDoc);

   if(
chunksize amountthen

      chunkcount 
:= round((amount chunksize)+0.5);

   else

      
chunkCount := 1;

   
end if;



   for 
i in 1..chunkcount loop

      dbms_lob
.read(pIDocchunksizepositionrawData);

      
base64raw := utl_encode.base64_encode(rawData);

      
cBuffer := utl_raw.cast_to_varchar2(base64Raw);

      
dbms_lob.writeAppend(pODoclength(cBuffer), cBuffer);

      
position := position chunksize;

   
end loop;

   

       

   
dbms_lob.WriteAppend(pODoc1convert(chr(10),substr(langinstr(lang,'.') + 1), 'US7ASCII'));



exception

   when others then

      null
;

      --
wf_core.context('WF_MAIL_UTIL''EncodeBLOB');

      
raise;

end EncodeBLOB;

/

再创建
PHP code:


CREATE 
OR REPLACE FUNCTION mob_getbase64StringP_blob BLOB )

RETURN 
CLOB

IS

l_result CLOB
;

BEGIN

DBMS_LOB
.createtemporary(lob_loc => l_resultCACHE => FALSEdur => 0);

EncodeBLOB P_blob

l_result

);

RETURN ( 
l_result );

END mob_getbase64String;

/



QUOTE:
最初由 chirsdong 发布



一个问题。这个函数李用到了Wf_Mail_Util.EncodeBLOB,这里的作用是什么呢?:
PHP code:


CREATE 
OR REPLACE FUNCTION mob_getbase64StringP_blob BLOB )

RETURN 
CLOB

IS

l_result CLOB
;

BEGIN

DBMS_LOB
.createtemporary(lob_loc => l_resultCACHE => FALSEdur => 0);

Wf_Mail_Util.EncodeBLOB P_blob

l_result );   <font color="red">这句话的目的是什么的?[/COLOR

RETURN ( 
l_result );

END mob_getbase64String;

谢谢。





__________________
只看该作者    顶部
离线 chirsdong
风行无迹


精华贴数 3
个人空间 0
技术积分 5178 (238)
社区积分 1526 (659)
注册日期 2004-8-6
论坛徽章:18
紫蜘蛛2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:铁人三项
2008北京奥运纪念徽章:排球2008年新春纪念徽章生肖徽章:猴   

发表于 2007-7-19 11:53 
最近忙,这个帖子居然沉了。。

帮顶,现在没有时间测试。

如果可行,这应该可以解决置顶帖子里的那个问题。


__________________
见贤思齐
   
We learn from yesterday,live for today and hope for tomorrow!
      
守法朝朝忧闷,强梁夜夜欢歌,损人利己骑马骡,正直公平挨饿。修桥补路瞎眼,杀人放火儿多,我到西天问我佛,佛说:我也没辙!
         
岁月本长,而忙者自促,天地本宽,而卑者自隘。风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安。
            
http://www.mynon.cn/flash/pet/fish.swf
只看该作者    顶部
离线 adian
中级会员


精华贴数 1
个人空间 0
技术积分 828 (2170)
社区积分 3 (19488)
注册日期 2004-7-24
论坛徽章:2
2008年新春纪念徽章ITPUB新首页上线纪念徽章    
      

发表于 2007-7-19 23:13 
是啊,第一次写文档,水平有限,有问题大家给建议,支持一把啥


__________________
只看该作者    顶部
离线 Harry_shan
跟着ORACLE走


精华贴数 11
个人空间 0
技术积分 19830 (44)
社区积分 6509 (212)
注册日期 2003-2-28
论坛徽章:60
现任管理团队成员2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:沙滩排球2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:举重
2008北京奥运纪念徽章:花样游泳2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:赛艇2008北京奥运纪念徽章:艺术体操2008北京奥运纪念徽章:现代五项生肖徽章2007版:牛

发表于 2007-7-23 15:11 
感谢楼主提供!


__________________
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问