oracle 报表生成器的学习

简单报表

最简单的报表由一些说明报表信息的标题组成,后跟通常作为一系列相交的行和栏以列表形式提供的报表数据。因此,简单的报表实际上是二维的,与您在电子表格中可能创建的类似。

取决于行和栏的固有属性,行和栏将确定显示在简单报表正文中的值。例如,考虑一个属性名为“库存”的资产负债表帐户行和一个属性为“1996.9”的栏。由“库存”行和“1996.9”栏相交所定义的报表“单元格”将包含 1996 年 9 月的库存帐户余额。

此节中的主题
行、栏、行集和栏集

报表维

标准栏集

定义行和行集并指定帐户

显示类型

基本报表格式

定义报表

行、栏、行集和栏集
借助于 FSG,您可以使用此基本行/栏概念来建立您自己的财务报表:

  • 1. 决定组成报表的行和栏。
  • 2. 定义行和栏,然后告知 FSG 这些行和栏所具有的属性。
  • 3. 使用这些行和栏来建立报表。
通过将多个行和栏定义归类为“集”,FSG 进一步简化了报表的建立步骤。例如,假定您定义了一个简单报表,此报表使用“年终 12/31/95”和“年终 12/31/96”属性的两个栏。您意识到这两个栏除用于刚定义的报表外,可能还要用于其它报表。于是您使用 FSG 来定义并保存由这两个栏定义组成的 栏集。这样,在需要基于这两个栏的新报表时,您仅需告知 FSG 使用栏集来建立报表即可。您也可以通过行定义分组,并创建 行集来进行此操作。

行集和栏集是 FSG 报表的两个主要构件。此概念在图 1-4 显示的报表中说明。

图 1 - 4. 基本 FSG 报表对象

请注意此简单报表使用一个行集和一个栏集建立。行集包含许多行定义,而栏集仅包含四个栏定义。此处所列是上图实例所示的行和栏的其它一些特性:

    • 您可以对行或栏指定帐户或计算。在下一节中要讨论的计算对于创建报表中总额、小计、差异和百分比非常有效。
    • 您可以对行或栏指定金额类型。金额类型可以确定报表是否包括:
      • 实际、预算或保留金额。
      • 期初至今、季初至今、年初至今或项目至今的帐户余额。
    • 虽然您可以控制 FSG 的打印内容,但是 FSG 将自动打印在上图中显示为帐号的行标签。例如,FSG 通常会打印帐号,您可以除帐号外还打印帐户说明,或打印帐户说明而不打印帐号。与行标签不同,栏标题由您定义(作为栏集的一部分)。
典型报表维
图 1-4 中的实例说明了另一个重要的 FSG 概念:

    • 一般说来,帐户指定至行定义而金额类型则指定至栏定义。
在实例中,此典型的报表维生成一个费用列表,列表中每个报表行为费用帐户,而两个主栏则是截至 1995 年 12 月和 1994 年 12 月的年初至今实际费用。

您定义的大多数报表可能使用实例中看到的报表维。但您可以以相反的维定义报表对象。

标准可再使用栏集
您可以通过使用预定义的十四个标准栏集(如每月可比较的年初至今或期初至今差异)来建立多个财务报表。对于更复杂的报表,您可以自定义栏集。

定义行和行集并指定帐户
行是行集的子部件 - 它们在创建新的行集时定义。

简单报表的每个行定义至少包括:

    • 表示行集中行顺序的序号。
    • 帐户指定(帐户的范围)或说明。您可以使用说明行在一组相关行上面立即显示子标题。
下面是仅使用帐户指定的样本报表的样本行集:

序列 帐户指定起始 帐户指定终止
10 01.100.2000.000.000.000 01.300.2000.000.000.000
20 03.100.2000.000.000.000 03.300.2000.000.000.000
30 01.500.1000.000.000.000 01.900.1999.000.000.000
40 03.500.1000.000.000.000 03.500.1999.000.000.000

在此实例中,由行定义生成的、序号为 10 的报表行将首先显示在报表中,后跟序号为 20 的报表行,然后是 30、40 ,以此类推。

显示类型
在对行定义进行帐户指定时,您也指定了每个帐户结构段三种中的一种显示类型。显示类型可以控制明细层,在明细层上 FSG 将在报表中显示单个报表行:

扩展:报表为每个帐户段值列出一行。例如,假定最后帐户段有三个中的一个值,并且帐户余额如下:

余额
xx.xxx.xxxx.xxx.xxx.100 1,000
xx.xxx.xxxx.xxx.xxx.200 2,500
xx.xxx.xxxx.xxx.xxx.300 1,500

如果您为帐户段选择“扩展”,则 FSG 报表将为上面列出的每个帐户值列出一个报表行。

总额:报表为此帐户段仅列出一行,该行是所有帐户段值的金额合计。

使用同一实例,如果行定义指定帐户的最后一段来合计,则 FSG 报表将仅列出一个报表行而非三行,如下所示:

xx.xxx.xxxx.xxx.xxx.TOTAL 5,000

两者:报表将为扩展明细和总额各列出一行,如下所示:

xx.xxx.xxxx.xxx.xxx.100 1,000
xx.xxx.xxxx.xxx.xxx.200 2,500
xx.xxx.xxxx.xxx.xxx.300 1,500
xx.xxx.xxxx.xxx.xxx.TOTAL 5,000

