Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Oracle ERP最佳技术实践

E-BUSINESS SUITE
ORACLE 核心应用技术
Discoverer

Author: 黄建华
MSN: huajhua@hotmail.com
Creation Date: October 16, 2005
Last Updated: April 12, 2008
Document Ref: <Document Reference Number>
Version: DRAFT 1A

Approvals:

<Approver 1>

<Approver 2>

Copy Number _____


Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

Document Control

Change Record
31

Date Author Version Change Reference

16-Oct-05 Jianhua.Huang Draft 1a No Previous Document

Reviewers

Name Position

Distribution

Copy No. Name Location

1 Library Master Project Library


2 Project Manager
3
4

Note To Holders:

If you receive an electronic copy of this document and print it out, please write your
name on the equivalent of the cover page, for document control purposes.

If you receive a hard copy of this document, please write your name on the front
cover, for document control purposes.

Discoverer Document Control 2


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

Contents

Document Control ..................................................................................................................2

1. Oracle Discoverer .....................................................................................................4


1.1. 总体说明..............................................................................................................4
1.2. Discoverer概念层次...........................................................................................4
1.3. 必要设置..............................................................................................................5
1.4. 先睹为快:一个简单例子. 管理员端配置 ........................................................5
1.5. 先睹为快:一个简单例子. 桌面端做报表 ......................................................18
1.6. 其他设置和功能浏览 ........................................................................................23
1.7. Item Class和条件的LOV .................................................错误!未定义书签。
1.8. Discoverer权限模型.........................................................错误!未定义书签。
1.9. Discoverer发布.................................................................错误!未定义书签。
1.10. 其他有用的Topics ............................................................错误!未定义书签。
1.11. Web Discoverer4i设置 ....................................................错误!未定义书签。
2. Open and Closed Issues for this Deliverable......................................................31
Open Issues.....................................................................................................................31
Closed Issues ..................................................................................................................31

Discoverer Document Control 3


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

1. Oracle Discoverer
应用:任意

职责:任意

1.1. 总体说明

Oracle Discoverer最初是Oracle BIS的前端展现工具,现在越来越多的被用在ERP中。

适用范围:对于那些非打印类型的报表或对打印格式要求不高的报表。

实施人员:用Discoverer来做报表效率很高,写完SQL报表也就出来了,可以关注核心
SQL,不操心布局。

最终用户:不但可以将报表直接导出成Excel(进一步分析、作为数据源送给其它系统
甚至反灌回ERP等等),而且还可以像在Excel里面一样自己调整报表(增加减少列、
添加条件、增加汇总列等等),还可以直接在Discoverer里面做Drill Up/Drill Down
分析。

缺陷:

1、 参数只能作用在最外层SQL,所以无法直接限制View中内层的SQL以提高性能

2、 参数没有ID/Value之分,所以只能用Value

1.2. Discoverer概念层次

从高到低是:EUL、BA、Folder、Item。

EUL:End User Layer,是个容器;存储元数据,相当于数据字典;和DB由SYS拥有


数据字典一样,EUL也必须由某个用户(Owner)拥有;不同的是每个数据库用户都
可以创建一个EUL,只要数据库权限足够大。

BA:Business Area,业务主题;一个EUL下可配置多个BA,比如PO主题、GL主题
等。

Folder:就是表或者视图,当然也可以是一段SQL,一个BA下可配置多个Folder。

Item:就是字段;一个Folder下可配置多个Item。

上面这4个在Discoverer Administration里面设置。

Discoverer Plus里面做的就是报表,不过不叫Report,而是借用Excel的名字:
Workbook,还分Sheet。

Discoverer Oracle Discoverer 4


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

1.3. 必要设置

其实没有必要设置。

不用Web Discoverer的话,客户端安装完毕,配好tnsnames就可以用了。不过我们是
基于EBS的,所以有些地方略有不同。

程序安装

先下载:
http://www.oracle.com/technology/software/products/discoverer/index.html

Discoverer(4.1.37)目前还不支持Multi-Home安装,所以安装的时候需要在Default
Home,其他Home不行。安装时选英文,其他语言据说有问题。

如果先装6i,后装Discoverer,需要备份bin目录下的UIW60.DLL,装完之后把
UIW60.DLL拷贝回来;否则Form Builder起不来,需要重新安装或从别人那里拷贝
UIW60.DLL。

管理员工具和客户端

安装分Discoverer Administration和Discoverer Plus。

实施人员两个都装,最终用户仅装Discoverer Plus;比较消耗客户端资源。

