2014-05-31 Created By BaoXinjian

对象


(1).数据模型对象

查询、组、列、链接、用户参数

(2).布局对象

重复帧、帧、领域、样板、锚、

(3).参数表单对象

参数、字段、样板

(4).PLSQL对象程序单元

(5).触发器

(6).外部的Library库


Tabular Report: 基本的类型报告,没列对应于从数据库中选择的一个列

Group Above Reports:

Group Left Reports:

Form-Like Reports:

Form Letter Reports:

Mailing Label Reports:

Matrix Reports:矩阵报表

数据模型 DataModel


查询Query

组Groups

列(Formula、Summary、Placeholder Column)

连接(Data Link)

参数(System Paramters & User Paramters)

查询(Query)


内部查询(SQL Query): 内部SQL,无法被其他Report所应用;

外部查询(Ref Cursor Query):应用Package中的Ref Cursor,可以作为共享,具体的SQL可以定义在Report或者定义在Package中;

单查询:Report只有一个Query;

多查询:Report存在多个Query,可以使互相关联的,也可以是不关联的;

相关的多查询:多个Query中相互关联,一般用于主从式报表,两者之间通过Datalink进行关联

不相关的多查询:Query之间不存任何关系,查询先后顺序由Query的顺序位置决定,先上后下,先左后右

组(Group)


1.组的功能

(1).将一个查询的数据分成几个集合,每个结合称为组

(2).过滤查询数据,通过组过滤对应的查询结果

2.组的种类

(1).缺省组:建立Query时,自动产生Group

(2).用户定义组:用于三种情况产生分组报表&产生矩阵报表&产生子汇总

3.组过滤

允许有条件的选择由查询检索出来的数据,设定条件,过滤查询结果

(1).Oracle Report封装的过滤器

First Filter:显示组内前N条数据

Last Filter:显示组内后N条数

(2).用户定义过滤器

该过滤器通过编写PLSQL建立

4.组的层次结构

组的层次结构决定了在缺省布局对象中组的顺序

如果没有DataLink,组由Query的位置决定,自左向右,自上而下

如果存在DataLink,组由Query的主从关系决定

列(Database、Formula、Summary、Placeholder Column)


1.缺省列

为查询Select欲绝的每一项都建立一个列

2.用户定义列 - 公式列(Formual Column)

为该列定义一个计算公式,Ex: return :sal+nvl(:com,0)

按建立的位置,分为Group Level & Report Level

3.用为定义列 - 汇总列(Summary Column)

提供的计算函数有:总和、平均值、最大值、最小值,标准差,方差、计数,%总计

按建立的位置,分为Group Level & Report Level

重要属性:功能 、 源 、重设于

重设于:选择汇总的频率,是整个报表做一次汇总、每页做一次汇总、还是每个组做一次汇总

连接(Data Link)


数据连接通过主键和外部键定义了两个Query之间的主/从关系

1.等值连接 & 非等值连接

2.SQL子句:Having & Start With & Where

3.条件:=、<、 >、 <=、 >、 >=、 <>、 Like、 Not Like

参数(System Paramters & User Paramters)


1.系统参数(System Parameter)

系统默认参数,Oracle Report允许为每个报表修改标准运行设置

系统参数总共后11个

Ex: 打印的分数、货币表示方式、小数点表示方式、打印机设置、名字

2.用户参数(User Parameter)

自定义参数,该对象用于保存在运行时用户可以改变的值

在Select中代替列名字,条件,或者整个SQL

(1).引用方式 - 连接引用

i.用途:主要用于替换SQL语句或者PLSQL块中的一个值或表带式

ii.调用符号: :

iii.限制: 不能在Select中使用替换列名,不能在Form从句中使用连接引用

iv.例子

SELECT EMPNO, ENAME, SAL, COMM
                 
FROM EMP
                 
ORDER BY DECODE(:P_SORT, 1, EMPNO, 2, SAL);

(2).引用方式 - 置换引用

i.用途:用于替换Query Select中任何一部分

