OracleEBS-报表开发工具之闲碎

OracleEBS-报表开发工具之闲碎
OracleEBS-报表开发工具之闲碎

ORACLE EBS

—报表开发工具之闲碎

Author:Jarwang(王重东)

Create Date:January10,2011

Create Location:BeiJing

Update Date:

Control No:

Current Edition: 1.0

声明:本文可以任意免费转载、复制、传播。但您务必保持其完整性!If you copy this document,you ought to keep the document completely.

Document Control

Modify Record

日期作者版本更改参考

January10,2010jarwang 1.0

Approved

姓名职位签字

Distribute

编码姓名地点和位置

1

2

3

4

Content

Document Control2

Modify Record2

Approved2

Content3

Preface5

Report Builder6

Download6

Installation6

Development6

Report入门例子6

Report页面设置10

数据模型、固定框、循环框10

实现记录汇总行动态伸缩12

Report多数据源12

查询视图无数据12

Report数据域13

Report汇总项13

Report动态条件查询14

矩阵报表14

Report编译出错14 Discoverer16

Download16

Installation16

Discoverer for web16

Discoverer for Desktop16

Development17

Discoverer快速入门示例17

Discoverer工作表数值型显示21

通过工作簿找到对应的Discoverer职责21

Discoverer JOIN之使用22

Discoverer数值型无法正确显示23

Discoverer上钻/下钻24

Discoverer分类汇总求AP供应商余额27 Oracle HTMLReport29

Configuration29

Development29

Create the Package29

Create the Concurrent request31

Run the Concurrent request32 Oracle WEB PL/SQL Report33

Installation Error!Bookmark not defined.

Development33

XML Publisher34

Foundation34

Download35

Installation35

Development36

XML Publishier for Invoice36

Create the Concurrent request42

Deploy XML Publisher43 Oracle DBI46

Installation46 Configuration46 DBI之报表开发48 DBI维度报表开发52 Oracle BIEE工具59

Download59 BIEE工具之体念59 BI Publisher工具之体念60 GL FSG63 Download Error!Bookmark not defined. Other Notes64

Preface

Oracle EBS的报表工具,相对于Oracle Form、Oracle OAF界面开发工具而言,可谓五花八门。

Tools Purpose

Oracle Report Builder Oracle的最初报表工具。即使是R12,在打印凭证之类报表时,仍是首选。Oracle Discoverer Oracle最初的BI分析工具,现在的版本为Discoverer10g。

Oracle WEB ADI严格上来说并不是报表工具,只是与Excel高度集中。也可用于报表开发。Oracle HTML报表通过调用EBS内置fnd_file函数编写HTML报表。

Oracle WEB PL/SQL报表

通过调用Oracle内置htp函数编写HTML报表。

Oracle Daily BI Oracle EBS内置的BI分析工具。

Oracle XML Publisher号称是Report Builder替代产品。

Oracle BI Publishier Oracle XML Publishier升级版。

Oracle BIEE Oracle BI最新套件。

Report Builder

Oracle的东西总是要“标新立异”,report也不列外,非得搞个什么循环框、固定框之类专有概

念。外面大多数报表工具,如crystal report、Java Birt、VB ActiveReport等报表工具,其基本

概念是一致的。而Oracle Report就不一样了。什么循环框、固定框,不就是几group么?好像换

个概念,技术含量就比较高似得?还有Report的撤销重做功能,居然只能有一次。Faint! Download

Installation

Development

Report入门例子

1、新建报表

设置布局的尺寸

2、创建SQL语句数据源

点击Layout Model,创建SQL数据源

点击OK按钮

3、切换到Layout Model

添加一个固定框

修改固定框的背景色

4、在固定框中添加一个循环框。

指定循环框的的数据来源

5、在循环框上方再添加一个固定框,用于展现报表的题头。

修改固定框属性

6、在循环框上方再添加一个固定框,用于展现报表的列标题。

修改固定框属性

7、在循环框内添加数据域

调整后的布局

运行结果

8、在循环框、固定框添加划线。

运行结果

9、查看REPORT的页边距设置

Report页面设置

数据模型、固定框、循环框

1.0数据模型与循环框的层次

1.1布局原则

一般布局方法是先画固定框,然后在其内套入:1.表头固定框,2.表数据源循环框。

最外层的固定框属性设置:

注:最外层固定框的“打印对象在”必须设置为“第一页”。

表头固定框属性设置:

注:表头的“打印对象在”必须设置为“全部页”。

表数据源属性设置:

1.2实现自动分页。

当记录总数不只一页时,要实现自动分页,必须将最外层的固定框或循环框“打印对象在”设置为“第一页”。

实现记录汇总行动态伸缩

效果:固定框会紧接着循环框的位置。

Report多数据源

Report的数据源来源多条SQL语句,SQL语句之间实现条件关联。

查询视图无数据

如果确认SQL语句确有数据,则有可能是OU的设置的问题。

在报表的Before Parameter Form触发器加入初始化条件。

function BeforePForm return boolean is

begin

APPS.FND_GLOBAL.apps_initialize(

user_id=>APPS.FND_https://www.360docs.net/doc/0e18139303.html,er_id,

resp_id=>APPS.FND_GLOBAL.resp_id,

resp_appl_id=>APPS.FND_GLOBAL.resp_appl_id

);

return(TRUE);

end;

Report数据域

Oracle Report引用数据模型的数据源,有二种方式。

1.较常规的做法。直接使用工具栏上的“域”标签,然后设置相应数据源

2.使用“文本”标签,然后用“&”进行引用。

3.在PL/SQL中引用报表域文本的值,只需在PL/SQL直接引用域对应源字段名称即可(无须加组名)。

Report汇总项

Report的汇总项比较灵活,在不同的组其汇总规则是可以多变的。这也会隐藏一些不易发现的问题。

比如,下面这个数据源分为三个组。

这个数据源大量使用了汇总项,但汇总项的默认汇总规则是基于整个数据源的,也是就说汇总项是基于整个REPORT的。如图所示:

这也是会造成错误的原因,因为我们在使用汇总项,会自以认为REPROT会帮我们处理好这个汇总规则。可事实却相反。这个汇总项的“重设于”属性就是汇总规则。显然处于分组的汇总“重设于”应该基于相应的组。

Report动态条件查询