Web版的Discoverer Plus叫Discoverer Viewer,不用装客户端,用IE就可以了,不过


比较消耗服务器资源。

配置tnsnames

按照往常步骤配置tnsnames和hosts。

如果是功能顾问,再看一下补充内容:通常从别人那里把tnsnames拷贝过来就可以,
不过有时候不行;道理很简单,tnsnames.ora和sqlnet.ora两个加起来才构成SQL*Net
协议的基本配置文件,而不同公司的sqlnet.ora可能会不一样;所以把这两个文件全部
拷贝过来就99.99%不会有问题了。

打个补丁 Note:251932.1

4.1.37前要以application身份登录,需要安装Patch,其实就一个登录验证文件
fndpu115.dll,拷贝到安装目录的DISCVR4目录下;否则报Failed to connect to
Database - ORA-01017: invalid username/password:logon denied。

1.4. 先睹为快:一个简单例子. 管理员端配置

以查看系统PO Document Type为例,先用APPS登录数据库,创建一个View:

CREATE OR REPLACE VIEW scf_po_document_types_vv AS

SELECT * FROM po_document_types

Discoverer Oracle Discoverer 5


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
开始

N: Discoverer Administration

先Cancel。

设置登录方式

N: Discoverer Administration/Tools/Option

忽略这个警告。出来:

Discoverer Oracle Discoverer 6


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

选择Connect to both standard and applications。意思是登录的时候可以选择用数据


库用户登录或者用EBS用户登录。

Gateway User ID和Foundation Name放空。

再来登录

N: Discoverer Administration/File/Connect

最好用system登录,这样可以创建新用户。下面的Oracle Applications User不选。

点击Connect之后出来:

Discoverer Oracle Discoverer 7


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

就是说system这个用户目前自己没有EUL,也没有人授权EUL给它,所以系统提示没
法使用Discoverer,除非创建新的EUL。

选择“是”。

开始创建EUL

N:

选择“Create an EUL”。

创建EUL 01

N:

Discoverer Oracle Discoverer 8


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

这个画面最关键。

首先要选择Create a new user,因为我们通常希望有一个“干净”的用户作为EUL的


Owner,不希望用某个应用数据库用户如PO或者APPS,更不希望用System。

其次选择New EUL is for used by Oracle Applications users …。

然后是输入新用户和密码,假定都是disadmin。

密码全数字不行,必须字母开头。

Next。

创建EUL 02

N:

Discoverer Oracle Discoverer 9


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

选择包含EBS的用户,当然是APPS了。

这个其实可理解为默认的Scheme,这样在创建自定义的Folder时可不需要给表或者视
图加apps前缀。

输入密码,Next。

创建EUL 03

N:

这个地方选择新建用户的表空间。11.5.10版之后,Oracle不再为每个应用设立独立的
表空间了,数据统一放在APPS_TS_TX_DATA下。

Discoverer Oracle Discoverer 10


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
简单起见我们也遵循这个标准:Default Tablespace选择APPS_TS_TX_DATA,
Temporary Tablespace选择TEMP。实际中最好先新建一个表空间,专门给Discoverer
用。

11.5.10之前没有打过表空间管理补丁,则没有上述APPS_TS_TX_DATA,那么选择
DISADMIN对应的表空间即可;因为上述例子是新建的数据库用户,实际上需要DBA
先创建好新的表空间了。

Finish,开始创建用户和EUL。

创建EUL 04

N:

创建完有兴趣的话可以去看看Disadmin这个用户,它下面有很多EUL4开头的对象。

确定之后出来:

意思是要不要安装一个学习用的演示数据。我们选择“否”。出来:

前面是用system登录,这里问要不要换成EUL的Owner也就是刚才新建的disadmin登
录。选择“是”系统自动帮我们登录。注意这个disadmin是数据库用户!

转折点 1

N:

Discoverer Oracle Discoverer 11


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

我们不用disadmin这个用户创建BA,我们仅用它来装EUL就行了。这里选择
“Cancel”。

第一级授权:EUL授权

N: Discoverer Administration/Tools/Privileges

我们规划一个EBS用户,以后专门用来维护Discoverer,也可以用它来创建Discoverer
报表。假定是Huajhua,我们授予它全部权限,就是Privilege里面全部打勾。注意这
个Huajhua是Application用户。

Discoverer Oracle Discoverer 12


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
转折点 2 : 切换用户

N: Discoverer Administration/File/Connect

用上面的Huajhua登录,并且选择用Application方式:

如果前面的补丁没打,则出现如下错误:

没错的话,出来职责选择画面:

Discoverer Oracle Discoverer 13


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