ii.调用符号: &

iii.限制: 不能在PLSQL块中使用

iv.例子

SELECT
&P_ENAME NAME, &P_EMPNO ENO
                 
FROM &P_EMP;

3.值列表

用于用户输入参数时,自动弹出列表让用户选择

建立方式:静态值 & Select语句

4. Layout



当运行一个Report时,Oracle Report会弹出一个窗口

中的PLSQL


用于具体的数据库事物处理

可以是使用数据库操作语言(DML):Insert、Update和Delete操作

不支持数据库定义语言(DDL): Oracle Report提供了SRW.DO_SQL封装过程增加至Report中

(1).PLSQL异常处理

i. 用户定义的异常处理:自定义Exception,再Raise

ii.标准封装的异常处理:No_Data_Found / Too_Many_Rows / Invalid_Number
/ Zero_Divide / Others 等

iii.Oracle特有的异常类处理:Raise SRW.DO_SQL_FAILURE / SRW.INTEGER_ERROR /
MAXROW_INERR /SRW.NULL_ARGUMENTS / SRW.PROGRAM_ABORT

(2). 可以使用的9中方式PLSQL结构块

PLSQL程序库(external libraries)

附件程序库(attached libraries)

程式单元(report program units)

报表触发器(report triggers)

组过滤器(group filters)

公式(formula)

验证触发器(validation triggers)

格式触发器(format triggers)

动作触发器(action triggers)

触发器


触发器可以分为三类:报表触发器、数据模型触发器、布局格式触发器

1.报表触发器

共有5个,分别在报表运行的不同阶段运行

可以执行的操作:调整报表的格式, 执行初始化任务, 访问数据库

(1).Before
Parameter Form

时间点:显示运行参数表之前

用途: 存取并修改参数值、PLSQL全局变量

(2).
After Parameter Form

时间点:显示运行参数表之后

用途:检验和修改参数值,如果运行出现问题,则返回至参数表

(3).
Before Report

时间点:运行报表之前

用途:用于初始化参数,特别是触发Query中的SQL条件

(4).
Between Pages

时间点:除去第一页外,每一页之前都会被触发

用途:用于页的格式化

(5).
After Report

时间点:结束报表

用途:将报表输出至对应目录下或者Email,删除临时表,清除初始化处理

2. 数据模型触发器

(1). 公式列触发器

公式列中的代码必须返回给公式,此公式列可以为序列,在Report不显示

(2). 组过滤器

触发时间点在检索数据之后,显示数据之前,限制记录的出现与否,此功能也可以在Where子句中实行

例子:只显示1000条数据

(3). 验证触发器

在系统参数和用户自定义参数中编写验证触发器,如果参数不正确,则停止报表运行

验证触发器必须返回一个布尔值,如返回False,则光标停留在参数中

例子:按部门打印员工列表时,对输入参数部门号进行验证

3. 布局触发器

允许用户在报表运行时根据一定条件动态地修改布局对象的显示或隐藏

布局触发中不饿能够使用DML语句

例子:在工资单报表,只有主管可以看到工资明细

4. 动作触发器

在预览器中选中一个按钮时执行的PLSQL过程,可以动态调用另一报表或者实执行PLSQL程序


Oracle Report提供的特殊的封装包,包括可在库中应用的参数、过程和异常处理

PLSQL块中可以应用SRW包的任何部分,但SRW只能在Oracle Report中调用,不能再其他工具(Forms Build)中使用

1. 用途

控制报表的运行

在运行时输出信息

初始化域对象

执行DDL语句 (建立/删除临时表)

调用用户接口

动态设置布局对象属性,(字体或者填充)

2. 常用的SRW包例子


建立举证报表必须满足四个条件

1. 单查询矩阵报表

2. 多查询矩阵报表

3. 觉有合计的矩阵报表

4. 矩阵间断式报表




Thanks and Regards

