SAP FI/CO 报表利器:Report Painter/Report Writer 从入门到精通配置指南

赛博仓鼠导读:本文是一份关于 SAP FI/CO 模块中经典报表工具 Report Painter/Report Writer 的详细配置指南。它系统性地解决了顾问在创建自定义财务报表(如按事业部列示的资产负债表)时,如何从零开始配置报表库、定义行/列项目、设置变量与集、并最终生成可执行事务代码的具体问题。文章通过一个清晰的实例,逐步拆解了从 GR21 到 SE93 的完整配置路径,并解答了关于数据来源与计算逻辑的核心疑问,是掌握这一“编码少但配置繁”工具的操作手册。


目录

  1. 概述
  2. 事务代码
  3. 配置方法
    1. 库注册:GR21
    2. 报表注册:GRR1
      1. 【列项目设置】启动路径:双击标题项目
        1. 集注册:GS01
        2. 变量注册:GS11
      2. 【行项目设置】启动路径:双击行项目
      3. 【一般数据设置】启动路径:ALV菜单栏 > 编辑 > 一般数据选择
  4. 作业注册:GR51
  5. 事务注册:SE93
  • 表结构
  • 练习题
  • Q&A
    1. 【Report Painter/Report Writer】选择屏幕上输出的项目是在哪里定义的?
    2. 【Report Painter/Report Writer】输出画面上显示的数据是如何计算出来的?

概述

SAP 中用于简易创建报表程序的机制。
用于从单一表中获取数据,并以偏好的布局进行显示。
主要在财务会计和管理会计中使用。

虽然不需要复杂的编码,但由于 UI/UX 难以理解,最初上手有一定难度。

此外,由于读取的表只能是一个,因此无法结合多个表进行显示。
可以进行项目的汇总和四则运算。

事务代码

配置对象 注册 修改 查询 配置内容、备注
GR21 GR22 GR23 定义报表读取的表、项目。
报表 GR31 GR32 GR33 定义报表的布局。
GS01 GS02 GS03 定义项目的层次结构、分组。
变量 GS11 GS12 GS13 定义可变的项目。也指定初始值。
作业 GR51 GR52 GR53 使报表进入可执行状态。
事务 SE93 SE93 SE93 将报表与事务代码关联起来。

配置方法

以输出如下按事业部的资产负债表为例进行说明。


纵向(行)列出 BS 科目,
横向(列)显示在选择画面中输入的标准会计年度的金额、上年度的金额、差额(标准会计年度-上年度)。

库注册:GR21

指定报表读取的表和项目。
本次示例中指定 GLT0,如果是利润中心会计则指定 GLPCT 等汇总表。
※指定的表是单一的。无法结合多个表进行抽取。

此外,对使用的项目,分别设置特性、基本关键值(勾选要使用项目的复选框)。

特性 指定要使用的特性项目(作为分析维度的项目。如组织架构的主数据或时间相关的项目等。相当于公司代码、会计年度等)。
基本关键值 值项目(数值项目。如金额、数量等)
关键值 为常用的基本关键值,同时赋予维度切口的项目。例如,第一季度的金额等。 ※ 组合了“第一季度(1月~3月)”这一特性和“金额”这一值项目。 ※ 如果觉得复杂,可以先跳过。

报表注册:GRR1

按以下顺序说明。

  1. 列项目(标准会计年度、上年度、差额)的设置
  2. 行项目(科目代码)的设置
  3. 其他项目(公司代码、事业部。称为“一般数据”)的设置
【列项目设置】启动路径:双击标题项目

列项目的要点在于,指定要显示的值项目(金额项目)。
这一点与行项目或一般数据不同。

另外,设置显示金额的抽取条件(汇总单位)。
这是行项目或一般数据同样需要设置的内容。

此外,选择的项目、变量将成为报表选择画面上显示的项目。

※ 面向想了解更多细节的人

基本上应从“带特性的关键值”开始设置。
在这里如果指定“预定义关键值”,则可以预先设置好定义的基本关键值或特性作为初始值。

标准会计年度

以选择画面输入的会计年度为条件,从 GLT0 表获取金额(HSL 本币)。
要显示的金额是按会计年度单位汇总的,因此在“已选特性”中指定会计年度。

各项目的说明如下。
如果觉得复杂的地方,建议先跳过,稍后再读。

基本关键值 指定输出的数值项目。本次示例中为金额项目 HSL。
已选特性 选择作为抽取条件、汇总单位的项目。从“可用特性”中选择项目,点击“<”按钮移动到已选特性。 这里选择的项目、变量将成为报表选择画面上显示的项目。
- 名称 选择作为抽取条件、汇总单位的项目。 对于标准会计年度,要显示按年度汇总的值,因此指定“会计年度”。
- SET 影响开始、结束项目。当开始、结束项目使用具有层次结构、分组结构的数据时,将 SET 设为 ON。 ※ 详情后述
- 变量 使用变量时,将变量设为 ON。 ※ 详情后述
- 开始 对选择的特性项目,指定允许输入的范围。 直接输入值或数值来指定,或者要指定变量(可变的数值等)时,输入变量名。
- 结束 与“开始”相同,输入范围指定时的结束值。
- 附加 对一个特性项目输入多个范围时使用。
- 展开 ※ 仅限行项目、一般数据 可以设置为能够展开/压缩具有层次结构或分组结构的项目。 ・无展开:没有展开/压缩按钮,仅显示合计值。 ・展开:可以通过压缩/展开按钮进行打开/关闭。 (本次示例中,可以在按科目代码显示/全部科目合计显示之间切换) ・单独值:不显示合计行,各值被列出。 (本次示例中,列出各科目代码的金额,不出合计值)

