• 博客访问: 26042
  • 博文数量: 30
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-17 18:25
个人简介

暂无介绍

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(30)

文章存档

2010年(2)

2008年(28)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: IT生活

一些简单的6iReports注意点

我的其他帖子总链接:
http://www.itpub.net/442423.html

下面是早些时候写的,内容都是我“师傅”教的;更高级的报表相关技术问题最近正在整理,不日将和大家分享。

向系统注册报表的时候,参数是无法根据顺序自动对应,需要我 们指定Token,即报表的参数名称;而对于Procudure是可以根据位置自动对应的,即使定义的参数名称和Procedure参数名称不 一样。这个可以这样理解,Procudure的参数是明确的,参数有多少个、顺序如何是由Procedure明确定义的;而对于报表来说 ,参数非常多,如果传了某个参数,就用该参数,否则Report用本身的默认值,没有顺序和个数的强制要求;另外procedure有 且只有两个out put(return_code说明:0/success,1/warning ,2/error)参数,其他的in参数可以自动根据顺序对应

定义executable,相当于开发人员告诉系统管理员有这个功能可 以用,这个和定义form是一样的;注意report名字不用rtf后缀 ,procedure的格式为“包名.procedure”;上传到服务器的报表 后缀要小写,不然会报找不到文件

输出到log用fnd_file.put_line(fnd_file.log,msg),输出到 out put用fnd_file.put_line(fnd_file.output,msg)

定义Program的时候,日期值集要用fnd_standard_date;对应的,在Procedure和Report里面用Varchar2,然后自己转换,示例 代码如下l_end_date := trunc(to_date( p_end_date,'YYYY/MM/DD HH24:MI:SS')) + 1 - 1/(24 * 3600 );对于数据库中的日期字段,尤其是Transaction Date,不要用 trunc,这样会导致无法使用该日期的索引,一般是对参数进行必要的处理,如上述的加1天减1秒

定义Table类型的值集的时候,有三个字段其中value和Id都为值 ,Id的优先级高于Value,但一般我们只定义Value

关联子集定义的语法为where field_name = $FLEX$. value_set_name;当然要求两个子集都在参数里面

注意父Field不要紧贴Child Group的循环框,否则该父Field会 显示在Child Group的循环框内部。我在字符模式下做Summary域 ,它紧靠Child Group的最下面边框,最后该Summary域就显示在 Child Group里面,覆盖Child Group的内容。如果出现错位情况 ,可以加一个框套住Father域

1 inch = 72 points;设计字符模式的报表,假如设置了width 为x,Character Mode Report Width为y,那么,x * 72 / y最 好为整数,这只是我个人的感觉。比如A4横向,x为11,y为132 ;Height的设置也需要符合这个要求。

为方便字符模式报表元素真正对齐到网格snap to grid,可以在 rulers中把grid spacing、number of snap points per grid spacing都设为1,这个很重要,可以省去我们无谓的对齐工作量。不管怎么设,必须在开始设计layout之前设置;如果在设计 layout之后更改,会造成已经做好的Field没有对齐到网格。

Oracle默认没有进行Application用户初始化,所以没有环境变量,需要建一个用户参数 P_CONC_REQUEST_ID/Number/20,在Before Report触发器里加 SRW.USER_EXIT('FND SRWINIT');,在After Report触发器里加 SRW.USER_EXIT('FND SRWEXIT');

帐户范围值集参考GL_SRS_LEDGER_FLEXFIELD

[@more@]
阅读(972) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册