Report_Report Builder的一些基本概念(概念)的更多相关文章

  1. Form_Form Builder的常用变量(概念)

    2014-12-30 Created By BaoXinjian

  2. Form_Form Builder的基本语法(概念)

    2014-05-21 Created By BaoXinjian

  3. .NET Remoting学习笔记(一)概念

    目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 背景 自接触编程以来,一直听过这个名词Remotin ...

  4. 4.事务提交过程,交易的基本概念,Oracle交易周期,保存点savepoint,数据库的隔离级别

     事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功.要么都失败 事务的隔离性:多个client同一时候操作数据库的时候.要隔离它们的操作, 否则出现:脏读  不可反 ...

  5. 【转载】.NET Remoting学习笔记(一)概念

    目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 背景 自接触编程以来,一直听过这个名词Remotin ...

  6. Microsoft SQL Server学习(一)--基本概念

    数据库的分类 关系型数据库 非关系型数据库 数据库的发展 数据都是以文件的形式存储在硬盘上FATFAT32NTFS LinuxEXT 数据库设计流程 文件系统缺陷 数据库的专业术语 数据库引擎服务 E ...

  7. Java 基础 面向对象: 接口(interface )概念 以及接口之练习3 -定义一个接口用来实现两个对象的比较并 判断instanceof是否为同类

    接口(interface )概念概念笔记 及测试代码: /** 面向对象: 接口(interface ) 是与类并行的一个概念: * 1.接口可以看成一个特殊的抽象类,它是常量与抽象方法的一个集合 * ...

  8. 设计模式相关面试问题-Builder基础详解与代码解读

    java的builder模式详解: 概念:建造者模式是较为复杂的创建型模式,它将客户端与多含多个组成部分(或部件)的复杂对象的创建过程分离. 使用场景:当构造一个对象需要很多参数的时候,并且参数的个数 ...

  9. 分布式爬虫框架XXL-CRAWLER

    <分布式爬虫框架XXL-CRAWLER> 一.简介 1.1 概述 XXL-CRAWLER 是一个分布式爬虫框架.一行代码开发一个分布式爬虫,拥有"多线程.异步.IP动态代理.分布 ...

随机推荐

  1. Eclipse上传代码到GitHub

    平时工作学习中难免会在Github搜索一下开源的Android代码, Android系统本身的代码就是托管在GitHub上,如果平时随手做了一个Demo,托管在云盘感觉不入流,如果平时自己一时兴起写了 ...

  2. API手册 常用功能

    directive [ng] a form input input [checkbox] input [email] input [number] input [radio] input [text] ...

  3. Jquery解析Json格式数据

    今天稍微学习了一下Json,JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的 ...

  4. Spring boot基础:配置文件配置变量、多环境的配置

    一.配置 resources下面application.properties 1.普通配置 resources下面application.properties,比如写上:server.port=909 ...

  5. 解决LayoutItem lable 太长的问题

    <Style TargetType="dxlc:LayoutItem"> <Setter Property="AddColonToLabel" ...

  6. RUP

    RUP随想 [摘要] 本文主要阐述一下我对RUP软件工程思想的看法以及一些感想.我认为软件工程既然是工程,那么纯粹的空谈理论是没有意义的,软件工程需要实干.我认为软件工程的思想实际上和兵法理论是一样的 ...

  7. Qtcreator中常用快捷键总结

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  8. KETTLE6.0版本体验小结

    不知不觉Kettle以及到了6.0,名字似乎也变了Pentaho官方的名称是 Pentaho  Data Integration,于是就下载了最新的版本,下载地址为: Pentaho Data Int ...

  9. 【React全家桶入门之十三】Redux中间件与异步action

    在上一篇中我们了解到,更新Redux中状态的流程是这种:action -> reducer -> new state. 文中也讲到.action是一个普通的javascript对象.red ...

  10. 绕过Web授权和认证之篡改HTTP请求

    一.什么是HTTP请求 超文本传输协议(HTTP)提供了多种请求方法来与web服务器沟通.当然,大多数方法的初衷是帮助开发者在开发或调试过程中部署和测试HTTP应用.如果服务器配置不当,这些请求方法可 ...