You are browsing the archive for 报表.

DBI:创建衡量指标(Measure KPI)

三月 17, 2009 in Oracle EBS二次开发

 

本文继续 DBI:创建维度及维度关系 一文,描述如何创建DBI中的KPI指标,如果需要在DBI报表中创建图表,就需要对报表中的数字列创建必要的衡量指标,基本步骤为:

  1. 定义KPI的主要属性
  2. 定义附加的属性
  3. 定义Cause and Effect度量
  4. 定义数据源

 

Read the rest of this entry →

DBI:创建维度及维度关系

三月 17, 2009 in Oracle EBS二次开发

 

本文继续 DBI:创建维度对象 一文,描述DBI中维度创建的步骤:

  1. 如何基于维度对象创建DBI维度
  2. 如何创建维度之间的关联关系

 

Read the rest of this entry →

DBI:创建维度对象

三月 14, 2009 in Oracle EBS二次开发

 

本文继续 Oracle EBS DBI概述 一文,描述Oracle EBS DBI报表开发中如何创建维度中所使用的维度对象,创建维度对象的步骤有:

  1. 定义维度对象的主要属性
  2. 定义相关的显示属性
  3. 定义维度对象的数据源

 

Read the rest of this entry →

Oracle EBS DBI概述

三月 13, 2009 in Oracle EBS二次开发

 

此系列的DBI内容是本人在2007年底时候记录的,为了进行备查,特将其贴出。

当时基于的DBI版本为7.2

Read the rest of this entry →

在Report中取得帐户描述(3)

九月 27, 2008 in Oracle EBS二次开发

 

本文介绍在 Oracle Report Builder中使用用户出口函数(USER_EXIT)取得账户的描述。

 

在Oracle EBS的环境下,使用Oracle Report Builder可以很方便的取得关键性弹性域相关的数据信息,主要分为两个步骤来实现:

1)根据弹性域动态创建SQL语句,这个步骤生成的输出作为第二步骤的输入;

2)根据输出的要求显示数据。

 

一、初始化

 

在编写的SQL语句中添加词义变量(通过Placeholder实现);调用FND FLEXSQL用户出口函数来创建查询,并指定参数设定。

这样一来,报表在运行SQL查询运行之前根据用户出口函数的参数指定将词义变量替换为具体的数据库列,如编写了如下的查询语句:

SELECT &LEXICAL1 alias, column
  FROM table
WHERE &LEXICAL2

如调用FND FLEXSQL用户出口函数的时候指定了弹性域有两个段组成,SEGMENT1的值小于2,即&LEXICAL1被替换为 “SEGMENT1||’\n’||SEGMENT2″,&LEXICAL2被替换为 “SEGMENT1 < 2″ 。这样实际的SQL查询语句则为:

SELECT SEGMENT1||’\n’||SEGMENT2 alias, column
  FROM table
WHERE SEGMENT1 < 2

在这个阶段,我们还可以使用SELECT, ORDER BY, GROUP BY或者WHERE 语句来更改SQL语句;保证每个词义变量调用一次FND FLEXSQL用户出口函数。

 

二、显示

 

这一步骤就是将取出的弹性域数据根据要求显示出来,使用FND FLEXIDVAL 用户出口函数来处理。需要添加一个公式列(Formula Clumn)来包括显示的弹性域信息。

必须为每一条记录调用一次FND FLEXIDVAL

 

三、详细的实现步骤

 

  1. 添加一个用户参数 P_CONC_REQUEST_ID(Number),这个参数是在用户出口函数初始化的时候需要使用
  2. 在报表触发器BeforeReport中调用用户出口函数 FND SRWINIT 来初始化环境:取得并发程序相关信息和预制文件信息
  3. 在报表触发器AfterReport中调用用户出口函数 FND SRWEXIT 来释放用户出口函数中使用的内存
  4. 定义SQL中需要使用的词义变量,即定义一个Placeholder,并根据需要取出的段来设置空时的值
  5. 在报表触发器BeforeReport中调用用户出口函数 FND FLEXSQL来初始化SQL
  6. 在报表触发器BeforeReport中调用用户出口函数 FND FLEXSQL,并设置MODE=”WHERE”来限制查询的数据
  7. 在报表触发器BeforeReport中调用用户出口函数 FND FLEXSQL,并设置MODE=”ORDER BY”来对段列的数据进行排序
  8. 显示段值或段值的描述,通过创建公式列(Formula Column),并在公式列的触发器中调用FND FLEXIDVAL用户出口函数来显示弹性域数据

 

四、示例展示 

 

下面以一个实际的例子将上面的步骤做出展示

目的:开发一个报表,打印出账户组合以及账户组合的描述、自然账户的描述

样式

Combination         Description                                                                                                                   Account Desc
———————–  ————————————————————————————————————-  ——————————–
100.1160.1210.0000.0000  US Company.EM2 Maintenance Plant.Receivables – Trade.Default.Future Use               Receivables
100.1160.5902.0000.0000  US Company.EM2 Maintenance Plant.Invoice Price Variance.Default.Future Use           Invoice Price Variance
100.1160.2220.0000.0000  US Company.EM2 Maintenance Plant.Uninvoiced Receipt Accrua.Default.Future Use     Uninvoiced Receipt Accrua
100.1160.4100.0000.0000  US Company.EM2 Maintenance Plant.Product Revenue.Default.Future Use                   Product Revenue

 

下载Oracle Report设计文件Download HR人员信息导入 Version 1

 

关于如何取得账户描述的系列已结束:

 

在Report中取得帐户描述(3)

在Report中取得帐户描述(2)

在Report中取得帐户描述(1)

用户出口函数USER EXIT介绍

 

-