如果一条SQL的查询条件是动态的,SQL语句本身是无法做到这个功能。在JAVA中常见的做法进行这字符串拼接来达到这一功能。在Report也差不多,在触发器事件中进行字符串拼接。

增加一个报表用户参数p_batch_id_char、p_batch_id_temp

在报表After Parameter Form触发器,加入字符串拼接条件

function AfterPForm return boolean is

begin

if nvl(:p_batch_id_char,'A')='A'then–通过条件,来进行字符串拼接。

:p_batch_id_temp:='and1=1';

else

:p_batch_id_temp:='and to_char(m.fee_batch_id)in('||:p_batch_id_char||')';

end if;

return(TRUE);

end;

在数据模型的SQL语句中加入刚才拼接的字符串。

Select*from table_name where&p_batch_id_temp

注:是用“&”,不是PL/SQL中的“||”。

矩阵报表

矩阵报表,不要被Oracle的概念给忽悠了。其实就是crystalreport中是交叉报表。

Report编译出错

错误1:在本机上可以执行成功,但上传在EBS服务器时,执行报表请求时报错。

错误提示:

Spawned Process15601

REP-0736:此处存在未编译的程序单元.

REP-1247:报表包含未编译的PL/SQL.

原因分析:很有可能是程序包、视图、表等对象,没有授权或是失效了。

解决:授权REPORT中所有到的程序包、视图、表等对象

错误2:在本机上可以执行成功,但上传在EBS服务器时,执行报表请求报错。

错误提示:

Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are: SIMPLIFIED CHINESE_CHINA.ZHS16GBK

'.,'

REP-3000:启动Oracle Toolkit时发生内部错误.

REP-3000:启动Oracle Toolkit时发生内部错误.

解决:

以图形界面登陆EBS服务器,进入$COMMON_TOP/admin/scripts/

关闭report服务器

#sh adrepctl.sh stop

设置DISPLAY

#hostname

#xdpyinfo-display=hostname:0.0;export DISPLAY

切至root用户,执行

#xhost+

检查配置是否正确

#xdpyinfo–display

切至EBS用户,启动report服务器

#sh adrepctl.sh start

Discoverer

刚接触Discoverer时,首先就想到了Excel的数据透视表,这两个工具所实现的功能太象了。这

也是为什么Discovere被财务人员所亲赖的。因为ERP不管怎么深入应用,涉及到最终的财务数

据,还是离不开EXCEL的。Discoverer分成两个部分,一个是Administration Edition,主要是

开发人员用来写SQL语句的。另一个是Desktop Edition,主要终端用户在使用。

Download

首先,得确认EBS11i所对应XML Publishier的版本。

SELECT DECODE(bug_number

,'3554613','4.5.0','3263588','XDO.H','3822219','5.0.0'

,'4236958','5.0.1','4206181','5.5.0','4561451','5.6.0'

,'4905678','5.6.1','5097966','5.6.2','5472959','5.6.3'

)PATCH,bug_number

FROM ad_bugs

WHERE bug_number IN

('3554613','3263588','3822219','4236958','4206181'

,'4561451','4905678','5097966','5472959');

如果是EBS R12,查询对应的XML Publishier的版本。

SELECT DECODE(bug_number,'4440000','5.6.3')PATCH,bug_number

FROM ad_bugs

WHERE bug_number IN('4440000');

或者上Metalink查找“How to Determine the Version of Oracle XML Publisher for Oracle

E-Business Suite11i and Release12”

Installation

Discoverer for web

在EBS11.5.10中,Discoverer可分成二种实现方式:

1.基于客户端的Discoverer方式,此方式也是常用的方式。本文也是基于此方式。

2.基于浏览器的Web Discoverer方式。

http://***.com:8000//discoverer4i/viewer

Discoverer for Desktop

1、Discoverver安装最好不要与FORM、REPORT安装在同一目录。所以安装DISCOVERER时,

先备份注册表。然后将“HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE”项删除,再选

择不同的目录进行安装DISCOVERER。2、安装完成后,要先设置一下连接方式,这样才可以使

用EBS用户连接到Discoverer服务器。

操作路径:Tools=>Options

3、打开Discoverer连接时,选择“Oracle Application User”.

首次连接DISCOVERER时,会提示创建EUL(End User Layers)。

Development

Discoverer快速入门示例

创建一个Business Area。

选择用户,EBS开发一般选择APPS。

选择数据库对象,这一步很奇怪。一定要选择一个表或视图之类的对象,否则过不去。

设置参数,一般使用默认的即可。

命名AREA。

为了练习,删除刚才自动创建的FOLDER,并手工创建一个FOLDER。

7、最终效果如下:

注:Discoverer中Business Area就类似于Scheme,Folder类似于表或视图,Item类似与Collumn

授权分为AREA授权、工作簿授权两种方式。

8.1AREA授权。随便说一下,如果用户没有EBS任何职责权限,那么DISCOVERE DESKTOP也

连接不了ERP。所以要EBS用户至少要拥有一上职责,才能进行DISCOVERER ADMIN授权。

8.2DISCOVERER DESKTOP工作簿共享

9、使用Discoverer Desktop登陆。登陆后,创建一个新的工作簿。

类excel报表开发工具FineReport教程之表单设计

类excel报表开发工具FineReport教程之表单设计1.描述 不同于普通报表设计,表单设计拥有很多普通报表设计无法企及的优势,如下: 整体性:普通报表是一个整体,无法实现局部刷新,表单是由各个组件组件,可以实现组件内刷新,即局部刷新; 自适应:普通报表无法实现自适应,表单可以完美的实现自适应,更好的支持移动端的使用; 控件:普通报表实现参数查询,只能将控件添加到参数面板中,表单不仅可以在参数面板中添加控件,同时还可以单独使用控件,实现数据的过滤; 联动:普通报表中单元格或图表无法直接与单元格实现联动,表单却可以实现报表块或图表块与报表块的联动。 2.表单界面 打开设计器,点击文件>新建表单,即可新建一张表单,如下图:

表单各组件介绍请查看表单组件介绍。 3.表单设计步骤 如下图,表单设计的一般操作步骤: 新建表单:FineReport支持新建工作薄,即普通cpt模板,还支持新建表单,两种设计模式; 拖入组件:FineReport表单支持多种不同的组件类型,包括报表、参数、图表和控件,后续详细介绍;

