[置顶] EBS报表输出图片


步骤:
1)建立数据表
2)载入数据
3)编写数据编码函数
4)编写报表
5)注册并发请求
6)运行并发请求,得到用于开发的xml数据文件
7)开发模板文件
8)注册数据源和模板
9)运行

1、建立数据表
     建立数据表包含两列image_id 类型:NUMBER和image_blob 类型:BLOB

2、载入数据
     双击blob字段可以很方便的将本地文件存入blob字段

3、编写数据编码函数
     函数将blob字段的内容用解码输出成字符(不这样处理报表文件本鞥通过网页打开,也不能正常保存成xml数据文件)
     CREATE OR REPLACE Function Cux_Mob_Getbase64string(p_Blob Blob ) Return Clob Is
  l_Result Clob;
Begin
  Dbms_Lob.Createtemporary(Lob_Loc => l_Result, Cache => False, Dur => 0);
  Wf_Mail_Util.Encodeblob(p_Blob, l_Result);
  Return(l_Result);
End Cux_Mob_Getbase64string;

4、编写报表
   sql如下:
select image_id,cux_mob_getbase64string(iamge_blob) iamge_blob
  from xxx_xxx_xxx

5、模板中需要显示的项上协商如下值:
<fo:instream-foreign-object content-type="image/jpg"><xsl:value-of  select=" APPROVED_BY1"/>
</fo:instream-foreign-object>

6、 注意一定要将图片的显示放在循环中,不然后报错,同时图片的xml标记中不能为空,为空也报一样的错

7、为空时的转换判断:
加载项——插入——条件区域

<?if:APPROVED_BY1!=''?> 
--判断APPROVED_BY1标签是否为空

你可能感兴趣的:(图片,报表,ebs)