我们选择Purchasing Super User。

注:4.1.37有个很少见的问题:界面选择的职责和实际的职责不符,实际职责要看
“OK”上面的提示。如下图,实际是“101-安徽佳通-MFG-生产计划员(炼胶)”:

而在Discoverer 10g没有这个问题。

Discoverer Oracle Discoverer 14


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
创建BA 01

N: Discoverer Administration/File/New

正常登录后显示:

点击Create a new business area

Next

创建BA 02

N:

选择数据源DBLink和用户
Discoverer Oracle Discoverer 15
File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

如图,选择APPS

Next

创建BA 03

N:

选择表

我们选择上面建的视图:scf_po_document_types_vv

Next

Discoverer Oracle Discoverer 16


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
创建BA 04

N:

一些对将要生成的Folder的设置,唯一需要注意的是Default aggregate on…一般改为


Detail(默认是Sum),理由很简单,我们做的View基本上就是最终要的数据了,不
需要在Discoverer中做集合运算了,要做我们在View里面就做掉了。

Next

创建BA 05

N:

起个名字:PO Business Area


Discoverer Oracle Discoverer 17
File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
Finish

系统开始创建BA

完成之后,可以查看创建的BA

1.5. 先睹为快:一个简单例子. 桌面端做报表

开始

N: Discoverer Plus

Discoverer Oracle Discoverer 18


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
同样第一次先Cancel。

设置登录方式

N: Discoverer Plus/Tools/Option

选择Connect to both standard and applications。意思是登录的时候可以选择用数据


库用户登录或者用EBS用户登录。

Gateway User ID和Foundation Name放空。

再来登录

N: Discoverer Plus/File/Connect

没错的话,出来职责选择画面:
Discoverer Oracle Discoverer 19
File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

我们选择Purchasing Super User

创建Workbook 01

N: Discoverer Plus/File/New

Discoverer支持两种类型的报表:Table和Crosstab以及它们的简单扩展。我们选择
Table,Next。

Discoverer Oracle Discoverer 20


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
创建Workbook 02

N:

选择字段,因为只有一个,默认已经选中我们前面建的PO Business Area。我们随便


选择几个Item。

简单起见,我们直接Finish。

创建Workbook 03

N:

下面就是结果:

至此一个简单的Discoverer报表就出来了。

创建Workbook 04

N: Discoverer Plus/File/Save
Discoverer Oracle Discoverer 21
File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

Workbook可以保存成本地的一个文件,也可以保存到数据库。

通常我们选择保存到数据库,这样通过授权之后其他用户就可以打开该报表。

保存到本地主要是用来备份和发布。

我们先选择My Computer,然后点Save

起个名字PO Document Types.DIS。

之后我们在通过菜单Save as到Database:

Discoverer Oracle Discoverer 22


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

为维护方便,我们保持名字和本地的文件名一样,仅仅去掉DIS后缀。

接下来就是细节的功能调整了,除了美化之外就是看用户需求了!

1.6. 其他设置和功能浏览

日常开发

创建EUL 基本都是做一次,即一个系统通常建一个EUL,像系统中的
Application一样,一个就够了

创建BA 通常也是做一次,即一个EUL下建一个BA;BA的目的是用来划分功能
主题,可以创建多个

Folder 根据需要做,通常一个报表对应一个Folder

Workbook 根据需要做

所以Discoverer配置好之后的开发流程:

需要调研,创建数据库V,创建Folder,创建Workbook,Share Workbook

新增一个Folder/视图

N: Admin/右键BA

可以建立基于View的Folder,也可以直接在Folder中输入SQL代码。

新增一个字段

N: Admin/File/Refresh

比如客户要求在报表中新增一个字段,而这个字段我们在创建View的时候并没有包
含。

Discoverer Oracle Discoverer 23


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
首先当然是更新数据库脚本,把视图改好;接下来在Discoverer Admin中,选中要改
的Folder,通过N: Admin/File/Refresh刷新即可。

Plus端重新Connect就可以看到新增的字段了。

Sheet菜单

N: Plus/Sheet/…

和Excel一样,一个Workbook可以有多个Sheet,每个Sheet都可以看作是一个报表,
我们可以把相关性比较强、类似或者需要做对比的报表放在同一个Workbook里面。通
过Sheet菜单,可以New一个Sheet,也可以重新运行向导Edit当前的Sheet,也可以
Copy一个Sheet。

通过Edit Title菜单,我们可以给生硬的Discoverer报表加一个合适的表头,可以设置
格式,还可以插入日期、页数等。