定义数据集:定义各个组件数据来源,与普通模板的数据来源一样,图表组件数据即可来源于数据集,也可来源于单元格 设置表单样式:即设置表单的显示样式,详细请查看表单样式 表单组件介绍 1.描述 从上一节的表单设计整体界面可以看出,FineReport的表单设计组件由4部分组成:报表、参数、图表和控件,下面我们一一介绍各个组件的使用方法。 1.1报表 报表块组件,可在该组件中绑定单元格数据,以表格的形式在组件范围内显示数据,报表块的具体设置模板与cpt模板一致,cpt模板的制作请参照报表,并且报表块中的数据可作为图表块的数据源。 1.2参数 参数面板是指,为表单添加过滤参数面板,所有过滤控件全部添加在该面板上,也可以理解为参数面板时为了承载参数控件而存在的,其制作方式与参数查询类似。 1.3图表块 图表块是指,可在该组件中选择任意FineReport支持的图表类型,图表块中所有图表的使用与统计图表的制作一致。 1.4控件

报表开发工具FineReport上报模板设计

上报模板设计 由多级上报示例中的流程图可以看出,销售额的录入需要经过销售人员录入基础数据,销售总监审核数据,总领导查看数据,其中销售人员录入数据,那么该模板只能显示该销售员的上期录入数据,以及该期数据;销售总监审核数据则需要看到所有销售人员的数据,而总领导查看数据,则需要另外一张模板,在销售数据的基础上进行图表分析。 1. 模板制作 1.1 sale.cpt 销售人员录入数据,首先我们我们来制作这张模板。 ?模板数据 新建模板数据集ds1:SELECT * FROM [up] ds2:SELECT * FROM [销量] ?报表样式 ?数据过滤 从上图可以看出,销售人员录入当月数据的同时,需要查看上月销量数据,故C5和C6单元格的公式分别为year(today()) + "-" + (month(today()) - 1)和year(today()) + "-" + (month(today())),同时对D5和D6的单元格进行过滤,使之只显示相应月份相应销售人员的数据,如下,D5单元格的过滤条件:

D6单元格的过滤条件类似。 模板里面的各项制作这里就不再一一赘述,可自行查看模板%FR_HOME%\WebReport\WEB-INF\reportlets\demo\Datareport\sale.cpt。 ?多级上报参数使用 FineReport为多级上报提供了四个参数$fr_task_id、$fr_task_name、$fr_task_state和$fr_task_sender,可直接调用。其中fr_task_id和fr_task_name是指获取上报任务id和名称,fr_task_sender是指当前操作节点的上一个节点的操作人,fr_task_state是指获取当前任务流转所处状态,如下列表: fr_task_state=-1是指异常情况; fr_task_state=0是指等待上报; fr_task_state=1是指等待审核; fr_task_state=2是指审核通过; fr_task_state=3是指被退回; fr_task_state=4是指已关闭; fr_task_state=5是指超时。 fr_task_state其具体使用情况请查看进行多级上报。 fr_task_sender的具体使用情况请查看联合填报上报。 1.2 Audit.cpt 销售总监审核数据,可以看到所有销售人员的当期数据。 ?模板数据 新建模板数据集ds1:SELECT https://www.360docs.net/doc/0e18139303.html,er,name,area,up.* FROM up,user where up.销售员=https://www.360docs.net/doc/0e18139303.html,er and 月份='${month}',参数默认值为为当前月份:year(today()) + "-" + (month(today()))。

报表开发工具Finereport动态图表

动态图表 与静态图表不同,动态图表的核心在于数据和图表类型可随条件的不同即时展现,即除了能展现一般的静态图表内容之外,动态图表还有很好的交互性。动态图表实现原理与动态报表类似,是基于参数传递或数据过滤实现的,本文介绍的是基于数据参数传递原理的动态图表。 动态图表数据 用户希望根据条件的不同,显示的图表不同,这是动态图表产生的最初推动力。如下图,选择年份与月份条件,图表中显示满足条件的数据,从而实现动态图表: 实现思路 根据参数条件动态改变图表的数据来源: 若图表数据来源于数据集,那么可以通过数据源参数来动态改变图表的数据; 若图表数据来源于单元格,那么可以通过报表参数,并设置过滤来改变图表的数据,该节就以此为例。 示例 1 准备数据

新建工作薄,添加数据集ds1,SQL语句为SELECT Year(订购日期)as 年, month(订购日期)as 月, 货主省份, 应付金额FROM [订单] 。 2 定义参数 我们根据选择的年份与月份来动态改变图表,定义3个报表参数: 报表参数Year:年份,默认值为2010; 报表参数Start:起始月份,默认值为1; 报表参数End:结束月份,默认值为6。 参数界面设计如下: 3 表样制作 在单元格中统计出各省某年若干月的销售额情况并汇总,如下图: 数据列设置如下: 单元格数据集数据列属性 A3 ds1 货主省份设置过滤条件:年等于$Year B3 ds1 年默认 C2 ds1 月从左到右扩展,设置过滤条件:月大于或等于$Start and 月小于或等于$End C3 ds1 应付金额汇总-求和 根据参数值的不同,单元格中统计出来的数据不同,以单元格作为数据来源,图表显示的数据也不同,从而实现动态图表。 4 插入图表 合并一片单元格如上图,右击单元格元素>插入图表,选择柱形图,点击确定。 5 图表类型设置

OracleEBS-报表开发工具之闲碎

ORACLE EBS —报表开发工具之闲碎 Author:Jarwang(王重东) Create Date:January10,2011 Create Location:BeiJing Update Date: Control No: Current Edition: 1.0 声明:本文可以任意免费转载、复制、传播。但您务必保持其完整性!If you copy this document,you ought to keep the document completely.

Document Control Modify Record 日期作者版本更改参考 January10,2010jarwang 1.0 Approved 姓名职位签字 Distribute 编码姓名地点和位置 1 2 3 4