基本报表格式
在简单报表中,您选择的标准栏集将确定基本数据项目格式 - 例如,是否显示货币符号或要包括的小数位数。标准栏集也具有预定义栏标题。

行标签,以及行标签上的栏标题由 FSG 自动插入报表。在定义报表的行集时,您指定的“报表标题”将与报表打印日期/时间、页码和本期一起自动添加。简单报表的其它控制格式还包括缩进、行之间的跳线、下划线字符(用于小计和合计)以及分页符。

定义报表
一旦定义行和行集,则定义简单的 FSG 报表将很容易。您仅需给出报表定义名称和可选说明,然后对此报表指定行集和标准栏集即可。

相关问题已全部向您说明。一旦定义,您可以随时通知 FSG 运行生成报表。

另请参阅

报表建立概念

特殊格式报表

报表分配

其它 FSG 功能

财务报表生成器概览

使用财务报表生成器

GL 桌面集成器报表向导

定义行集

定义栏集

标准栏集

指定帐户至报表

行集显示类型

定义财务报表

 

来源地址:http://www.qiuhao.com/erp/oraclegl/aboutf02.htm#t_fsg_simple

初学oracle报表开发笔记 -- process report output('<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel">'); output('<head>'); output('<title>库存现有量报表</title>'); output('<style>'); output('body,table{font-size:13px;font-family:"Book Antiqua","Segoe UI", Tahoma, "Trebuchet MS", verdana, helvetica, arial, sans-serif, Georgia;}.text {mso-number-format:"\@";}.retnum {mso-number-format:"0\.00";}'); output('</style>'); output('</head>'); output('<body>'); output('<h2 align=center><B>库存现有量报表</B></h2>'); output('<table width=600 border=0 bordercolor=black>'); output(' <tr>'); output('<th align=right>OU:</th>'); output('<td align=left>' || g_ou_name || '</td>'); output('<th align=right>组织:</th>'); output('<td align=left>' || l_organization_name || '</td>'); output(' </tr>'); output('</table>'); output('<table width=1800 border=1 bordercolor=black>'); output(' <tr>'); output('<th rowspan=1 width=50>库存组织编码</th>'); output('<th rowspan=1 width=50>库存组织说明</th>'); output('<th rowspan=1 width=50>子库编码</th>'); output('<th rowspan=1 width=50>子库说明</th>'); output('<th rowspan=1 width=50>物品编码</th>'); output('<th rowspan=1 width=50>物品说明</th>'); output('<th rowspan=1 width=50>批次</th>'); output('<th rowspan=1 width=50>库存量 </th>'); output('<th rowspan=1 width=50>最小库存量</th>'); output('<th rowspan=1 width=50>最大库存量</th>'); output(' </tr>'); FOR cl IN (select OOD.ORGANIZATION_CODE, --库存组织编码 OOD.ORGANIZATION_NAME, --库存组织说明 MSA.SECONDARY_INVENTORY_NAME subinventory_code, --子库编码 MSA.DESCRIPTION subinventory_name, --子库说明 MSIV.SEGMENT1 item_no, --物品编码 MSIV.DESCRIPTION item_desc, --物品说明 MOQD.LOT_NUMBER, --批次 sum(MOQD.Primary_Transaction_Quantity) Primary_Transaction_Quantity, --库存量 MSIV.MIN_MINMAX_QUANTITY, --最小库存量 MSIV.MAX_MINMAX_QUANTITY --最大库存量 from mtl_onhand_quantities_detail moqd, ORG_ORGANIZATION_DEFINITIONS OOD, mtl_subinventories_all_v MSA, MTL_SYSTEM_ITEMS_VL MSIV where moqd.inventory_item_id = msiv.INVENTORY_ITEM_ID and moqd.organization_id = msiv.ORGANIZATION_ID and moqd.organization_id = ood.ORGANIZATION_ID and moqd.subinventory_code = msa.SECONDARY_INVENTORY_NAME and moqd.organization_id = msa.ORGANIZATION_ID group by OOD.ORGANIZATION_CODE, OOD.ORGANIZATION_NAME, MSA.SECONDARY_INVENTORY_NAME, MSA.DESCRIPTION, MSIV.SEGMENT1, MSIV.DESCRIPTION, MOQD.LOT_NUMBER, MSIV.MIN_MINMAX_QUANTITY, MSIV.MAX_MINMAX_QUANTITY) LOOP output(' <tr>'); output(' <td align=left><font size=1>' || cl.ORGANIZATION_CODE || '</font></td>'); output(' <td align=left><font size=1>' || cl.ORGANIZATION_NAME || '</font></td>'); output(' <td align=left><font size=1>' || cl.subinventory_code || '</font></td>'); output(' <td align=left><font size=1>' || cl.subinventory_name || '</font></td>'); output(' <td align=left><font size=1>' || cl.item_no || '</font></td>'); output(' <td align=left><font size=1>' || cl.item_desc || '</font></td>'); output(' <td align=left><font size=1>' || cl.LOT_NUMBER || '</font></td>'); output(' <td align=left><font size=1>' || cl.Primary_Transaction_Quantity || '</font></td>'); output(' <td align=left><font size=1>' || cl.MIN_MINMAX_QUANTITY || '</font></td>'); output(' <td align=left><font size=1>' || cl.MAX_MINMAX_QUANTITY || '</font></td>'); output(' </tr>');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值