上年度

基本设置与标准会计年度相同。
但是,从表抽取的条件是 标准会计年度-1 的年度,因此需要在变量定义中设置。
※ 如果觉得复杂,可以先跳过。

关于集、变量 ※ 面向想了解更多细节的人

集注册:GS01

定义层次结构、分组结构时使用。
本次示例中,事业部和科目代码属于此类。

基本集 用开始~结束范围指定分组的内容。※ 当集中同时包含集和范围指定时使用这个?
单维集 可能是定义层次结构上层结构的东西。通过指定下层集,可以定义层次结构。“单一”是因为只对一个项目定义层次结构。
多维集 与单维集不同,对多个项目(例如,科目代码和事业部)注册集。
关键值集 将关键值集化的东西。
变量注册:GS11

定义可变项目时使用。
本次示例中,公司代码、会计年度等属于此类。
另外,通过设置初始值,可以指定选择画面的初始值。

变量有以下 3 种类型(称为变量类型)。

    • 用于建议初始值。
    • “选择画面的输入项目”> 勾选内部变量,则不会在选择画面显示,只影响抽取条件。
    • (部分项目显示的)“选择画面的输入项目”> 勾选参数 ID,则参数值优先于初始值。例如,如果在第 6 期操作 SAP,会计期间的初始值会填入“6”。
  • 公式
    • 可以进行四则运算。
    • 本次示例中,上年度是标准会计年度减 1 年的值,因此输入“标准会计年度-1”这样的印象。
    • 内部变量的复选框,与“值”类型相同。
    • 使用具有层次结构、分组结构的项目时指定。
    • “初始值”的设置
      • 所有值:表示所有值,在选择画面上显示为空白(=无条件、全部)
      • 初始值集:要指定初始值时在此输入值
    • “选择画面的输入项目”的设置
      • 集和值输入:在选择画面上可以用集(集、分组)或范围指定来输入条件
      • 仅集输入:在选择画面上只能通过集(集、分组)指定条件
      • 仅值输入:只能通过范围指定条件

差额(公式)

差额是 标准会计年度的金额 – 上年度的金额 这样计算出的列项目,因此需要进行称为“公式”的定义。

双击标题项目 > 选择公式,在公式行输入 X001 – X002。

【行项目设置】启动路径:双击行项目

特性值的设置方法与列项目相同。
不同点在于,可以设置“展开”项目。

行项目大多具有层次结构或进行了分组。
本次示例中科目代码具有层次结构,因此将 SET 设为 ON,指定“展开”。

【一般数据设置】启动路径:ALV菜单栏 > 编辑 > 一般数据选择

指定未在行项目或列项目中指定,但希望包含在抽取条件中、在选择画面上输入的项目。本次示例中为公司代码、事业部。
这些项目是希望同时成为“标准会计年度”和“上年度”抽取条件的项目。
通过将这些项目设置为一般数据,它们将成为两者的抽取条件。

此外,通过设置“展开”,可以在导航区域(输出画面的左侧)显示层次结构。本次示例中,将事业部的 SET 设为 ON,指定“展开”。这样,在输出画面上可以切换显示按事业部的 BS 科目、全部事业部合计的 BS 科目。

输出画面的标题页、页眉的编辑方法 ※ 面向想了解更多细节的人

  • 标题页
    输出画面显示时不可见。向上滚动后可见。
    编辑方法:ALV菜单栏 > 附加 > 报表文本 > 标题页
  • 页眉
    输出画面显示时显示在画面上部。
    编辑方法:ALV菜单栏 > 附加 > 报表文本 > 页眉

作业注册:GR51

为了执行报表,需要进行作业注册。
操作上,主要是将作业 ID 与报表 ID 关联,然后执行“生成”。
生成完成后,报表即可执行。

※ 一个作业 ID 可以关联多个报表,但要使事务代码与报表 1:1 关联,需要将作业 ID 与报表 1:1 注册。

此外,进行作业注册后会分配程序 ID。
因此,报表的执行以及下一项说明的事务注册成为可能。
注意,程序 ID 每次生成都不同,环境改变程序 ID 也会改变。

事务注册:SE93

通过将作业 ID 与事务代码关联,使得可以通过事务代码执行报表。
关联关系为:事务代码 → 作业 ID → 报表 ID。

配置内容的主要部分如下。

  • 事务代码
  • 跳过初始屏幕:ON
  • 继承 GUI 属性:ON
  • 默认值
    • D_SREPOVARI-REPORTTYPE:RW
    • D_SREPOVARI-REPORT:输入作业 ID

表结构

SETLEAF 保持层次结构
SETNODE 保持集的内容(范围)

练习题

编辑中。

Q&A

【Report Painter/Report Writer】选择屏幕上输出的项目是在哪里定义的?

在选择画面上输出的项目,是在报表定义(GRR1)的“列项目”、“行项目”、“一般数据”的“已选特性”中勾选了“变量”的项目。这些项目会作为输入字段在选择画面上显示。

【Report Painter/Report Writer】输出画面上显示的数据是如何计算出来的?

输出画面上显示的数据,是根据在报表定义(GRR1)中为每个“列项目”设置的“基本关键值”和“已选特性”(包括变量和集),从指定的单一表(在 GR21 的库中定义)中抽取并汇总计算出来的。对于“差额”等计算列,则是根据定义的公式(例如 X001 - X002)对已抽取的数据进行运算得出的结果。


:japan: 来源: SAP認定コンサル道場 | 整理: 赛博仓鼠 (Eddy)
(本文内容仅供学习交流,版权归原作者所有)