Content Document Control2 Modify Record2 Approved2 Content3 Preface5 Report Builder6 Download6 Installation6 Development6 Report入门例子6 Report页面设置10 数据模型、固定框、循环框10 实现记录汇总行动态伸缩12 Report多数据源12 查询视图无数据12 Report数据域13 Report汇总项13 Report动态条件查询14 矩阵报表14 Report编译出错14 Discoverer16 Download16 Installation16 Discoverer for web16 Discoverer for Desktop16 Development17 Discoverer快速入门示例17 Discoverer工作表数值型显示21 通过工作簿找到对应的Discoverer职责21 Discoverer JOIN之使用22 Discoverer数值型无法正确显示23 Discoverer上钻/下钻24 Discoverer分类汇总求AP供应商余额27 Oracle HTMLReport29 Configuration29 Development29 Create the Package29 Create the Concurrent request31 Run the Concurrent request32 Oracle WEB PL/SQL Report33 Installation Error!Bookmark not defined. Development33 XML Publisher34 Foundation34 Download35 Installation35 Development36 XML Publishier for Invoice36 Create the Concurrent request42 Deploy XML Publisher43 Oracle DBI46

常用报表工具对比

常用报表工具对比 目前市场上主流的报表工具有,IBM公司的Cognos、SAP公司的BO、润乾公司的润乾报表等等。 1、Cognos Cognos公司的产品是由一系列的功能模块组合而成的套件,包括如下一些模块: Powerplay Enterprise Server——是PowerPlay企业级的服务器。由应用服务器和Web 服务器组成。可在Internet、广域网和局域网上发布Cubes并作为在线分析运行平台。 Impromptu Web Report—— WEB界面的报表制作和发布的专业平台。 Scenario ——系统提供的ETL工具。 4Thought——建模与预测模块,采用神经网络技术。 Impromptu——是企业级、交互式数据库查询和报表生成工具,提供查询、报表功能,针对关系型数据。 Powerplay——提供OLAP分析功能,针对多维数据PowerCube(Cognos的多维数据结构)。在Powerplay中可以钻取到Impromptu中。这是Cognos公司的集成平台。 Transformer——是一个OLAP服务器。主要用来创建模型,帮助你组织数据,将不同数据源的数据整合到PowerCube当中,形成多维数据源。 Cognos Upfont ——网络集成的门户 Upfont Access ——负责权限的设置与验证

2、BO BusinessObjects Explorer Reporter 查看、刷新、计划、分发和打印全客户文档,创建新查询和文档,OLAP 的旋转和切片以及钻取功能。 Designer 允许universe 设计者创建、管理和分发universes. universe 用日常商业商业术语代表数据结构,属于语义层 Supervisor 允许管理员进行权限管理 BusinessQuery Excel 加载项,使用BusinessObjects universe, 支持关系型和多维数据库(OLAP) BusinessMiner 发现并处理数据中的隐含关系 企业级服务器产品包括: Infoview WebIntelligence (Reporter 和Explorer) 是BusinessObjects 基于WEB的决策支持系统。Broadcast Agent 制定自动发布文档的定时机制。

好用的11款开源报表工具推荐

好用的11款开源报表工具推荐 开源报表工具,即开放源代码的报表软件,开源就是要用户利用源代码在其基础上修改和学习的。它的好处多多:成本低,满足基本报表需求,有专门的讨论区可以解决用户问题……同时,缺点也很明显:无法满足复杂的报表需求,bug 不能及时解决,更新速度慢。无论是选择开源报表工具还是购买商业报表,都要按需选择。本文就来推荐一些好用的开源报表工具和免费报表工具。 1.JasperReports JasperReports是一个基于Java的开源报表工具,是当今Java开发人员最常用的报表工具。其报表分析功能可以嵌入web和移动应用程序,支持PDF、HTML、XLS、CSV和XML文件输出格式。其开源软件还可以管理其付费的商业智能报表分析平台。 2.BIRT(百灵报表) BIRT是为web应用程序开发的基于eclipse的开源报表系统。它自带报表设计器,可视化操作;报表引擎基于OSGI框架,易于扩展和集成,并且可以轻松地与主流web应用服务器(如Tomcat、Websphere、Weblogic、JBoss)集成。提供开放的API和辅助开发功能;支持多维数据表。 3.Pentaho Reporting Pentaho Reporting软件平台集成了许多开源报表工具,允许用户创建PDF、Excel、HTML等多种形式的数据报表,支持多数据源。它注重数据处理层,有各种数据显示方法,甚至RSS输出。它的架构非常类似于spagoBI,但pentaho喜欢将自己的东西称为一个解决方案。 4.ExcelReport ExcelReport是一款基于NPOI开发的报表引擎组件。NPOI是一个开源的C#,让你不需要在服务器上安装微软的Office,就可以读写Excel、WORD等微软OLE2组件文档的项目。ExcelReport结合NPOI进行数据处理的优点,进一步简化了生成Excel报表的过程。 5.Superset Superset 是Airbnb的开源数据可视化工具,主要面向数据分析师,用于数据可视化。可视化效果非常好,github上的评论数量远远超过了其他可视化工具。缺点是不能快速复制图表,得从SQL层面再走一遍。而且当前的权限设置比较复杂,也不是很好用。 6.Davinci Davinci是宜信开发的开源BI软件,面向业务人员/数据工程师/数据分析师/数据科学家,也是Java系;功能比较全面,但在中国并没有得到广泛的应用。 7.Seal Report Seal Report开源软件平台可以创建以数据库为数据来源的报表及仪表盘,它的特点包括在HTML5,微软报表格式, Web报表服务器及动态SQL中创建源生的pivot 图表。 8.UReport2 UReport2是一个基于Spring的高性能的纯Java报表引擎。迭代单元格可用于实现任意复杂的中国式报表。它可以运行在各种主流浏览器,如Chrome, Firefox, Edge (IE浏览器除外),打开浏览器来完成报表的设计。 9.Spagobi

SAP报表编辑器(Report Painter)

SAP报表编辑器->Report Painter Concept of Report Painter->概念 这里所指的Report Painter是SAP ECC产品中的一个报表开发工具,中文名为报表绘制器。经常与Report Painter一同提出的Report Writer是其前身,原应用于SAP R/3产品中,后升级为Report Painter。 Application Scope for Report Painter->适用范围 主要用于财务模块(FICO Module)报表的开发,也可用于少量SD/MM/PP模块的主数据类报表的开发。使用该工具开发报表,每次需基于系统已有的一个数据库表,因此开发出的报表数据是在一个模块内的,如可开发资产负债表、费用明细报表。 Features of Report Painter->特点 ?不需要编程,报表取数逻辑简单,工具使用技巧易于掌握,适用于SAP模块顾问,特别是财务顾问使用。 ?取数来源明确。用于取数的数据库表是已知的。下表为可用于报表开发的数据库表: ?