默认情况下,报表仅显示100行,和PL/SQL Developer类似,可以选择查看下一批或
者全部记录。前者通过报表最后一行的按钮来实现,后者就是通过这里的Retrieve All
Rows。另外,Count All Rows就是算出记录数,和Forms上的F12类似。

Page Item
N: Plus/View/Page Items

Page Items相当于Excel中的筛选,当然这里的功能要弱一些。如图,我们把
Document Type Code这一列拉到Pate Items区域,就可以过滤了,如选择PO那么下面
仅显示PO类型的记录。

Format
N: Plus/Format/…

可以对Tile、Heading、Data分别设置显示格式如字体字号、对齐、小数位等,全部可
以通过菜单Format完成。也可以在列上通过右键来设置。

这里还可以设置Sheet的背景图片。

特别是可以设置Exception显示格式,如我们假定类型为PO时用红色显示:

Discoverer Oracle Discoverer 24


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

计算列

N: Plus/Tools/Calculations

和Reports中的计算列类似,增加一列,值等于某个公式算出来,比如=Item1 +
Item2。

排序和分组

N: Plus/Tools/Sort

可以对结果进行排序,可按任何列任意顺序排。在排序的同时还可以指定是否分组、
每个分组之间的间隔是多少、用多粗的线条隔开。

汇总列

N: Plus/Tools/Totals

Discoverer Oracle Discoverer 25


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
可以对某一列进行求和、计数、求平均等;而且可以分组计算。如下图对Org Id进行
计数。

百分比列

N: Plus/Tools/Percentages

可以对某一列进行求百分比,基数可以是某一分组,也可以是全部记录。

条件

N: Plus/Tools/Parameter和
N: Plus/Tools/Conditions

都可以为报表的某个字段建立参数。

Discoverer Oracle Discoverer 26


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

生成Excel等文件

N: Plus/File/Export

Workbook可以导出成很多格式的文件:

生成图表

N: Plus/Graph/New Graph

Discoverer Oracle Discoverer 27


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

选一个,Next后有更多的选项。看怎么弄怎么好看了,最终样例如下:

Drill in/Drill out


N:

Discoverer是个BIS前端展现工具,所以支持BIS基本的上钻下钻分析方法。上钻下钻分
析的前提是建立数据的层次结构(Hierarchy),比如最容易理解的就是日期:年包含
季度,季度包含月份,月份包含日。

Discoverer中的Hierarchy在Admin中维护,系统已经有默认的日期层次模型,所以对
于日期字段,创建Folder的时候会让我们选择是否使用默认的层次模型,通常就是Yes
了,所以观察我们的Folder,每个日期字段都会比我们的视图多4字段,如XXXX
Year、XXXXX Quarter、XXXX Month、XXXX Day。

Discoverer Oracle Discoverer 28


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008
假定我们的Workbook中用了一个XXXX Quarter字段:

现在可以看到,字段的Heading上有个箭头,表示可以“钻” 了。右键选择Drill:

可以看到,可以选择上钻到Year,或者下钻到月等,我们选择Year:

Discoverer Oracle Discoverer 29


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

就会看到年的数据,注意这里的01-Jan是没有意义的。

配合Page Item,还可以有更丰富的分析。

Hierarchies
N: Admin

可以使用默认的日期层次结构:Year/Quarter/Month/Day

Crosstab
N:

Discoverer支持矩阵报表。

其他

Folder间的连接

基于SQL的Folder

查看Sheet的最终SQL和执行Plan

Schedule一个Discoverer报表

删除EUL/BA/Folder

Discoverer Oracle Discoverer 30


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Oracle ERP最佳技术实践 Doc Ref: <Document Reference Number>
April 12, 2008

2. Open and Closed Issues for this Deliverable


Add open issues that you identify while writing or reviewing this document to the
open issues section. As you resolve issues, move them to the closed issues section
and keep the issue ID the same. Include an explanation of the resolution.

When this deliverable is complete, any open issues should be transferred to the
project- or process-level Risk and Issue Log (PJM.CR.040) and managed using a
project level Risk and Issue Form (PJM.CR.040). In addition, the open items should
remain in the open issues section of this deliverable, but flagged in the resolution
column as being transferred.

Open Issues

ID Issue Resolution Responsibility Target Date Impact


Date

Closed Issues

ID Issue Resolution Responsibility Target Date Impact


Date

Discoverer Open and Closed Issues for this Deliverable 31


File Ref: 深入浅出Oracle EBS之Discoverer实例详解.doc (v. DRAFT 1A )
Company Confidential - For internal use only

You might also like