?有专业知识要求。对于主要的应用,财务报表的开发,如开发资产负债表,需具备会计知识的同时需结合企业的会计科目设置情况,进行报表开发。 Major Element of Report Painter->主要元素 ?报表(Tcode:GRR1~GRR3/GR34),即开发的对象,主要开发工作在这里完成,如报表行、列各栏位的内容、取数,报表格式等。 ?方式(Tcode: GRR4~GRR6),分别定制报表行和列的栏位内容、格式等。 ?实用程序,分为目录和传送两部分: 目录(Tcode:GR3L/GR5L),可通过报表或报表组运行开发的报表; 传送(Tcode:GR37/GR57/GRR7…),主要是对开发的报表按照报表组、报表、模块的方式将开发技术数据从系统导出或者导入,实现报表不同client间的传输。 ?报表编写器,是Report Painter的主要内容,包括集、变量、指标、标准格式、库、报表、报告组。 集(Tcode:GS01~GS04),以数据库表的一个字段为基础,可设置层级、引用变量,作为报表直接取数的一个来源。通常一个集指代数据表的一个纬度,可自 定义。 变量(Tcode:GS11~GS14),以数据库表的一个字段为基础,作为报表直接取数的一个来源,可较灵活的自定义。

报表开发统一规范

报表开发统一规范 报表是软件对用户输出的主要方式,报表的制定也要有一定的规范,以下几点标准可作为在软件系统中报表设计的参考: 一、报表风格统一、结构合理、分类明确,能够清晰的表达报表中所要体现的内容。 二、报表结构要连贯。 三、同一软件系统产生的全部报表的字体类型、字体大小、字体颜色要一致。通常报表 标题为18号黑色加粗宋体,表前、表中、表后字段均为9号黑色(特殊说明除外)宋体。 四、表头设计 1.标题(XXX报表) 1.1字体为18号黑色加粗宋体,在报表表格横向距离居中的位置。 1.2 如有副标题,副标题字体为14号宋体加粗,在报表表格横向距离居中的位置。 1.3 标题与表前字段之间有约1cm的间距。 2.表前字段(编制单位,统计日期,单位……) 2.1 字体均为9号黑色宋体; 2.2 “编制单位”与表格左对齐,“统计日期”与表格居中对齐,“单位”与表格右 对齐。 五、表尾设计 1.字体均为9号黑色宋体。 2.页码居中对齐显示,页码显示形式为“第X页/共X页”。 3.“制表人”等信息紧接着表格的下方间隔一定的距离,与表格左对齐方式显示。六、表身设计 1.表格线条规整,不存在线短或线过长的情况。 2.表格所选线型要一致,报表的边框线为1.5磅黑色单线,表格中线条为0.5磅黑色单线。 3.表格单行间距相同。 4.表格中各字段的对齐方式一致。表格中字符型的字段内容水平居中;数值型的字段内容中部右对齐并以千分号格式(如12,345),如果数值为0,应以“-”显示;备 注等表述为说明的字段可采用中部两端对齐的方式。 5.表格中字体均为9号黑色宋体。 6.如果表中内容不能直观显示行数,可增加一栏“序号”(仅供参考)。 7.如果表中数值型字段需要累计,应在表格的最后一行增加一栏“合计”。 七、报表的输出要规范,如软件系统会有报表导出的功能,报表导出为各种格式 (.doc、.excel、.pdf、.rpt等格式)后其形式、内容要统一,不会因为格式的不同而使报表发生失真的现象。 八、报表支持打印输出功能,打印输出后的报表不产生失真。 九、样表 1.

用友华表Cell报表开发工具控件要点简介

? 2009 北京用友华表软件技术有限公司 所有权利均保留。这份数据仅提供讯息。这份摘要中,北京用友华表软件技术有限公司并不做任何保证、陈述或指涉任何事。这份文件所引述任何公司名称或产品皆自行拥有注册商标。 北京用友华表软件技术有限公司 北京市海淀区北清路68号 用友软件园A 区3层1区(100094) 电话:86-10-62432231 传真:86-10-62432233 网站: https://www.360docs.net/doc/0e18139303.html,/cell 产 品 简 介

Cell 产品分Cell 组件和Cell 插件两个姐妹产品。Cell 组件、插件(ActiveX控件)是北京用友华表公司在长期开发实践的基础上推出的功能强大、技术成熟的报表二次开发工具,是国内技术领先拥有广泛客户群的商业报表组件,有700多个编程接口,实现报表自定义,报表显示、打印预览、打印,图表,公式,自定义函数、资源本地化等强大功能,能够完全读写Excel 文件,是软件开发人员开发优秀报表软件的最佳解决方案。 Cell 组件适用于开发Windows报表应用程序 1、强大的制表能力,特别适合制作中国式的复杂报表,解决您所有的制表难题; 2、丰富的单元格类型,支持数值、货币、日期、文本等类型。Cell的单元格囊括了几乎所有 的Windows标准控制; 3、丰富的打印设置,美仑美奂的打印预览和打印效果,轻松输出各种报表; 4、无须系统安装Excel,就可以和Excel文件完全转换,转换效率更高,效果更完美; 5、强大的自定义函数功能,用户可根据自己的业务逻辑添加自己的函数; 6、极大地提升了图表功能,图表种类和效果比肩Excel; 7、资源本地化功能,根据需要可将Cell设成不同的语言版本; 8、适用于VB、VC、VF、.NET、Delphi、C++ Builder、PowerBuilder等开发工具; Cell 插件适用于开发B/S结构的网络报表程序 1、具备Cell组件的所有特色功能,在浏览器中提供报表的显示和打印(非IE的打印); 2、网络报表界面美观,大大改善了浏览器中报表的输出效果; 3、带有国际化数字签名,让用户使用的更安全、更放心; 4、可将报表文件另存为华表文件或者Excel文件,从而可以进行进一步加工; 5、支持ASP、https://www.360docs.net/doc/0e18139303.html,、JSP、VBScript、JavaScript等语言开发; ?制作中国式的复杂报表 中国的报表非常复杂,没有任何规律可言,用友华表公司从中国的用户出发,为中国的用户着想,Cell 产品能够制作出非常复杂的报表,完全能满足中国人对报表的要求。 ?丰富的单元格式与设计 通过Cell 产品,您可以将数据转化为具有高度交互性的内容,Cell的单元格多种多样,支持数值、货币、日期、文本等类型。你可以从几十种格式中选择按钮,下拉框,单选钮,核选框,滚卷钮,超级链结来强化报表的冲击力。 ?强大的打印及打印预览 Cell对打印的支持非常丰富。可以设置表头,表尾,页眉,页脚,页边距,打印预览无级缩放,多页显示。Cell的打印所见即所得,采用Cell组件将使你的报表软件在打印上傲视群雄,彻底忘掉打印所带来的烦恼。 ?别具一格的选择界面 Cell的第一感觉即与其他表格不同,那就是它的灰色的选择区域。Excel将选择区域与原来反色,这样对比非常强烈,而Cell采用特有的颜色算法,使你能清楚的区分选择区域,又使眼睛受到的刺激最小。 ?强大的图表功能 没有比用Cell作图更容易不过了,只要指定图表数据在表上的位置,一个精致的图表就完成了。如此傻瓜式的操作并不妨碍你的各种需要,除此之外,你可以指定图表数据并不来

报表开发工具FineReport日期常用处理函数

日期常用处理函数 在对日期型数据进行操作时,经常会遇到要获取当前日期,获取当前时间,获取日期的年月日等等操作,下面我们就来介绍下日期的常用处理函数。 1. 转化日期 通过date(year,month,day)进行转化日期。 在单元格中输入:=date(2011,1,10),其返回值为2011-01-10。 若月份大于12将从年的一月份开始往上累加,如在单元格中输入:=date(2011,13,10),其返回值为2012-01-10。 注:日期同理,若超过最大天数,会从月的一号开始向上累加。 2. 获取当前日期、时间 2.1 当前日期(年月日) today()即获取当前日期。 在单元格中输入=today(),若系统日期是2011年11月11号,则返回值为2011-11-11。 2.2 当前时间(时分秒) now()即获取当前日期与时间。 在单元格中输入=now(),返回值类型为日期,yyyy-MM-dd hh:mm:ss;如:now(),格式:常规,返回的值2012-06-20 14:55:57。 3. 获取日期的年月日 分别通过year(),month(),day()这三个函数来获取日期的年月日。 获取年份:在单元格中输入=year("2011-11-11"),返回值为2011。 获取月份:在单元格中输入=month("2011-11-11"),返回值为11。 获取日期:在单元格中输入=day("2011-11-11"),返回值为11。 4. 将日期格式化 可以使用todate()函数将任何日期形式的数据转化为日期型,或者使用format()函数可以转化成任何日期形式的数据。 4.1 将日期格式的字符串转化成日期型 todate()可以将任何日期形式的数据转化成日期型即:yyyy-MM-dd型数据。 在单元格中输入=todate("2011/11/11"),返回值为2011-11-11。 在单元格中输入=todate("2/15/11","MM/dd/yy"),返回值为2011-02-15。 4.2 将日期型数据转化成其他格式的日期形式 format()可以将日期型数据转化成其他形式的数据。 在单元格中输入=format("2/15/2011","dd/MM/yyyy"),返回值为15/02/2011。 在单元格中输入=format("2/15/2011","yyyy-MM-dd"),返回值为2011-02-15。 5. 日期的加减 可以通过datedelta(),monthdelta(),yeardelta()这三个函数来实现对日期的加减。 日期的加减:在单元格中输入=datedelta(today(),-1),返回当前日期前一天的日期,若系统日期是2011-11-11,则返回值为2011-11-10。

FineReport报表二次开发(详细)

FineReport报表二次开发 在大多数情况下FineReport都可以完全满足用户制作各种报表的需求,但是为了能够满足个别用户的个性化需求,FineReport提供了丰富二次开发接口,方便用户将FineReport和自己的项目实现无缝结合,用户在进行二次开发的工程中可以更加深入的体会到FineReport工具的强大功能。 例如:在一些特殊领域,可能需要一些特殊的函数。或者要将某个模板文件通过指定的打印机打印等等。 目录

Report的输入输出 (3) 单元格格式设置 (7) 将模板通过指定打印机打印 (10) 自定义函数 (12) URL 传递参数 (22) 向报表中添加单元格 (25) 读取单元格容 (29) 创建程序网络模版 (32) 读取模板报表 (36) Report的输入输出 FineReport提供了强大的输入输出功能,所有的这些输入输出的类都在com.fr.report.io 包里面。Report的输入指从报表的模板文件(XML格式的)创建Report对象,输出指将Report

保存为模板文件,FineReport还支持将Report保存为PDF,Excel,Word,SVG,HTML,CSV 等文件格式。 ?读取模板文件 ?保存成模板文件 ?输出成PDF文件 ?输出成Word文件 ?输出成Excel文件 ?输出成文本文件 ?可执行代码 读取模板文件 // 读取模板 File cptFile = new File("D:\\stuff.cpt"); TemplateImporter templateImporter = new TemplateImporter(); WorkBook workBook = (WorkBook)templateImporter.generate(cptFile); Stuff.cpt是用报表设计器生成的模板文件。只需要用建立一个TemplateImporter对象, 然后调用它的generateReport()方法来产生一个Report对象,同时可以将产生的Report对 象强制转换成WorkSheet或者GroupReport。 保存成模板文件 // CPT // 清空公式计算结果 E:\\newtemplate\\stuff.cpt这个是导出后新文档生成的地址 ReportHelper.clearFormulaResult(workBook); outputStream = new FileOutputStream(new File("E:\\newtemplate\\stuff.cpt")); TemplateExporter templateExporter = new TemplateExporter(); templateExporter.export(outputStream,workBook.execute(paramet erMap)) ; 通过调用TemplateExporter的exportReport(...)方法, 可以把Report对象以CPT格 式保存到外部磁盘文件当中。

报表开发过程

一、用户权限 1、创建用户 2、给用户分“用户模块” 3、对用户进行分组,在组中设置组的权限, 4、给用户分配组权限(组权限就是表单集合) 5、“用户权限”的优先级高于“组权限”,可以对用户在组中权限约束。 6、“组件权限”是对表单中的某些对象进行权限限制 二、IDO 1、系统里面的每个表单都会关联至少一个IDO 2、IDO至少包含数据库里面的一个基表 3、打开任意一个表单,点击进入设计模式,在“标识编辑范围”->范围: A、用户(是对某一用户有效)、 B、组(对某组有效)、 C、地点缺省(对系统所有都可使用),最好选择这项 在设计模式右边的"集合"下看到这个表单的IDO, A、蓝色为主IDO; B、绿色为次IDO 在“模块”->"系统"->"IDO编辑"->"IDO"中可以查到这个IDO,如“SLCoitems”,在这个IDO中可以看到它的所以属性。“表”中是IDO的主基表和关联表,“财产”中是项是主基表和关联表中字段。“项目名称”表示这个IDO所属项目名。 三、用户扩展字段 如在基表“coitem” 进入“模块”->"系统"->"用户扩展表",按以下几个步骤进行: 1 分类:“用户扩展表分类”,如这里命名分类为:“定单行属性” 2 字段:“用户扩展表用户字段”如:Uf_gongcha , "Uf_"表示用户定义的字段 3 分类&字段的关系:“用户扩展表分类/字段关系”,如这里设置:“定单行属性”/ Uf_gongcha

4 分类与基表关系:进入“用户扩展表与分类关系”,这里设置为:coitem/定单行属性, 勾选“扩展所有记录”(这样将IDO所有关联的数据库表都进行了扩展) 5 提交影响模式:进入“用户扩展表影响模式”,勾选“提交修改”和“影响模式”,最后点“处理”。 按上5步处理后,IDO关联的所有表中增加了一个“Uf_gongcha”字段。但表单(定单表单)的IDO“财产”中还没有这个属性字段,那么就要“扩展IDO增加属性”(也就是下面第四) 四、扩展IDO(给IDO)增加属性(也就是增加字段),前提是已经用过了上面第三步(扩展基表的字段) 在“模块”->"系统"->"IDO编辑" 1、IDO项目,选择或新建一个“IDO”项目。 2、如果是扩展原IDO,就在“扩展”中选择要扩展的IDO(如:SLCoitems),是否勾选“扩展并替换”就根据实际情况而定,这里我勾选了。 3、在“IDO名称”中输入新的IDO的名称。这里输入如:“D_ SLCoitems”,然后点“完成”。 4、在服务器中重启“IDO”,再进入ERP系统中的相应表单进行设计。也可以在IDO中新增加“IDO 新属性”。 5、可以在表单中插入IDO中的属性字段(如这里是:“定单”表单中的SLCoitems IDO的Uf_gongcha 字段属性。在这个新对象的“设计”->“标题”输入标题名称,如:这里输入sgongcha,点进入“字符串属性”,在“字符串值”中输入要显示的中文名称,这里输入"公差"。 IDO“方法”中的项是一个调用“存储过程” SL803_DATAMAP.ZAP中的文件: A、Collection-Method.xls是IDO的方法; B、Collection-Schema.xls是IDO的建构; C、Form-Events.xls是表单中的事件(打开表单,进入设计模式,在菜单“编辑”->“事件处理程序”可以看到表单中的事件); D、Rpt-Form-sp.xls是报表里面的存储过程 1 通过应用表单查其基表 2 应用上面第二(用户扩展字段) 五、如果要全新开发一个表单,其过程是: 1、新建一个数据库表(也就是一个新的基表,用户自己建立的表以US_开头,表示是用户建立的表),如果在第下面的第3步建立好表单,在表单中输入要录入的数据,弹出如下对话框 ,就说明所建基表有几个ERP系统基表的 set ansi_nulls on go

用友NC报表开发教程(全))

用友NC报表教程(全) 5X&6X 用友NC-UAP 2016-07-22

目录 第一章前言 (1) 1.背景 (1) 2.入门 (2) 3.小结 (8) 第二章对象管理 (9) 1.对象树 (9) 1.1对象编辑 (10) 1.2对象导入导出 (10) 2.数据源 (11) 3.首选项 (14) 4.资源权限 (15) 第三章查询模型 (16) 1.参数控制 (17) 2.SQL设计 (19) 2.1数据字典 (19) 2.2向导设计 (20) 2.3手工设计 (25) 3.数据交叉 (27) 3.1投影交叉 (28) 3.2旋转交叉 (31) 4.代码嵌入 (36) 4.1SQL整理 (36) 4.2数据加工 (38) 4.3穿透规则 (42) 5.查询执行 (48) 6.查询集成 (50) 6.1复合查询 (50) 6.2物化查询 (51) 6.3合并查询 (53) 7.数据权限 (53) 第四章格式模型 (55) 1.引用查询 (56) 2.格式设计 (57) 2.1控件管理 (57) 2.2属性绑定 (64)

2.3行列格式设计 (66) 2.4预定义数据处理 (69) 3.报表浏览 (76) 3.1界面初始化 (76) 3.2数据处理 (78) 3.3控件连动 (82) 3.4报表打印 (83) 第五章报表发布 (86) 1.发布为功能节点 (86) 1.1 手动挂接 (86) 1.2 向导发布 (87) 2.轻量化报表展现 (89) 第六章插件开发 (94) 1.生成插件 (94) 2.设计插件 (100) 3.管理插件 (100) 4.开发小结 (101) 第七章查询引擎V5新特性 (102) 1.V5.0新特性 (102) 2.V5.01功能变更清单 (102) 3.V5.011功能变更清单 (102) 4.V5.02新增功能描述 (103) 4.1参数重构 (103) 4.2分页技术 (107) 4.3SQL代码辅助器 (110) 4.4数据字典级别权限控制 (111) 5.V5.02功能变更清单 (114) 6.V5.5功能变更清单 (115) 附录 (117) 1.查询引擎FAQ之参数篇 (117) 2.交叉表的使用样例 (119) 3.查询与格式对象安装盘预置方案 (124) 4.查询引擎报表联查业务节点应用方案 (125) 5.查询引擎与三大模板集成方案 (130) 6.基于QE底层的查询个性化设计方案 (138) 7.个性化控制类(JAVADOC) (143)

报表开发工具FineReport之excel行式报表的导入

报表开发工具FineReport之 Excel行式报表的导入 Excel导入行式报表 1. 描述 对于行式填报表的在线导入Excel,在6.5.5之前版本前需要和Excel数据复制到填报单元格一样,在导入Excel 前手动增加足够的行数才能进行导入; 从7.0版本开始,FR对此功能进行了改进,在导入Excel时,会根据Excel中的记录数自动扩展出需要的行数。 1.1 必要条件 导入固定行:Excel中的第一行导入数据的位置必须是可编辑的即需要设置对应单元格的控件属性; 导入不定行:除了需要为单元格添加控件之外,且还要设置扩展属性从上到下扩展或者从左到右扩展(只需要给左父格或者上父格设置扩展方向即可)。 1.2 是否按控件导入 如果不想为单元格添加控件就直接导入Excel,即可通过修改配置文件控制是否按控件导入,默认按照控件导入。如果设置不按照控件导入,那么导入固定行报表无需其他设置,只要位置对应,直接导入即可,导入不定行报表只需要给单元格设置扩展属性,无需添加控件。 打开%FR_HOME%\WebReport\WEB-INF\resources下面的customconfig.xml文件,如果没有该文件,则复制config.xml至该文件夹中,并重命名为customconfig.xml,如下图: 在xml文件最后前面插入一句,设置其不按照控件导入,如下图:

保存文件,重启服务器,Excel导入行式报表的时候就可以不添加控件了。 2. 导入逻辑 随着Excel导入功能的逐渐完善,至当前版本为止,导入Excel有两种逻辑,最大程度上满足了用户对Excel 导入填报的需求。 2.1 根据标题匹配 模板从首列标题名开始,逐一到excel中去匹配,发现列名相同的导入数据,列名不同或不存在则不导入数据,如下图: 注:根据标题匹配必须要匹配2列或者2列以上的标题才可以。 详细请查看根据标题匹配 2.2 根据位置匹配 即在设计器中设计报表样式时,需要导入数据的单元格的位置与excel中数据所在位置保持一致,标题名不需要一样,如下图所示:

简单报表开发介绍

适用范围: 以收证查询为例:要实现这样的效果

1语义模型设计 1.1添加分类。序号与菜单注册的编码相同。 1.2添加语义模型。保存时,弹出提示框“是否启动设计向导”,点“是”。进入设计器 1.3选择【元数据】或者【元定义】,都可以。区别在于【元定义】比【元数据】多了“语义模型”的选择。 我们选【元定义】。

说明: a有些基础档案,我们需要显示它们的名称,例如财务组织,币种。这里有两种实现。b这里先说第一种: 可以继续选择【元定义】,找到对应的基础档案的元数据,有多个就都选择上。

1.4. 做好之后保存,点下一步。进入【连接条件】,通过主键关联将刚才选择的几张表关联起来。保存。 1.5点下一步之后进入【选择字段】,选择你要用来做展示的字段。 说明 a财务组织PK,集团PK,币种PK必须选择,用来处理精度 b这里也可以实现基本档案,或者其他需要显示名称的字段。如图中红色字段标识。

1.6.保存进入下一步。进入【描述器】,这里要做的是添加一些约束条件。 1.7点击下一步,进入【选项】,这里不用做什么修改,直接保存,点击完成。这样语义模型就设计完成了。 2自由报表预置 自由报表是用来展示数据的。这里会有:小计合计、数据格式、查询注册、联查、穿透等内容。

2.1跟语义模型一样,先建立分类,然后新增一个报表。保存,点【格式设计】2.2如图,右上角,关联刚才建立的语义模型。 2.3设置可扩展区域。右键-设置可扩展区域,如下图。 2.4设置表格字段的格式。 2.5设置几个隐藏字段,这是后期用来处理精度的 2.6插入小计合计 如图点1.红色区域2是分组字段。红色区域4是合计字段,小计与合计,红色区域5是设置是否合计

SVF报表开发说明

在EBS中定义执行文件(执行方法选择PL/SQL 存储过程) 在EBS中注册报表(与一般定义报表方式相同,其中输出格式、样式、打印机可不特别指定) 利用SVF工具定义输出格式文件(*.frm) 其中common页中为与查询数据对应的字段显示 点击工具条中的sub form creation创建sub form(图中黄色区域) 点击工具条中的record creation 创建record区域(图中蓝色区域) 点击工具条中的field creation 创建field (图中xxx项均是field,其中X的数量代表长度),如果是汇总字段,还需要在属性中进行特别设置,如图:

其中1page页中为显示格式,其中说明信息在该页定义。 详细流程参考附录 具体样例,参考

编写运行报表的存储过程(即是报表定义中的执行文件名) 可用已有存储过程进行修改(入口过程名为MAIN),修改的部分包括 ?过程名 ?参数 ?过程备注 ?V_REPORT_ID,改为与报表注册中的可执行名称一致 ?V_FORM_NAME,改为与svf工具开发的文件名一致 ?修改GET_DATA过程,包括参数,取数SQL语句,以及生成XML段标记语句。 具体样例,参考存储过程zzinv106 将frm文件上传到服务器的特定目录下 该特殊路径为:select const_value||'/svf/frm' from zz_const_mst where const_name='APPLIB_TOP' 的查询结果 附录: SVF开发报表: 1.新建报表: File->Create New 普通报表选择NOImage

java报表工具介绍

1. BIRT Project BIRT报表是一款非常流行的开源报表开发工具。拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,生成图片,导出Excel,html分页样样齐全,样式和script设置简单。 2. Pentaho Pentaho Report Designer是一款所见即所得的开源报表设计工具。在设计报表的时候,用户可以随意拖放和设置各种报表的控件,还可以快速方便地设置报表的数据来源。在报表的设计过程中,用户可以随时预览报表的结果。

3. OpenRPT OpenRPT支持各种平台PostgreSQL的最佳化的图形化界面的SQL报表撰写。

4. OpenReports OpenReports 提供基于web 的灵活报表解决方案,支持 PDF,HTML 和XLS 报表格式,基于WebWork,Hibernate 和 Velocity 开发完成,并且还提供一个整合了Tomcat 的OpenReports-Tomcat 文件下载。使用Java进行开发,JasperReports 作为报表引擎。

5. FreeReportBuilder FreeReportBuilder是一个Java报表工具,可以与任何数据库正常工作,只需要有一个JDBC驱动程序。

6. JMagallanes JMagallanes是一个开源的使用Java/J2EE开发的Olap和动态报表应用程序。JMagallanes结合了静态报表(基于JasperReports),Swing pivot表格(用于OLAP分析),和图表(基于JFreeChart)。它可从多种数据源(如:SQL,Excel,XML 和其它)读取数据并可生成多种输出如:PDF,XML,应用程序特殊文件用于将来报表的脱机查看。

相关主题
相关文档
最新文档