第 267 页 / 共 427 页
在系统的自动合并处理过程中,与合并范围无关(G_NONE)且以记账本位币(LC)表
示的数据会自动被换算成合并范围指定的所有合并报表货币,然后这些数据会根据合并范围
进入若干个合并范围进行自动合并处理。其中,INV32和CTA01(在表中标志*)所进行的调
整与币种有关,可用于多个合并范围。因此,它们记录的数据必须使用Consoscope维度成员
G_NONE及Currency维度成员中的合并报表货币(如示例中的EUR),以确保这些数据不需
要进行币种换算但会直接进入相应合并范围的合并处理过程。
表 9-3 列出了 SAP_IFRS 中用于记录合并抵销分录的审计线索维度成员及其用法。表中
标示出了这些维度成员是否可用于手工录入抵销分录或者用于系统自动产生分割集团与少数
股东权益的分录。对于记录手工录入抵销分录的成员,可以参见表9-2,查看其如何与母公司
维度及币种维度配合使用。
表9-3 SAP_IFRS审计线索维度的合并分录成员
Audit ID 描述 可用于手工调整分录 自动划分集团与少数股东权益
MTH_EQU 权益法
MTH_PRO 比例合并法
SCO_INC 新增子公司
SCO_OUT 剥离子公司
CONS01 无法分类的合并分录 ×
CONS10 子公司股本及股票溢价抵销 ×
CTA01 外币换算调整-权益-手工 ×
CTA10 外币换算调整-权益-自动 ×
FGW10 少数股权并购交易及商誉簿记-自动 ×
FGW11 少数股权并购交易及商誉簿记-手工 ×
FGW20 商誉外币换算调整-自动 ×
FGW21 商誉外币换算调整-手工 ×
GW01 并购交易及商誉披露-手工 ×
GW10 并购交易及商誉簿记-自动 ×
GW11 并购交易及商誉簿记-手工 ×
GW20 商誉外币换算调整-自动 ×
GW21 商誉外币换算调整-手工 ×
INV10 投资抵销-自动 ×
INV11 投资抵销-手工 ×
INV20 投资的外币换算调整-自动 ×
INV21 投资的外币换算调整-手工 ×
INV31 长期股权投资处置损益调整 × ×
INV32 长期股权投资处置损益调整-合并货币 × ×
NCI_ADJ90 其他调整-少数股东权益计算
NCI_CTA10 外币换算调整-权益-少数股东权益计算
新增子公司公允价值(集团层面调整)-少数
NCI_FVA10
股东权益计算
NCI_INPUT 录入数据-少数股东权益计算
NCI_INPUT10 集团会计政策调整-少数股东权益计算
NCI_INPUT90 个别报表数据-集团调整-少数股东权益计算
NCI_INV30 处置子公司损益调整-少数股东权益计算
NCI11 少数股东权益计算-调整 ×
25 6
| 描述 | 可用于手工调整分录 |
|---|---|
| 权益法 | |
| 比例合并法 | |
| 新增子公司 | |
| 剥离子公司 | |
| 无法分类的合并分录 | × |
| 子公司股本及股票溢价抵销 | |
| 外币换算调整-权益-手工 | × |
| 外币换算调整-权益-自动 | |
| 少数股权并购交易及商誉簿记-自动 | |
| 少数股权并购交易及商誉簿记-手工 | × |
| 商誉外币换算调整-自动 | |
| 商誉外币换算调整-手工 | × |
| 并购交易及商誉披露-手工 | × |
| 并购交易及商誉簿记-自动 | |
| 并购交易及商誉簿记-手工 | × |
| 商誉外币换算调整-自动 | |
| 商誉外币换算调整-手工 | × |
| 投资抵销-自动 | |
| 投资抵销-手工 | × |
| 投资的外币换算调整-自动 | |
| 投资的外币换算调整-手工 | × |
| 长期股权投资处置损益调整 | × |
| 长期股权投资处置损益调整-合并货币 | × |
| 其他调整-少数股东权益计算 | |
| 外币换算调整-权益-少数股东权益计算 | |
| 新增子公司公允价值(集团层面调整)-少数 股东权益计算 | |
| 录入数据-少数股东权益计算 | |
| 集团会计政策调整-少数股东权益计算 | |
| 个别报表数据-集团调整-少数股东权益计算 | |
| 处置子公司损益调整-少数股东权益计算 | |
| 少数股东权益计算-调整 | × |
第 268 页 / 共 427 页
9.1.3 合并用户界面与系统功能
在建立合并模型后,用户需要进行用户界面和合并功能的配置。正如在9.1.1节看到的,
在合并业务流程中,需要使用大量的输入工作簿和各种报表,使用数据管理器批量导入数据,
利用控制过程对数据进行校验,使用业务规则实现期末数的自动结转、币种换算及自动合并
抵销等。
除了网页和 Office 报表以及业务处理流程界面外,系统还提供了专门的合并中心界面。
用户可以使用合并中心,维护合并范围的相关参数、使用流水账模板录入手工调整分录、执
行并监控合并的进程。这些功能都需要进行相应的配置。
9.1.3.1 合并中心
SAP 计划与合并系统提供的合并中心用于管理与执行合并数据,对组织范围内的数据
收集与合并抵销的状态进行监控,基于网页界面提供了执行合并任务的统一管理平台,如
图9-10所示。
图9-10 合并中心
合并中心包含了以下功能界面。
(1)合并监视器:合并监视器是用于监测特定合并范围的合并进程的一个全局的监控平
台,每一个具体合并范围是由特定的类别、期间、合并组或者子合并组确定的。合并监视器
是执行增量合并的一个关键组件,可用于命令合并引擎哪些实体执行币种换算或者合并。
(2)控制过程监视器:执行并监控用于对报表数据进行校验的控制过程。参见第 6 章及
第11章对控制过程的详细介绍。
(3)流水账:创建与管理流水账分录包含了对收集的原始数据和合并抵销数据进行调整
的分录。参见第11章对流水账的详细介绍。
(4)所有权管理器:创建与管理基于所有权的层次结构,用于执行法定合并。参见 9.2
节对所有权管理器的详细介绍。
257
第 269 页 / 共 427 页
9.1.3.2 合并监视器
进入合并中心的合并监视器,如图9-11所示。
图9-11 合并监视器
合并监视器界面的右上方显示了正在使用的数据模型,在上下文栏中显示了类别维度、
时间维和母公司维度。在主体窗口中,合并监视器显示以下信息。
(1)合并范围/实体:根据用户在所有权管理器中定义的所有权层次结构,列出了当前合
并范围(母公司维度成员)其及包含的所有实体维度成员。
(2)控制过程集状态:显示控制过程执行的结果。控制过程集的状态提示用户检查报表
数据的准确性。
(3)工作状态:显示提交数据的完成情况。为了在合并监视器中显示工作状态,驱动维
度必须至少包括类别、期间和实体维度。如果选择了其他维度,则每一个其他维度都必须选
择一个维度成员,才能显示工作状态。每一次工作状态变更时,必须检查相应的控制过程集
状态。
(4)币种换算:显示币种换算的结果。其状态可能是“完成”或者“待执行”。如果数据
在上一次执行币种换算后发生了数据修改,需要重新执行币种换算。
(5)合并:显示合并进程的结果。其状态可能是“完成”或者“待执行”。如果数据在上
一次执行合并后发生了数据修改,需要重新执行合并进程。
在列表窗口的工具栏上,提供了以下操作功能。
(1)修改工作状态:在列表中选择一个实体,单击“工作状态”按钮,系统弹出修改工
作状态对话框,供用户修改工作状态,如图9-12所示。
在收集个别报表数据的过程中,用户可以查看数据区域的工作状态变化,或者使用这
一对话框修改相应数据区域的工作状态。关于工作状态配置及使用的详细介绍参见 4.2.1
小节。
25 8
第 270 页 / 共 427 页
(2)运行币种换算:选择一个实体,并单击“换算币种”按钮,系统弹出如图9-13所示
的对话框。
图9-12 修改工作状态
图9-13 币种换算对话框
在币种换算对话框中,用户需要定义以下项目。
1)类别:选择进行币种换算的金额的报表数据的类型。
2)时间:选择要进行币种换算的数据期间。
3)合并组/实体:选择需要运行币种换算的范围。如果用户选择一个合并组或者子合并
组时,币种换算使用合并组定义的币种为币种换算的目标币种。如果用户选择了基本实体,
则需要单独定义目标币种。
259
第 271 页 / 共 427 页
4)报表币种:如果用户选择了基本实体,对话框显示报表币种维度,供用户选择运行币
种换算的目标币种。如果用户选择了合并组或者子合并组,则不出现这一选项。
5)汇率实体,系统显示汇率模型的实体维度,供用户选择存储汇率的汇率实体。
完成上述维度成员选择后,用户还可以选择执行模式。用户可以选择完全币种换算,或
者通过增量币种换算更新之前执行过的币种换算结果。
(3)运行合并:系统基于手工输入数据、使用数据管理器批量导入的数据以及流水账分
录,根据相关业务规则自动产生合并抵销数据。
在运行合并对话框中,用户需要选择类别维度、时间维度和母公司维度成员。在执行方
式上,用户可以执行完全合并,即将所有权层次结构中的所有的实体一次性全部执行。也可
以执行增量合并,即只处理更新过的实体。增量合并减少了对系统性能的影响,减少了系统
反映时间。
关于增量币种换算和增量合并的使用,考虑以下几种情况:
1)如果实体中的数据的最近更新时间晚于上一次执行实体所属的合并组或者子合并组币
种换算的时间,就必须为该实体执行增量币种换算。
2)如果实体中的数据的最近更新时间晚于上一次执行实体所属的合并组或者子合并组合
并的时间,就必须为该实体执行增量合并。
3)当为一个实体执行了币种换算,则需要执行增量合并,不论上次合并是何时执行的。
(4)显示正在运行的流程:当用户正在运行币种换算或者合并时,可以单击该按钮查看
运行的进度。系统弹出如图9-14所示的对话框。
图9-14 显示运行中的流程
对话框会显示正在运行的流程的完成进度。用户只可以显示自己拥有访问权限的合并组
的流程。
(5)重置合并流程:用户可以将合并状态重置为“待执行”,并在随后运行完全合并。例
如,在以下几种情况下,用户可能希望将合并状态重置为“待执行”:
1)汇率的变化和所有权变化,无法使用增量合并进行处理。
2)模拟类别数据的增量流程无法反映源类别的数据变化。
3)主数据变化无法触发增量流程。
26 0
第 272 页 / 共 427 页
9.1.3.3 合并功能的多种执行方式
业务规则的使用对于报表合并尤其重要。业务规则可以为出具合并财务报表实现对数据
进行自动处理。例如,对子公司长期股权投资的抵销,少数股东权益调整,重分类及任何其
他合并方法要求的数据处理。合并监视器为执行合并功能提供了统一的用户界面,但是如果
用户希望结合使用业务处理流程和Office界面实现这些功能,也是可以实现的。
系统的合并功能是通过一系列逻辑脚本文件、数据管理器包及业务规则等功能实现的。
每一个业务规则,如期末数结转、币种换算、公司间往来对账、合并抵销等,都是报表合并
过程中的重要步骤。对于每一种业务规则,系统都预定义了相应的数据管理器程序包和逻辑
脚本,可以方便用户在Excel界面中调用这些业务规则。数据管理器程序包的功能在NetWeaver
版本的SAP计划与合并系统中使用BW的处理链实现。表9-4列出了合并任务、处理链、逻
辑脚本与业务规则的对应关系。
表9-4 合并任务与业务规则的关系及其执行方式
合并任务 处理链名称 逻辑脚本文件名 业务规则
期末余额结转 /CPMB/OPENING_BA LANCES COPY_OPENING.LGF 结转
外币报表折算 /CPMB/FX_RESTATM ENT FXTRANS.LGF 币种换算
公司间往来对账 /CPMB/ICDATA ICDATA.LGF 不需要业务规则
公司间往来差异调整 /CPMB/ICBOOKING ICBOOKING.LGF 公司间记账规则
/CPMB/LEGAL_CONS
法定合并(抵销和调整) CONSOLIDATION.LGF 抵销和调整
OLIDATION
科目计算(计算现金流) /CPMB/RUNCALCAC COUNT CALCACCOUNT.LGF 基于科目的计算
简化合并或管理合并,使用美国
/CPMB/IC_ELIMINATI ON ICELIM.LGF US抵销
广泛使用的公司间交易抵销方法
对于每一个合并的流程任务,可以执行预定义的数据管理器包来调用其相关的逻辑脚本
和业务规则表,根据业务规则表的定义执行合并任务。任何特定的业务需求都需要通过对应
的业务规则表进行配置。合并引擎使用这些业务规则在用户指定的数据区域执行相应的计算,
并将计算所得的结果数据写回数据模型。使用数据管理器执行结转业务规则的示例参见 10.3
节的介绍。
9.2 合并范围与合并方法
在完成合并业务场景的系统建模工作后,就可以启动业务处理流程实例,开始财务报表
合并工作。在收集个别报表数据之前,需要由母公司财务人员负责完成合并报表的准备工作,
例如,维护报表合并范围及相关参数、输入币种汇率以及完成上期期末数的结转等。本节将
重点介绍合并范围及相关比例参数的设置。
关于币种汇率的维护,将在第12章币种换算时进行详细介绍。而上期期末数的结转,将
在第10章数据收集部分进行详细介绍。
9.2.1 所有权层次结构
财务合并报表是综合反映以产权纽带关系而构成的企业集团某一期间或时点整体财务状
261
| 处理链名称 | 逻辑脚本文件名 |
|---|---|
| /CPMB/OPENING_BA LANCES | COPY_OPENING.LGF |
| /CPMB/FX_RESTATM ENT | FXTRANS.LGF |
| /CPMB/ICDATA | ICDATA.LGF |
| /CPMB/ICBOOKING | ICBOOKING.LGF |
| /CPMB/LEGAL_CONS OLIDATION | CONSOLIDATION.LGF |
| /CPMB/RUNCALCAC COUNT | CALCACCOUNT.LGF |
| /CPMB/IC_ELIMINATI ON | ICELIM.LGF |
第 273 页 / 共 427 页
况、经营成果和资金流转情况的会计报表。在计算机系统中使用所有权层次结构来表示这
种产权纽带关系,这形成了报表合并范围,其内部的持股比例与控制情况是确定合并方法
的基础。
9.2.1.1 多层集团合并的两种合并思路
大型集团公司往往有比较复杂的组织结构层次,大集团下属还有多个子集团。在进行财
务报表合并时,有以下两种思路:
一种是逐级合并,就是在合并财务报表的过程中,下级集团公司先进行报表合并,下级
集团报表合并后,上级集团基于下级集团的合并报表结果再进行子集团之间的合并抵销。
另一种思路是上下级集团分别进行合并。即上级集团在合并时不使用下级集团的合并结
果,而是将下级集团的所有子公司直接纳入上级集团的合并范围,一次性进行合并抵销。
SAP计划与合并系统同时支持这两种做法。
SAP 合并功能可以很好地处理逐级合并,即所有权层次结构包含了合并范围和多个子合
并范围。在系统层面,要实现多层级的合并,所有权层次结构需要满足以下两个条件:
(1)合并范围与子合并范围之间通过合并范围维度的PARENT_GROUP属性形成层次结
构。
(2)在所有权管理器中,合并实体(法人单位)分别关联到子合并范围,或直接关联到
最上级的合并范围。
同时,母公司维度(合并范围维度)必须使用下列属性,子合并范围合并后的金额才能
存储在数据模型中:
(1)母公司维度STORE_ENTITY属性的属性值设置为“Y”(是)。
(2)母公司维度ENTITY属性的属性值指向一个专用的实体维度成员ID,用于记录合并
范围和子合并范围合并后的值。
在入门套件中给出了一个例子,ALL_ZONES 合并范围。然而,没有与之配套的后续合
并流程的设置。
在后续的业务场景设置中,SAP_IFRS入门套件采用了后一种合并方式进行合并,所有公
司直接挂接到不同级别的合并范围。
9.2.1.2 所有权层次结构特点及示例场景
与一般维度中的层次结构不一样,所有权层次结构有以下特点:
(1)所有权层次结构中的合并范围之间可能存在包含关系。也就是说,大的合并范围可
以包含若干小的合并范围。这种包含关系可以由母公司维度内部的层次结构表示。与一般的
层次结构不同,合并范围之间通过合并范围维度的PARENT_GROUP属性形成层次结构。
(2)所有权层次结构是由母公司维度和实体维度构成的。母公司维度包含了合并范围,
而实体维度成员包含了进入合并范围的母公司(控股公司)和若干子公司。实体维度成员归
属于某个特定的合并范围(母公司维度成员)。也就是说,在所有权层次结构中,上半部分是
由合并范围通过PARENT_GROUP属性形成的层次结构,而实体维度成员是从属于这些合并
范围节点下的叶节点。一个公司可以同时属于多个合并范围。
(3)所有权层次结构会根据不同的数据类别(类别维度成员)与会计期间(时间维度成
员)而变化。对于实际数据和模拟数据,所有权关系可以是不一样的。对于同一类数据,在
不同的会计期间,所有权关系也是不断地发生变化,而且系统要求记录这种变化过程,才能
26 2
第 274 页 / 共 427 页
确定所有者权益的归属。
所有权层次结构的这些特点决定了不能用维度中的层次结构来编辑所有权层次结构,系
统提供了专门的所有权管理器来定义所有权层次结构,并同时提供了维护其他合并参数的功
能。所有权层次结构存储在与合并模型相关的所有权模型中。
以如图9-15所示的业务场景为例,介绍如何在系统中实现合并范围与合并比例的配置。
图9-15 所有权关系演示业务场景
9.2.1.3 所有权模型结构
每张合并报表都有特定的合并范围,系统使用母公司维度来保存合并范围信息,母公司
维度中的一个成员就是一个合并范围。每个合并范围包含若干的公司(实体维度成员),合并
范围与公司的对应关系是通过所有者模型中的母公司维度和实体维度的组合来表示的。通过
设置和使用所有权模型,用户可以在所有权模型中保存所有权层次结构、合并范围和持股比
例等数据,并可以使用法人实体之间的直接持股关系,计算得出集团的最终持股比例,从而
确定合并方法和合并比例。
在SAP_IFRS中,所有权模型结构如图9-16所示。
图9-16 所有权模型结构
263
第 275 页 / 共 427 页
从图 9-16 中可以看出,所有权模型的类型为“所有权”。值得注意的是,在所有权模型
中要指定公司间维度中一个用于表示非交易对方的维度成员数据,如示例中的“I_NONE”。
所有权模型还需要指定母公司维度中一个用于表示合并组层次结构的维度属性,如示例中的
“PARENT_GROUP”。系统会使用这些信息用于根据所有权模型数据生成所有权层次结构。
所有权模型中包含的维度及作用如下。
(1)CATEGORY:必须与合并模型使用相同的类别维度。
(2)TIME:必须与合并模型使用相同的时间维度。
(3)ENTITY:必须与合并模型使用相同的实体维度。
根据示例业务场景要求,在实体维度成员中,需要维护图9-15中的所有公司,如图9-17
所示。
图9-17 演示业务场景实体维度成员
(4)INTERCO:必须与合并模型使用相同的公司间维度。维度中应该包含一个成员用于
存储与交易对方公司无关的数据,如SAP_IFRS示例中的“I_NONE”。
(5)CONSOSCOPE:必须与合并模型使用相同的母公司维度。这一维度中的每一个维度
成员表示一个合并范围,此时母公司维度的 CURRENCY_TYPE 属性取值为 G。此外,母公
司维度中还必须包含一个维度成员,用于存储与合并范围无关的数据,这一维度成员的
CURRENCY_TYPE属性取值为N,如SAP_IFRS示例中的“G_NONE”。
在示例的业务场景中,有两个合并范围G_H1和G_H2,且前者包含后者。在CONSOSCOPE
创建两个成员,且通过PARENT_GROUP属性形成父子关系,如图9-18所示。
(6)OWNACCOUNT:所有权模型中的科目类型维度。这一维度不同于一般模型中的科
目维度。这一维度中要求包含以下维度成员。
1)PGROUP:取值为自然数,用于标记对应的实体维度成员是否属于报表合并范围(由
母公司维度成员表示)及其在合并范围中的相对位置。
26 4
第 276 页 / 共 427 页
图9-18 演示业务场景母公司维度成员
2)METHOD:用于存储特定合并范围内实体维度成员使用的合并方法。
3)POWN:用于存储持股比例。既可以用于存储法人实体之间的直接持股比例,也可以
用于存储合并范围对某一实体的最终持股比例。
4)PCON:用于存储某一实体纳入特定合并范围的合并比例。
5)PCTRL:用于存储控制比例。既可以用于存储法人实体之间的直接控制比例,也可以
用于存储合并范围对某一实体的最终控制比例。
此外,还有一系列以“_SYS”结束的维度成员,用于存储由系统自动计算生成的合并方
法和相应比例,如图9-19所示。
图9-19 演示业务场景所有权模型科目维度成员
265
第 277 页 / 共 427 页
9.2.2 所有权管理器
所有权模型中保存了合并报表涉及的合并范围、使用的合并方法及各种比例参数。用户
可以通过合并中心的所有权管理器维护和修改这些数据。
9.2.2.1 编辑所有权层次结构
使用用户界面合并中心下的所有权管理器维护合并范围。进入所有权管理器界面,如图
9-20所示。
图9-20 所有权管理器显示界面
所有权管理器界面的右上方下拉列表中显示了当前使用的合并模型,用户可以根据需要
进行修改。主体窗口上方的上下文栏显示了类别、时间和合并组维度,用于设置当前的视图。
用户可以单击这些维度,使用成员选择器修改这些维度的成员。其中,合并组维度成员指定
了用户要创建的所有权层次结构的父节点。主体窗口工具栏上有“编辑”按钮和一系列显示
选项。主体窗口的左边显示了由母公司维度和实体维度组成的所有权层次结构,右边显示了
合并方法及各种比例。合并方法及相应的比例都是合并模型对应的所有权模型的科目类型维
度中的维度成员。
选择需要的上下文维度成员,并单击工具栏上的“编辑”按钮,进入所有权管理器编辑
界面,如图9-21所示。
编辑界面的左边是所有权层次结构的编辑窗口。如果上下文中母公司维度成员是合并组
维度中的层次结构的父节点,这一节点及其后代节点都会显示在所有管理器的编辑界面中。
例如,选择了G_H1,在编辑界面中会显示G_H1及其子节点G_H2。
使用所有权层次结构编辑窗口上方的工具栏,可以将实体维度成员与其所属的合并范围
26 6
第 278 页 / 共 427 页
关联起来。在编辑窗口中选择合并范围G_H1,并单击工具栏中的“添加”按钮,系统弹出成
员选择器,如图9-22所示。
图9-21 所有权管理器编辑界面
图9-22 实体维度成员选择器
在成员选择器中选择合并范围包含的实体维度成员,并单击“确定”按钮,系统会
将相应的实体维度成员挂接在合并范围中。示例业务场景中的合并范围完成后如图9-23
所示。
267
第 279 页 / 共 427 页
图9-23 编辑完成所有权层次结构
9.2.2.2 维护实体维度成员明细信息
完成所有权层次结构编辑后,需要在右边的窗口中维护每个实体维成员在合并过程中使
用的合并方法、合并比例和集团持股比例。实体明细信息窗口中包含了合并方法(method)、
合并比例(PCON)和持股比例(POWN)。其中,每列又分为“已生成”和“当前”两个子
列。“已生成”子列用于保存最近一次系统自动计算得出的值,而“当前”子列用于保存当前
系统用于合并的值,它可以是由系统自动计算得到的,也可以是由用户手工调整过的。用户
只能编辑“当前”子列的值。
用户可以在所有权层次结构中选择一个母公司维度成员,然后在右边的窗口中,逐一输
入其包括的实体维度成员的明细,如图9-23所示。也可以在所有权层次结构中选择一个实体
维成员,在右边的窗口显示了与实体维成员相关的所有合并范围的信息,如图9-24所示。
图9-24 维护实体维度成员明细信息
26 8
第 280 页 / 共 427 页
这时,工具栏中的两个选择是可用的。
(1)向上更新所有权:选择该选项后,如果用户在一个合并范围中输入了实体维度成员
的明细信息,系统会自动将这些信息复制到包含当前合并范围的所有上级合并范围。例如,
如果在G_H2录入了S001的信息,系统会自动将这些信息复制到G_H1中,这样可以减轻用
户的维护工作。
(2)显示空白:用户可以使用该选项,显示所有包含在所有权层次结构中,但没有录入
明细信息的实体维度成员。使用该选项,可以防止用户忘记维护新进入合并范围的实体维度
成员的合并方法和比例参数。
在录入实体合并方法时,用户只能从合并方法的“当前”列的下拉列表中选择一个合并
方法代码。合并方法代码是由管理员在业务规则中的“方法”规则定义的。以 SAP_IFRS 中
定义的合并方法为例,如图9-25所示。
图9-25 业务规则—方法
关于方法类型业务规则的详细定义,请参见第13章的相关介绍。对于每一个合并范围,
必须指定一个实体维度成员为母公司。母公司是合并报表的编制主体,一个合并范围必须有
且只能有一个母公司。在SAP_IFRS中,母公司的合并方法代码是111。在示例业务场景中,
合并范围G_H1的母公司是S000公司,合并范围G_H2的母公司是S001公司。
对于合并比例和持股比例,用户需要录入一个0~100之间的数值,用于表示相应的百分
比。以持股比例为例,在这里用户需要录入的是实体维度成员纳入合并范围的整体比例,而
不是法人实体之间的持股关系。例如,在合并范围G_H1中,对S003公司总的持股比例应该
是由S001公司(S000公司对其持有100%股权)持有的60%加上S002公司(S000公司对其
持有80%股权)持有的20%。其加权后的持股比例为76%(100%×60% + 80%×20%)。
269
第 281 页 / 共 427 页
9.2.2.3 自动计算集团持股比例
在股权结构相对简单的情况下,用户可以方便地计算出母公司(集团)对下属公司的持
股比例(POWN)。在股权结构复杂时,系统也提供了集团股权的自动计算功能,并且系统能
根据计算后的控制比例(PCTRL)及相应规则,自动推荐应该使用的合并方法(method)和
合并比例(PCON)。
首先,需要基于所有权模型创建输入工作簿,将如图 9-5 所示的法人公司间的持股关系
输入到系统模型中。输入工作簿结构如图9-26所示。
图9-26 持股比例输入工作簿
输入工作簿的上下文工具栏中选择了与所有权管理器相同的类别维度成员与时间维度成
员。但选择的母公司维度成员是“G_NONE”,因为这些数据并不与某个合并范围相关,它们
是在所有合并范围共享的,可以用为计算所有合并范围的合并范围持股比例。在上下文栏中
还选择了所有权模型的科目维度成员“POWN-持股比例”。
输入工作簿的行是实体维度,代表股权的持有方;列上是公司间维度,代表股权被持有
方。在单元格上输入0~1之间的数字,代表持股比例。对比图9-25和图9-26,不难发现,
后者将前者的持股比例信息完整地保存到了系统模型中。
如果用户希望系统能根据计算后的持股比例及相应规则,自动推荐应该使用的合并方
法和合并比例,还需要将这些持股比例信息维护到所有权模型的科目维度成员“PCTRL-
控制比例”。即在图9-26中所示的输入工作簿中修改上下文中相应的维度成员,并录入相
同的数值。
完成基础数据的录入后,进入所有者管理器的编辑界面。要先指定每一个合并范围中的
母公司,如图9-27所示。
27 0
第 282 页 / 共 427 页
图9-27 维护合并范围的母公司
单击编辑界面右上方的“计算”按钮,系统弹出计算对话框,如图9-28所示。
图9-28 合并范围所有权计算对话框
在计算对话框中,用户可以选择以下选项之一。
(1)计算最终所有权和控制百分比的方法:选择该选项,系统会重新计算每一个合并范
围的最终所有权(POWN)和控制百分比(PCTRL)。用户可以选择以下两种方法之一。
1)直接共享方法㊀:使用直接股权计算方法,即将集团对某一子公司具有控制权的所有
股权直接加总。如示例业务场景中合并范围G_H1的S003公司,集团拥有控制权的S001公司
对其持有的股份是60%,集团拥有控制权的S002公司对其持有的股份是20%,使用这种方法
计算,集团对其持有的最终股权为80%(60% + 20%)。这种方法只考虑集团对S001公司和S002
公司是否具有控制权,而不考虑具体的持股比例。
㊀ 英文为“Direct share method”,应该翻译成“直接股权方法”。——编者注
271
第 283 页 / 共 427 页
2)组共享方法㊀:使用集团股权计算方法,即将集团中所有对特定实体持有股权的直接
母公司持股比例进行加权汇总。如示例业务场景中合并范围G_H1的S003公司,集团拥有100%
股权的S001 公司对其持有的股份是 60%,集团拥有 80%股权的S002 公司对其持有的股份是
20%,使用这种方法计算,集团对其持有的最终股权为76%(100%×60% + 80%×20%)。
(2)根据先前计算结果计算方法和/或合并百分比:选择该选项,系统不会重新计算每一
个合并范围的最终所有权(POWN)和控制百分比(PCTRL),而是基于以前的计算结果及方
法类型业务规则中指定的规则向用户推荐合并方法和合并百分比。选择该选项后,只能选择
“计算方法”部分的前两个选项。
在计算对话框的“计算方法”部分,用户可以选择以下3 个选项。这3 个选项都是计算
的输出结果,用户可以决定是否要让系统自动计算出这些结果值。
(1)更新方法:系统会根据计算得出的合并范围对一个子公司的最终控制比例(PCTRL)
及方法规则中指定的股权范围(如图9-25中所示的“共享范围”列)选择相应的合并方法,
并更新到所有者管理器界面中的合并方法。
(2)更新合并百分比:系统会根据计算得出最终控制比例(PCTRL)及方法规则中指定
的股权范围选择相应的合并百分比,并更新到所有者管理器界面中的合并比例。
(3)用计算所得值覆盖当前所有权值:系统会根据计算得出的合并范围对一个子公司的
最终持股比例(POWN),自动更新所有者管理器中的持股比例的当前列。
在示例场景中,使用“集团股权方法”计算得到的结果如图9-29所示。
图9-29 示例计算结果
用户可以单击所有权管理器编辑界面右上角的“保存”按钮保存手工录入或自动计算
的结果。单击“复制到”按钮,可以将当前结果复制到其他类别维度成员与时间维度成员的
组合。
㊀ 英文为“Group share method”,应该翻译成“集团股权方法”。——编者注
27 2
第 284 页 / 共 427 页
9.3 本章小结
在完成报表合并业务蓝图设计后,进入系统建模阶段。合并类型的数据模型需要关联到
一个汇率模型和一个所有权模型。要设计和使用好合并模型的子表维度与审计线索维度,前
者区分了同一个会计科目中金额的变化过程与变化事项,后者区分了在报表合并业务流程中,
数据的来源与演变过程。
在用户界面设计时,除了报表与输入工作簿等界面外,系统提供了专用的合并中心,供
用户创建和管理所有权层次结构、检查数据是否满足要求、通过流水账录入调整分录并进行
合并全过程的监控。合并过程监控器中用户可以修改数据区域的工作状态,运行币种换算,
运行合并过程。除了合并过程监控器外,用户还可以使用数据管理器等手段运行各种业务规
则,实现合并功能。
确定合并范围及合并方法是进行合并工作的第一步。所有权模型存储与合并范围、合并
方法及持股比例等信息。系统使用所有权层次结构来表达集团内部的持股关系,并提供了所
有权管理器供用户管理所有权层次结构。用户还可以在所有权管理器中维护实体的合并方法、
持股比例、合并比例等明细信息。此外,所有权管理器还提供了集团持股比例计算功能,可
以根据法人实体之间的直接持股关系,计算出集团对某一实体的最终持股比例,并据以推荐
相应的合并方法和合并比例。
273
第 285 页 / 共 427 页
第 10 章 获取个别报表数据
收集进行报表合并的个别报表数据,是报表合并流程的一个重要的步骤。对于大型企业
集团,其下属的子公司的信息化水平往往参差不齐,使用的财务核算系统也不尽一致。因此,
个别报表数据收集也往往是报表合并流程中工作量最大的一个步骤。个别报表数据收集的方
式多种多样,可以通过一系列输入工作薄模板,由集团总部下发给下属子公司,让子公司的
相关人员填写后提交数据,也可以进行系统集成,直接连接到子公司财务核算系统自动获取
数据。SAP计划与合并系统的EPM加载项提供了数据管理器功能组件,可用于批量导入数据,
并进行数据的转换。
在连续编制合并报表的情况下,前期的历史数据已经保存在系统的数据模型中。用户可
以使用系统的自动结转功能,将前期期末数据结转到本期期初,构成本期报表合并的来源数
据之一。
10.1 使用数据管理器收集数据
数据管理器是 EPM 加载项的一个重要组件,可以用于执行程序包,对数据进行批
量处理,其中包括将数据从系统外部批量导入到系统内部的数据模型中。数据管理器
可以导入的数据格式和来源多种多样。使用数据管理器可以直接将外部数据以文本文
件的格式批量导入到数据模型中。基于 SAP NetWeaver 平台的 SAP 计划与合并系统可
以借助其底层的 BW 系统,直接从 SAP ERP 等业务系统或者第三方业务系统中获取个
别报表数据。
10.1.1 将数据文件加载到服务器
在系统集成的前提下,SAP 计划与合并系统可以通过自动化过程完成数据从交易系统到
合并系统的加载。SAP 计划与合并系统提供了一系列预定义的数据导入包,以方便与外部
源的系统。在导入操作时,系统为用户提供了导入数据的操作向导,使得数据加载过程非常
简单。在本节中,将通过数据管理器批量导入文本文件数据,详细解释批量导入数据的配置
过程。
10.1.1.1 登录数据管理器
数据管理器是SAP计划与合并系统的一个重要组成模块,可以帮助用户将外部数据移动
到系统中,在系统环境内部和各个数据模型之间复制或移动数据,通过数据管理器还可以从
SAP 计划与合并系统中的数据模型里将事务数据和主数据导出到可用于外部工具的文件。此
外,数据管理器支持数据的映射和复杂转换。
数据管理器与 Excel 界面集成在一起。登录系统 Excel 界面,单击“数据管理器”选项
卡,如图10-1所示。
27 4
第 286 页 / 共 427 页
图10-1 “数据管理器”选项卡
数据管理器与EPM加载项的Excel界面是集成在一起的,但数据管理器有独立的菜单功能
区。在数据管理器的菜单功能区中,包括了“登录”按钮、数据管理控件组和帮助等菜单项。
在数据管理器中有若干用于传输数据的选项。下面,以导入本地计算机上的数据文件为
例,演示如何将数据批量导入BPC数据模型。正如9.1.1.2小节在介绍导入数据活动的目标操
作时首先需要通过上载功能将平面文件(如.txt 和 .csv 文件)从本地硬盘驱动器移动到服务
器上的数据管理器数据文件文件夹,然后使用程序包将数据传入系统的数据模型。实现这一
操作,可以通过执行9.1.1.2小节的业务处理模型生成的业务处理流程实例来实现,也可以直
接在数据管理器界面中进行相应操作。
10.1.1.2 上载数据文件
假设数据文件保存在本地计算机的硬盘上,要从本地计算机硬盘将数据文件上载到服务
器, 单击“数据管理器”菜单栏中的“上载数据”按钮,打开如图10-2所示的对话框。
图10-2 上载数据文件对话框
单击对话框中的“浏览”按钮在本地计算机上找到要上载的数据文件,并单击“上载”
按钮,系统显示服务器数据文件夹,如图10-3所示。
275
第 287 页 / 共 427 页
图10-3 服务器数据文件目录
根据权限管理需要,可以选择“公司(公共)”、“私有”或者用户所在用户组(如图中的
“ADMIN”)的目录存放文件。这里选择“公司(公共)”的“EXAMPLES”子目录存放示例
文件。
单击“保存”按钮,系统完成文件上传后,弹出对话框提示“文件上载成功”。
类似地,用户可以使用“数据管理器”菜单下的“下载数据”按钮将数据文件从服务器
下载到本地。
10.1.2 将数据导入数据模型
数据管理器的管理功能是以“包”的形式提供的。包是一段系统程序,它定义了要执行
的特定任务。包运行时,系统会根据用户在数据管理器包中输入的信息执行任务。包可用于
在 SAP计划与合并系统的数据模型之间移动数据,也可以用于执行业务规则流程,如法定合
并和公司间记账规则。
10.1.2.1 运行导入数据包
单击“数据管理器”菜单下的“运行包”按钮,系统弹出“运行包” 对话框,如图10-4
所示。
运行包对话框中显示了系统包含的数据管理器包。默认情况下,数据管理器中有以下 3
种类型的包。
(1)数据管理(Data Management):使用这些标准的数据管理包,可以执行常规数据管
理任务。例如,可以对数据模型中的数据进行导入导出及数据的删除、移动、复制等操作。
此组中的包的用户组为“管理员包”。
(2)财务流程(Financial Processes):使用标准的财务流程包可以实现数据的分摊、货币
转换等功能。此组中的包的用户组为“用户包”。
(3)系统管理(System Administration):使用标准的系统管理包,可以对数据库执行操作
任务。这些包也是为元数据和主数据维护设计的。使用提供的任务,可以优化和管理多维数
据集数据。可以使用数据管理器或管理控制台执行大多数此类任务。可以将它们设计在一个
自定义流程链中,用于全面系统维护。此组中的包的用户组为“管理员包”。
27 6
第 288 页 / 共 427 页
图10-4 运行包对话框
这里要操作的是导入业务数据,所以选择数据管理包中的“ImportTransactionData”包,
并单击“运行”按钮。
在运行包时,系统会根据每个包需要的信息弹出后续对话框,让用户输入必要的信息。
例如,在使用“ImportTransactionData”包导入数据时,用户需要提供导入的数据文件所在的
位置,如图10-5所示。
图10-5 选择导入数据文件
单击“浏览”按钮,系统弹出如图10-3所示的服务器数据文件目录对话框,在之前保存
数据的目录中选择需要导入的数据文件。此时,图10-5中的“预览”按钮变为可用。
277
第 289 页 / 共 427 页
10.1.2.2 预览数据
单击图10-5中的“预览”按钮,系统弹出预览数据文件对话框,如图10-6所示。
图10-6 预览数据文件对话框
值得一提的是,在没有运行数据导入的情况下,用户也可以单击“数据管理器”菜单上
的“数据预览”按钮对数据文件进行预览。可以预览 Microsoft Access 数据库(mdb)、Microsoft
Excel 和 ASCII 文本数据文件,也可以预览保存在服务器公司目录或其他目录中的数据文
件。
用户可以根据预览的数据文件的数据格式,选择“固定宽度”或者指定每列之间的分隔
符。这里根据示例文件格式,选择以逗号分隔,系统自动更新预览窗口,如图10-7所示。
图10-7 选择预览数据文件类型
预览结束后,用户可以单击 “打开”按钮打开其他数据文件,或者单击“取消”按钮关
闭预览窗口。
10.1.2.3 转换文件与转换规则
结束预览后,在如图10-5的界面中单击“下一步”按钮,系统需要用户选择一个转换文
27 8
第 290 页 / 共 427 页
件(Transformation File),如图10-8所示。
图10-8 选择转换文件
用户可以单击“浏览”按钮,从服务器文件夹中选择一个转换文件。转换文件是由管理
员根据数据文件的格式与系统数据模型的数据差异事先定义的。数据转换可用于将外部数据
映射到系统数据模型的数据结构。由于内外部数据的数据结构和编码规则都可能存在差异,
数据管理器需要使用转换文件(Transformation File)和转换规则文件(Conversion File)㊀来
执行数据结构的转换和不同编码规则的映射。
要成功导入源数据,首先要确定源数据的格式。即确定源数据的每一列对应系统数据模
型的哪些维度。在此基础上,再通过转换规则文件(Conversion File)指定,对于源数据文件
的每一列的每个值,对应着维度中的哪个维度成员。因此,运行数据管理器导入包时,它会
根据源文件的数据读取转换文件的转换规则文件,并正确映射到系统的数据模型中的数据。
一个示例的转换文件内容如下:
*OPTIONS
FORMAT = DELIMITED
HEADER = YES
DELIMITER =
SKIP = 0
SKIPIF =
VALIDATERECORDS=YES
CREDITPOSITIVE=YES
㊀ 在系统界面及帮助文档中,将Transformation File 和Conversion File都翻译为转换文件,为了区别,本书将Conversion File
称为转换规则文件。——编者注
279
第 291 页 / 共 427 页
MAXREJECTCOUNT=-1
ROUNDAMOUNT=
*MAPPING
Department=DEPARTMENT
Entity=ENTITY
Account=ACCOUNT
Movement=MOVEMENT
Intco=INTCO
Prodline=PRODLINE
Time=TIME
DataSrc=DATASRC
Category=CATEGORY
ConsolView=CONSOLVIEW
SignedData=SIGNEDDATA
*CONVERSION
Account=[Company]ToUpperCase.xls!Conversion
Movement=[Company]ToUpperCase.XLS!Conversion
Entity=[Company]ToUpperCase.xls!Conversion
Intco=[Company]ToUpperCase.xls!Conversion
Department=[Company]ToUpperCase.xls!Conversion
ProdLine=[Company]ToUpperCase.xls!Conversion
Time=[Company]ToUpperCase.xls!Conversion
CATEGORY=[Company]ToUpperCase.xls!Conversion
CONSOLVIEW=[Company]ToUpperCase.xls!Conversion
DATASRC=[Company]ToUpperCase.xls!Conversion
转换文件用于设置从外部源读取数据的规则,并将外部数据字段对应到系统数据模型的
维度。转换文件是Microsoft Excel文件,其中包含一个名为“Instructions”的工作表。“Instructions”
工作表中包含以下几个部分。
(1)*OPTIONS(选项):用于描述外部数据的格式,设置数据导入的选项等。例如,说
明外部数据是否有分隔符,是否有表头等情况。又如,在数据导入前是否先验证字段映射及
维度成员是否存在。每个选项的具体作用可以参见在线帮助文档。
(2)*MAPPING(字段映射):定义将外部数据映射到 BPC 数据模型的相应维度。等式
的左边是模型维度的名称,右边是外部数据列的名称或者指向数据列的映射函数。系统提供
了大量的映射函数可供使用,映射函数的具体作用可以参见在线帮助文档。
(3)*CONVERSION(数值转换):定义每个维度使用的转换工作表。等式的左边是模型
维度的名称,等式右边指向服务器转换规则文件(Conversion File)中的转换工作表。
转换规则文件(Conversion File)用于将成员编码从外部文件中的编码转换成系统维度
成员的编码。转换规则文件也是一个Excel文件,可以在一个转换规则文件中设置多个工作
表,使多个转换工作表使用同一个转换工作簿。表10-1展示了一个会计科目表转换工作表
示例。
28 0
第 292 页 / 共 427 页
表10-1 会计科目转换工作表示例
EXTERNAL INTERNAL FORMULA
4000:4015 3RDPARTYREV
4020 IICREV
410? REBATES
4200 INCENTIVES
5010 RAWMATERIALS
5020 LABOR
5030 OTHERDIRECT
5040 IICCOS
6000 SALARIES_EXEMPT
6010 SALARIES_NONEXEMPT
转换工作表为分EXTERNAL、INTERNAL、FORMULA三列。EXTERNAL用于指定外
部数据编码,INTERNAL 说明转换后的系统内部编码,FORMULA 用于说明转换公式。在
EXTERNAL列和INTERNAL列中可以使用星号(*)和问号(?)作为通配符。星号(*)代
表任意字符串,而问号(?) 代表任意单个字符。
10.1.2.4 导入数据的其他选项
在如图 10-8所示的界面中选择转换文件后,单击“下一步”按钮,出现导入数据选项,如
图10-9所示。
图10-9 选择导入数据选项
用户可以选择是将导入的数据追加到原来的数据模型中,还是先清除模型中相应维度组
合的数据后再导入数据。这里选择后者,单击“下一步”按钮。系统弹出对话框询问是否在导
281
| INTERNAL |
|---|
| 3RDPARTYREV |
| IICREV |
| REBATES |
| INCENTIVES |
| RAWMATERIALS |
| LABOR |
| OTHERDIRECT |
| IICCOS |
| SALARIES_EXEMPT |
| SALARIES_NONEXEMPT |
第 293 页 / 共 427 页
入数据后运行默认逻辑脚本(Default.LGF),如图10-10所示。
图10-10 选择是否运行默认脚本
选择在导入数据后自动运行默认脚本,并单击“下一步”按钮。系统弹出对话框询问是
否在导入数据时检查数据区域的工作状态,如图 10-11 所示。这里选择在导入数据时检查数
据的状态。
图10-11 选择是否检查数据区域的工作状态
28 2
第 294 页 / 共 427 页
10.1.2.5 计划运行包的时间
在如图 10-12 所示的界面中单击“下一步”按钮,可以选择包的运行时间,如图 10-12
所示。
图10-12 选择包的运行时间
用户可以选择马上运行或者制定一个运行时间表。如果选中“计划”或者“运行和计划”
单选按钮,用户可以单击“下一步”按钮,设置运行时间表,如图10-13所示。
图10-13 计划包的运行时间
283
第 295 页 / 共 427 页
用户在计划包的运行时间对话框中可以输入以下信息:
(1)为运行时间表输入名称与说明。
(2)指定计划任务是一次性的,还是每月、每周、每天周期性地执行。
(3)在“高级”选项中,用户还可以指定周期性执行的起止时间范围,可以指定是否间
隔一定的时间(几小时或者几分钟)重复地执行任务。
单击“完成”按钮,系统提示包正在运行,用户可以使用数据管理器菜单下的“查看状
态”按钮,查看包运行的状态。
10.2 专题:数据管理器
SAP 计划与合并系统预定义的包设计为动态包,因此用户不需要修改这些包就可让它们
使用模型和维。当然,用户也可以根据需要创建或者修改包,让包表现出不同行为或执行其
他功能。SAP计划与合并系统的 Microsoft 版本是基于 SSIS 包实现的,而 NetWeaver 版本
则使用SAP BW的流程链实现包的功能。
10.2.1 使用数据管理器包
在SAP计划与合并系统的数据管理器组件中,提供了管理包的功能,用户可以根据需要
添加包、修改包或者定义新的包,可以创建和使用包链接。
10.2.1.1 添加包
数据管理器中提供了三大类型的标准包。除了这些标准包外,系统还提供了附加包。同
时,系统也允许用户自定义自己的包。用户可以根据需要将附加包添加到用户选择界面中。
添加包的具体操作步骤如下。
(1)打开添加包对话框:在数据管理器的功能区中,单击“组织”→“组织包列表”,弹
出“组织包列表”对话框,如图10-14所示。
图10-14 “组织包列表”对话框
28 4
第 296 页 / 共 427 页
在“组织包列表”对话框的右边,单击鼠标右键,然后在快捷菜单中选择“添加包”,系
统弹出“添加包”对话框,如图10-15所示。
图10-15 “添加包”对话框
(2)选择流程链:单击“添加包”对话框中的流程链下方的“选择”按钮,系统弹出“流
程链选择器”对话框,如图10-16所示。
图10-16 “流程链选择器”对话框
在“流程链选择器”对话框中,找到要打开的流程链,然后单击“确定”按钮。系统返
回到“添加包”对话框,用户选择的流程链出现在“添加包”对话框的“流程链”处。
(3)选择任务类型:在“添加包”对话框中,从以下选项中选择一种“任务类型”。
● 用户包。
● 管理员包。
任务类型可以控制有权运行包的人员。如果选中“管理员包”复选框,则只有具备系统
管理员身份的用户才能运行管理包。但仍然可以将包保存到包含非管理员用户的团队。非管
理员用户可以查看包,但不能执行包。如果选中“用户包”复选框,则分配到“执行数据管
理”任务安全权限的用户可以执行任务。
285
第 297 页 / 共 427 页
(4)选择组:在“组”下拉列表中,选择要添加包的组,并输入包的名称和说明。
完成后的对话框如图10-17所示。
图10-17 完成添加包定义
(5)最后,单击图 10-17 所示的对话框中的“添加”按钮,包即添加到包列表中。在包
列表对话框中,用户还可以修改、删除、复制、移动包。也可以在左边的子窗口中,创建、
修改和删除包组。
10.2.1.2 修改和定义包
用户可以修改包的定义。例如,可以通过修改包,预先设置运行包提示问题的输入参数,
从而实现自动运行包。
要修改包,同样在数据管理器中,单击“组织”→“组织包列表”。 在操作窗格中,突
出显示要修改的包,单击鼠标右键,然后选择“修改包”。“修改包”对话框如图10-18所示。
图10-18 “修改包”对话框
在“修改包”对话框中,用户可以修改与“添加包”相同的选项,执行以下操作之一:
● 更改文件或者流程链。
● 更改任务类型。
● 选择其他组。
28 6
第 298 页 / 共 427 页
● 修改包名称和说明。
此外,“修改包”对话框还提供了“修改脚本”功能。 单击“修改脚本”按钮,系统弹
出“修改脚本”对话框,如图10-19所示。
图10-19 “修改脚本”对话框
用户可以修改“动态包脚本”节点下的命令或参数,以改变包的执行方式。用户在“修
改脚本”对话框中,单击“高级”以访问“PROMPT”和“GETINFO”等函数,如图 10-20
所示。
图10-20 修改脚本高级选项
287
第 299 页 / 共 427 页
当然,用户也可以使用这些命令自定义包,主要的函数有以下几个。
(1)TASK 命令:可用于将一个或多个参数化的流程链添加到包。
TASK命令的语法如下所示:OBJECT(TASKNAME,PROPERTY,VALUE)
示例:TASK(EVIMPORT,FILENAME,IMPORT1.TXT)
对于同一个TASKNAME有多个PROPERTY的,使用多行进行说明。
(2)PROMPT 命令:可用于提示包用户进行选择或输入。
PROMPT 命令生成自定义对话框,提示最终用户提供答案。通过填充这些对话框,用户
可以选择要上载的文件、要导出的数据或选定数据的目标应用程序等内容。
如果在同一脚本中输入了多条 PROMPT 命令,系统会把所有提示合并在一个对话框中。
这一规则适用于所有要求选择文件、分隔符或文本的 PROMPT 命令,但不适用于COPYMOVE
和SELECT提示。COPYMOVE 和 SELECT 提示是个别地向用户显示的,脚本中有多少此类提
示就会显示多少个对话框。
所有文件选择提示都会返回选定文件的名称及完整路径。如果用户让 SELECT 或
COPYMOVE 对话框中的选择字段保留空白,系统会假定采用该维的所有成员(系统不会在
返回的语句中插入维的范围)。
Prompt 命令是按包存储的。因此,用户可以基于同一个流程链模板创建多个包,并为每
个包的用户提供不同的提示。
例如,在数据管理器引用的逻辑脚本文件中,使用了变量MYYEAR的输入值:
*XDIM_MEMBERSET TIME=MYYEAR.INPUT
在定义包时,TASK命令中使用这一变量,并使用%TEXT%为其赋值:
TASK(RUNLOGIC,FORMULASCRIPT,"*FUNCTION MYYEAR=%TEXT%”)
可以使用 PROMPT 命令提示用户提供要传递到逻辑文件的值:
PROMPT(TEXT,%TEXT%,"select a year")
(3)INFO 命令:可以为用于包处理的变量设置值。
有时候,包运行时的变量可以事先设定,而不需要用户在运行时输入,这种情况下可以
使用 INFO 命令。INFO 指令用于定义值并为脚本变量赋值。它不是可执行指令,不会直接
影响包。
INFO 指令的语法是 INFO("variablename","value")
其中,variablename 是变量的名称,value 是变量的值。
可以使用 INFO 指令中定义的变量名称替换值(或部分值),而不必为任务直接赋值。
在运行时,任务会在执行可执行指令前将所有可执行指令中的 INFO 变量名称替换为这些变
量的当前值。
以下示例说明如何用 INFO 指令定义变量和如何在另一个指令(如 TASK)中使用
该变量:
INFO(%FILE%,IMPORT.TXT)
TASK("EVIMPORT","FILENAME", %FILE%)
28 8
第 300 页 / 共 427 页
也可以按以下示例所示,将一级INFO变量嵌套在其他INFO变量中:
INFO(%PATH%,"C:\MyDir\")
INFO(%FILE%,%PATH%IMPORT.TXT)
TASK("EVIMPORT","FILENAME", %FILE%)
为了提高脚本的可读性,并减少执行替换时的出错概率,一般将变量使用 % 等易于辨
识的字符括起来,如 %VARIABLE%。
一个使用数据管理器包执行结转业务规则的实例,可以参见10.3.2.2小节。
10.2.2 使用包链接
包链接(Package Chain)是一系列按顺序链接在一起的任务。包链接是 SAP计划与合
并系统(NetWeaver 版)的功能。在数据管理器中,可以创建和使用包链接,提高运行包的
效率。
10.2.2.1 创建包链接
定义包链接的具体操作如下。
(1)打开添加包链接对话框:单击数据管理器功能区中的“组织”→“组织包链接列表”,
弹出“组织包链接列表”对话框,如图10-21所示。
图10-21 “组织包链接列表”对话框
在“组织包链接列表”对话框中,单击鼠标右键,然后在快捷菜单中选择“添加包链接”,
系统弹出“链接任务状态”对话框,如图10-22所示。
289
第 301 页 / 共 427 页
图10-22 “链接任务状态”对话框
(2)在“链接任务状态”对话框中添加任务:在“链接任务状态”对话框中,输入包
链接名称和说明,然后单击“添加任务”按钮,系统弹出“包任务”对话框,如图 10-23
所示。
图10-23 “包任务”对话框
29 0
第 302 页 / 共 427 页
在“包任务”对话框中输入任务的名称和说明,并从提供的列表中选择包,然后单击“确
定”按钮。系统返回“链接任务状态”对话框,用户选择的包出现在任务列表中,如图10-24
所示。
图10-24 完成添加任务
(3)设置提示:选择任务列表中的任务,单击“设置提示”按钮,系统将根据任务包的
参数设置弹出一系列的对话框,用户可以事先输入运行这一任务包需要录入的信息。完成设
置后,“已设置提示”列显示为“是”。
(4)重复以上步骤,可以在包链接中添加多个任务包。
示例结果如图10-25所示。
图10-25 添加多个任务
291
第 303 页 / 共 427 页
(5)完成设置后,单击“保存”按钮,然后单击“关闭”按钮,返回“组织包链接列表”
对话框。新的包链接即添加到包链接列表中,如图10-26所示。
图10-26 完成添加包链接
10.2.2.2 运行包链接
用户单击“数据管理器”菜单下的“运行包”按钮,可以选择运行包链接,“运行包链接”
对话框如图10-27所示。
图10-27 “运行包链接”对话框
在“运行包链接”对话框中,选择要运行的包链接,并单击“运行”按钮。系统进入包
链接运行设置界面,如图10-28所示。
29 2
第 304 页 / 共 427 页
图10-28 运行包链接时设置提示
在图10-28所示的界面中,同样可以选择一个任务,并单击Set Promt按钮,完成对任务
包参数的设置。
完成设置后,单击“下一步”按钮,进入如图10-29所示的界面。
图10-29 设置运行包链接的时间
与运行包类似,用户可以设置包链接的运行时间表。单击“完成”按钮,包链接开始执
行。系统返回“运行包链接”界面,用户可以单击界面中的“查看状态”按钮,查看包链接
执行的情况,如图10-30所示。
293
第 305 页 / 共 427 页
图10-30 查看运行包链接状态
在“组织包链接列表”对话框中,用户还可以对包链接进行修改、删除及复制等操作。
10.2.3 转换文件与转换规则文件
用户可以单击数据管理器菜单下的“转换文件”和“转换规则文件”按钮来创建、验证
和管理这些文件。
10.2.3.1 创建转换文件
要创建转换文件,需要在数据管理器功能区中选择“转换文件”→“新建转换文件”命
令,系统会按转换文件格式,生成一个新的Excel文件,如图10-31所示。
图10-31 新建转换文件
29 4
第 306 页 / 共 427 页
用户可以在此模板上完成对转换文件的编辑工作。完成编辑后,关闭该文件,系统会提
示是否保存文件,选择“是”。
系统自动对转换文件进行验证,如图10-32所示。
图10-32 验证转换文件
验证成功后,系统弹出保存对话框,如图10-33所示。
图10-33 保存转换文件
295
第 307 页 / 共 427 页
用户输入文件名,并选择希望保存的服务器文件夹目录。单击“保存”按钮,
“验证状态”对话框提示任务成功完成,如图10-34所示。
图10-34 完成保存
单击“取消”按钮,退出“验证状态”对话框。
10.2.3.2 管理转换文件
用户可以使用数据管理器功能区“转换文件”下拉按钮下的“管理转换文件”菜单项,
打开和修改转换文件。在打开一个转换文件时,用户可以单击“验证和处理转换文件”按钮,
对转换文件进行验证。“验证和处理转换”对话框如图10-35所示。
图10-35 “验证和处理转换”对话框
29 6
第 308 页 / 共 427 页
用户需要选择输入的数据类型及使用的数据对象,完成输入后如图10-36所示。
图10-36 输入验证转换文件的信息
完成输入后,单击“保存”按钮,系统开始验证进程。系统自动弹出如图 10-37 所示的
“验证状态”对话框。
图10-37 “验证状态”对话框
系统会使用转换文件对所选择的数据进行处理,并生成详细的日志。这一功能有助于用
户根据数据源的实际情况设计可用的转换文件。
297
第 309 页 / 共 427 页
此外,在数据管理器功能区“转换文件”下拉按钮下,系统还提供了 “复制转换文件”
功能项,可以将当前转换文件另存为其他副本。
转换规则文件按数据模型的维度定义从外部成员名称到内部成员名称的映射。它们还提
供在转换时执行算术和数据小数位运算的功能,可以为转换中的每个维创建一个转换规则文
件。每个转换规则文件都可以包含一个或多个表,对应不同类型的数据转换。大部分情况下,
我们会将转换文件指定与其所用维相同的名称。对于转换规则文件,系统同样提供了“新建
转换规则文件”、“管理转换规则文件”、“验证和处理转换规则文件”、“复制转换规则文件”、
“添加转换工作簿”等功能。由于操作方法与转换文件类似,这里不再赘述。
10.3 期末余额结转
在连续编制合并报表时,必须把上一财政年度的期末余额结转到当前财政年度,作为
本年度的期初数。系统提供了结转类型的业务规则,帮助用户完成这一工作。本节先执行一
个简单的例子,了解结转类型的业务规则是如何运行的,再深入查看结转业务规则是如何配
置的。
10.3.1 执行期末数据结转
在本节的示例中,先使用输入工作簿录入上一财年的示例期末数据,然后使用数据管理
器执行结转规则,最后再打开输入工作簿,查看结转规则的执行结果。
10.3.1.1 录入结转前的会计科目余额
基于合并数据模型,设计网页输入工作簿,用于输入2011 年 12 月的会计科目余额,如
图10-38所示。
图10-38 录入示例期末数据
29 8
第 310 页 / 共 427 页
输入工作簿的行上,显示了部分示例会计科目。输入工作簿的列上,显示了会计期间及
流维度成员。其中,F00代表期初数,F99代表期末数。
完成输入工作簿的设计后,在输入工作簿中录入 2011 年 12 月部分会计科目的期末数,
并保存数据。
10.3.1.2 执行结转规则
登录 SAP Excel 客户端,进入“数据管理器”菜单,选择运行包。在弹出的运行包对话
框中,选择“Financial Processes”类型中的“Copy Opening”,如图10-39所示。
图10-39 选择运行包
单击“运行”按钮,并在随后的界面中输入运行包的条件,如图10-40所示。
图10-40 输入运行包选择条件
299
第 311 页 / 共 427 页
注意,比较输入的条件与示例输入工作簿中录入数据的关系。完成条件输入后,单击“下
一步”按钮。在如图10-41所示的界面中,选择立即执行包。
图10-41 选择运行包的时间
单击“完成”按钮,系统开始执行包。
10.3.1.3 查看结转规则执行结果
在程序包运行成功结束后,再次打开输入工作簿,查看数据更新情况,如图10-42所示。
图10-42 查看更新后的数据
在成功执行结转规则后,系统将2011年12月的期末数自动结转到2012年1月,并保存
在期初数对应的流维度成员中。
30 0
第 312 页 / 共 427 页
10.3.2 系统配置:结转业务规则及其执行
在用户使用数据管理器执行结转业务规则时,数据管理器程序包调整了逻辑脚本文件
COPY_OPENING.LGF,而逻辑脚本文件中使用函数调整了结转业务规则。因此,在配置结转
业务规则时,首先要设置结转业务规则表,其次要配置逻辑脚本文件和数据管理器包。
10.3.2.1 设置结转业务规则
结转规则按用户指定的方式将上一年度的期末数据结转到新年度会计期间的期初数。系
统管理界面中提供了结转业务规则配置界面,用于指定会计科目余额结转的方式。进入系统
管理员界面,选择“规则”区域下的“业务规则”,如图10-43所示。
图10-43 SAP_IFRS业务规则列表
界面中列出了当前环境中的全局业务规则及各个数据模型中的数据规则的种类和数量。
选择Consolidation模型下的结转规则,打开后如图10-44所示。
图10-44 结转业务规则配置表
301
第 313 页 / 共 427 页
结转业务规则配置表包含以下字段。
(1)源科目:指定结转金额的来源会计科目,用户可以输入科目维度成员的父节点,以
简化维护的工作量。
(2)源流:指定结转金额的来源流维度成员,对于资产负债表科目,一般取 F99,表示
期末数。根据科目性质不同,可能有其他取值。
(3)源审计线索:用户可以指定审计线索维度成员,根据不同的审计线索维度成员,执
行不同的结转方式。结转规则只对审计线索维度属性Copyopening值为“Y”的成员进行结转。
(4)目标科目:指定结转金额的目标会计科目,如果与来源会计科目相同,本字段可以
为空。
(5)目标流:指定结转金额的目标流维度成员,一般取F00,表示期初数。
(6)目标审计线索:指定目标审计线索维度成员。
也就是说,用户可以根据“会计科目”、“流”、“审计线索”3 个维度分别指定余额结转
的来源维度成员及目标维度成员。用户并不需要指定结转的来源会计期间和目标会计期间。
(7)反转正负号:选中该复选框,系统会将源会计科目的金额转变为相反数后,再写入
目标会计科目。例如,用户在指定某一个父节点下的所有会计科目进行结转后,可以将其中
具有其他结转规则的个别会计科目再定义一条结转规则,并标志为“反转正负号”,以冲销之
前结转的余额。
(8)审计线索类型:审计线索类型(DATASRC_TYPE)是审计线索维度的一个属性。其
属性值可以是 I(表示数据来源为输入工作簿录入或批量导入)、M(表示数据来源为流水账
手工调整分录)、A(表示数据来源是系统在合并时自动生成)。目前结转规则只对审计类型为
I和M的数据记录进行结转。审计类型为A的记录由合并过程进行处理。用户在这里可以选
择I、M或者是两者都进行结转。如果对两者都进行结转,字段取值A,代表All。
(9)同一期间:选中该复选框,可以将本期的期末数结转到本期期初。
(10)应用到年初至今(YTD):选中该复选框,可以将年初至今的累计值结转到本期期初。
系统在执行结转时,除了考虑结转业务规则配置表的配置内容外,模型中的维度属性也
会影响结转规则的执行方式,说明如下。
(1)类别维度:类别维中有3个属性会起作用。
● Category_for_ope:属性值为一个Category维度成员,用于在结转时作为数据来源的类
型维度成员。
● Opening_year:属性值为一个年度,用于在结转时作为数据来源的年度。指定的年度
可以是绝对值,也可以是相对值。
● Opening_period:属性值为一个会计期间,用于在结转时作为数据来源的会计期间。
指定的会计期间可以是绝对值,也可以是相对值。
(2)审计线索维度:审计线索维度中的下列属性也会影响结转业务规则的执行。
● DataSrc_Type:属性值可以是I、M或A。目前结转规则只对审计类型为I和M 的数
据记录进行结转。
● Opening_Datasrc:属性值为一个审计线索维度成员,用于在结转时将期初数写入指定
的审计线索维度成员。例如,审计线索维度成员INPUT91的Opening_Datasrc属性值
为 INPUT,在进行结转时,上一财年记录在 INPUT91 的金额在结转到本年期初时,
30 2
第 314 页 / 共 427 页
审计线索维度成员会变更为INPUT。
● Copyopening:可以取值为 Y 或为空。结转规则只对审计线索维度属性 Copyopening
值为“Y”的成员进行结转。
(3)流维度:流维度属性 Flow_Type 可以标明流维度成员是否为期初数(Flow_Type 属
性取值OPENING)或者期末数(Flow_Type属性取值CLOSING)。
10.3.2.2 设置业务规则执行方式
首先,需要创建逻辑脚本文件,并在逻辑脚本中调用执行结转业务规则的函数。进入管
理员界面,选择规则下的“逻辑脚本”,如图10-45所示。
图10-45 SAP_IFRS逻辑脚本模型列表
选择数据模型“Consolidation”,系统显示当前模型中已有的逻辑脚本,如图10-46所示。
图10-46 SAP_IFRS Consolidation模型逻辑脚本列表
选择“Copy_Opening.LGF”,系统显示脚本文件内容,如图10-47所示。
303
第 315 页 / 共 427 页
图10-47 COPY_OPENING.LGF逻辑脚本
在脚本文件中,调用了结转业务规则对应的函数,代码如下:
*RUN_PROGRAM COPYOPENING
CATEGORY = %CATEGORY_SET%
CURRENCY = %CURRENCY_SET%
TID_RA = %TIME_SET%
OTHER = [ENTITY = %ENTITY_SET%]
*ENDRUN_PROGRAM
代码中的参数,正是执行包时输入的参数,这是通过在数据管理器中,定义了包含这一
逻辑脚本的程序包来实现的。
登录 Excel 界面,并进入数据管理器,在组织包列表中查看执行的程序包的定义,如图
10-48所示。
图10-48 查看数据管理器包定义
30 4
第 316 页 / 共 427 页
单击“更改”按钮,可以看到对应的流程链,如图10-49所示。
图10-49 查看数据管理器包使用的流程链
这一流程链是在后端 BW 系统中定义的,用于执行逻辑脚本。用户可以在后端 BW 系统中
复制创建自己的处理链。关于处理链的操作请参见拙著《SAP商务智能完全解决方案》一书。
逻辑脚本文件是作为处理链运行时的参数动态提供的。在如图 10-48 所示的“修改包”
对话框中单击“修改脚本” 按钮,并查看TASK相关的参数,如图10-50所示。
图10-50 查看数据管理器包任务定义
305
第 317 页 / 共 427 页
从图10-53中可以看到,动态参数“LOGICFILENAME”的值正是在管理员界面逻辑脚
本功能区中定义的逻辑脚本文件。
通过在脚本中调用业务规则函数,利用脚本的功能,可以灵活地在不同的情况下执行业
务规则。例如,可以在default.lgf脚本中调用业务规则函数,这样每次数据提交时,系统都执
行相应的业务规则。或者,也可以在 Journal.lgf 中调用函数,每次录入日记账时,系统会自
动运行Journal.lgf。
10.4 本章小结
个别报表数据的收集方式多种多样,SAP 计划与合并系统中可以通过输入工作簿在线填
写,可以使用工作簿分发与数据收集功能进行离线填写(参见 5.5.2 节),可以使用数据管理
器批量导入文件数据,可以通过后端SAP BW系统进行数据集成,直接从其他系统获取数据。
在进行批量数据导入的过程中,数据管理器提供了向导式的操作界面,用户可以根据需
要指定来源数据,对数据进行预览,选择转换文件与转换规则文件,并可以计划批量导入操
作的运行时间。转换文件与转换规则文件有特定的格式,用户可以使用数据管理器来创建和
管理转换文件与转换规则文件,系统会自动对这些文件进行验证,保证文件格式的准确性。
同时,系统提供的实时验证功能有助于用户根据来源数据的格式和内容调整转换文件与转换
规则文件的定义,方便用户设计出可靠、实用的转换文件与转换规则文件。
除了能用于批量数据导入以外,数据管理器还可以用于进行模型内部、模型之间的批量
数据复制、删除、移动等操作,还可以用于执行逻辑脚本、业务规则。系统预定义了的数据
管理、财务流程、系统管理 3 种类型的若干包供用户使用。用户也可以根据需要创建新的包
类型,创建或者修改自定义的包。数据管理器还提供了包链接功能,或以批量运行数据管理
器包。
在连续编制合并报表时,另一个数据收集工作是将以前年度的期末报表数据结转到本年
度期初。这一操作可以由总部负责编制合并报表的业务人员进行集中的系统操作,SAP 计划
与合并系统提供了结转业务规则可以实现这一功能。用户可以在结转业务规则表中配置结转
业务规则的执行方式,相关维度属性的取值也会影响结转业务规则的执行。最后,可以使用
数据管理器来启动结转业务规则。
30 6
第 318 页 / 共 427 页
第 11 章 数据校验与调整
在结束对个别报表数据的收集之后,需要对个别报表数据进行检查,以保证数据的质量。
对数据的检验与调整可以在不同的层面进行。提供子公司个别报表数据业务人员可以在子公
司层面对数据进行校验和调整,保证个别报表的数据准确。在集团层面,总部负责的报表合
并的业务人员可以执行集团层面的数据检查和调整。
在SAP计划与合并系统用户界面的合并中心,提供了控制过程监视器和流水账功能组件。
控制过程监视器可以根据用户配置的控制过程规则对数据进行自动校验,并提供报错和查错
的相关功能。在流水账模块可以为用户提供录入手工调整分录的界面。
11.1 使用控制过程校验数据
正如在6.2.4节介绍的,控制过程是系统提供的规则类型之一,在使用控制过程之前需要
由管理员在系统管理界面中定义控制过程、创建控制过程集,并将控制过程集分配给相应的
类别维度成员和时间维度成员的组合。下面将举例说明控制过程的使用及详细配置过程。
11.1.1 控制过程监视器
控制过程监视器是供业务用户使用的统一界面,可以用于执行控制过程,分析控制过程
结果,发现并排除错误数据。在进入控制过程监视器界面之前,先使用网页输入工作簿录入
一些示例数据,用于检验控制过程的执行情况。
11.1.1.1 录入示例数据
创建网页输入工作簿,如图11-1所示。
图11-1 用于控制过程规则的示例数据
307
第 319 页 / 共 427 页
在网页输入工作簿的上下文栏中,选择与所有权层次结构中相同的类别维度、时间维度
和实体维度(以 S000 为例)成员,并且选择记账本位币 LC,与合并组无关的母公司维度成
员G_NONE,与交易伙伴无关的I_NONE以及审计线索维度成员INPUT。
在输入工作簿的行上,选择了4个示例会计科目,其中有两个资产类科目(A2610、A1110),
一个负债类科目(L2310),一个所有者权益类科目(E1110)。在输入工作簿的行上,显示了
实体维度成员和流维度成员。
对于资产负债表科目,在控制过程规则中会检查其期初数和期末数的总资产是不是等于
总负债加上所有者权益。我们在输入工作簿中录入了正确的期初值,但期末数的金额与其是
不相等的。
11.1.1.2 控制过程监视器界面
进入在用户界面主页的“合并中心”中的“控制过程监视器”,界面如图11-2所示。
图11-2 控制过程监视器界面
用户在这一界面中,可以执行并监测控制过程结果。控制过程监视器界面包括以下几个
部分:
(1)控制过程监视器界面上方的上下文工具栏显示了当前模型中以下维度选定的维度成
员:时间,类别,集团(实体),以及任何其他配置为工作状态驱动维的维度。 用户可以使
用上下文工具栏修改查看列表的范围。
(2)在中间的主体窗口中,显示了以下几个内容。
1)母公司/实体:对于合并类型的数据模型,主体窗口的“母公司/实体”列显示了
所有权管理器中创建的所有权层次结构。只有属于所选择的集团(合并范围)的实体才
会出现在列表中。如果是财务类型的数据模型,则显示上下文工具栏中选择的实体节点
的子节点。
30 8
第 320 页 / 共 427 页
2)控制过程集:显示了每一个实体维度成员使用的控制过程集。
3)状态:列出了合并范围或者实体执行控制过程的状态。
4)级别:显示实体进行控制过程校验的级别。
5)阻止数:分子显示执行结果中具有“阻止”状态的规则的数量,分母显示当前控制过
程集中所有类型为“阻止”的控制过程规则数。
6)警告数:分子显示执行结果中具有“警告”状态的规则的数量,分母显示当前控制过
程集中所有类型为“警告”的控制过程规则数。
(3)在主体窗口上方的工具栏上,用户可以进行以下操作。
1)运行控制过程:用户可以选择列表中的一个实体或者一个合并组,并单击列表上方的
“运行控制过程”按钮,执行预定义的检验规则。如果用户选择的是一个合并组,系统按合并
组中实体列表的顺序依次执行控制过程。
2)打开控制过程结果:当用户选择一个已运行控制过程的实体或合并组时,可以单击这
一按钮,打开“控制过程结果”选项卡,显示详细的运行过程结果。
3)刷新:用以刷新控制过程列表。
4)显示描述:默认情况下,控制过程列表中只会显示实体代码。用户可以选中该复选框
显示实体的描述。
(4)在下方的“详细信息”窗口中,显示了主体窗口中选择的实体没有通过检验的控制
过程的明细信息。用户在主体窗口中选择了不同的实体,“详细信息”窗口会自动刷新。
11.1.1.3 执行控制过程
在控制过程监视器主体窗口列表中选择实体维度成员S000,并单击工具栏中的“运行控
制过程”按钮,系统弹出运行控制过程对话框,如图11-3所示。
图11-3 “运行控制过程”对话框
用户可以检查并修改运行控制过程的选择条件,单击“确定”按钮进行确认。系统开始
执行控制过程对指定实体的数据进行检验。
11.1.2 查看控制过程结果及处理
在运行控制过程结束后,用户可以在控制过程监视界面中查看到运行结果和状态。系统
还专门提供了“控制过程结果”视图,供用户分析和解决发现的问题。
11.1.2.1 查看控制过程的状态
在示例的业务场景执行控制过程结束后,控制过程监视器界面会更新执行后的状态,如
图11-4所示。
309
第 321 页 / 共 427 页
图11-4 查看运行控制过程状态
界面显示S000执行控制过程集A后的状态为“失败”,同时系统也将合并范围G_H1的
状态设置为“失败”。
一个实体维度成员执行控制过程集的状态可能有以下几种情况。
(1)不适用:对于所选择的类别和时间维度成员组合没有定义控制过程集。
(2)待执行:在下列情况下适用。
● 选定的类别和时间维度成员组合已定义了控制过程集,但尚未在相应的实体或合并范
围执行。
● 用户通过输入工作簿录入数据、加载数据、日记账分录、逻辑脚本等渠道在实体层面
录入数据后,与类别、时间、实体以及任何其他的工作状态驱动维相应的控制过程集
的状态都会被重置为“待执行”。
● 如果用户修改模型的工作状态设置增加了额外的工作状态维度,相应的实体维度成员
对应的控制过程集的状态重置为“待执行”。
● 用户修改了控制过程集。
● 用户改变了实体维度的层次结构。
(3)已通过:运行控制过程后,控制过程集中所有控制过程都成功通过。
(4)通过(手工消除失败状态):运行控制过程后,控制过程集中至少有一个阻止类型的
控制过程没有通过,但用户手工消除了失败状态。
(5)已通过,但收到了警告:运行控制过程后,控制过程集中所有阻止类型的控制过程
都成功通过,但至少有一个警告类型的控制过程没有通过。
(6)失败:运行控制过程后,控制过程集中至少有一个阻止类型的控制过程没有通过,
至少有一个阻止类型的控制过程没有成功。
合并范围或者实体维度父节点执行的控制过程集后取决于其子节点的控制过程状态,决
31 0
第 322 页 / 共 427 页
定的规则如下:
(1)如果有一个子节点的状态为“失败”,则合并范围或父节点的状态也为“失败”,如
示例业务场景的情况。
(2)如果子节点没有“失败”状态,但至少有一个子节点状态为“待执行”, 则合并范
围或父节点的状态为“待执行”。
(3)如果所有子节点都已执行且没有“失败”状态,但至少有一个子节点状态为“通过
(手工消除失败状态)”, 则合并范围或父节点的状态为“通过(手工消除失败状态)”。
(4)如果所有子节点都已执行且没有“失败”状态,但至少有一个子节点状态为“已通
过,但收到了警告”, 则合并范围或父节点的状态为“已通过,但收到了警告”。
(5)如果所有子节点都已执行且状态为“已通过”, 则合并范围或父节点的状态为“已
通过”。
实体的控制过程集状态是与特定的类别维度成员、时间维度成员、实体类别维度成员及
记账本位币(或者实体货币)相关联的。如果实体的控制过程集运行时具有警告状态,数据
仍然可以通过验证,用户仍然可以修改相应数据区域的工作状态,进行后续的业务流程。但
如果实体的控制过程集结果具有错误状态,则数据无法通过验证。也就是说,相应的类型、
时间、实体组合对应的数据区域的工作状态不能被修改,用户无法进入后续业务流程。
11.1.2.2 分析控制过程运行结果
如图 11-4 所示,用户在主体窗口列表中选择运行失败的 S000,在界面下方的“详细信
息”窗口中会显示没有通过验证的控制过程。示例场景中,没有通过验证的控制进程标识为
“A1_02_C”,用于检查资产负债表的期末数要平衡。
用户可以使用主体窗口工具栏中的“打开控制过程结果”按钮打开“控制过程结果”选
项卡,查看控制过程运行的明细情况,如图11-5所示。
图11-5 查看运行控制过程结果
311
第 323 页 / 共 427 页
控制过程结果界面有以下几个部分:
(1)控制过程结果界面上方的上下文工具栏显示了与控制过程监视器一样的模型维度成
员。用户可以使用上下文工具栏修改查看列表的范围。
(2)在中间的主体窗口中,显示了以下内容。
1)控制过程:显示控制过程集包含的所有控制控制过程。如果控制过程中定义了细分维
度成员,可以使用控制过程左边的三角形展开查看明细信息。
2)描述:显示控制过程的说明文本。
3)实体:显示控制过程运行使用数据对应的实体。
4)细分成员 1:显示控制过程中定义的细分成员 1,系统会在细分维度的成员级别运行
控制过程。示例业务场景中控制过程A1_02_C使用审计线索维度作为细分维度。
5)细分成员 2:显示控制过程中定义的细分成员 2,系统会在细分维度的成员级别运行
控制过程。
6)等式:显示根据控制过程定义计算得出的等式,如果等式成立,则控制过程校验成功。
否则,校验失败。例如,示例场景中所有资产类科目的期末余额总和为310(110 + 200),而
负债和所有者权益的期末余额总和为300(150 + 150)。等式310 = 300显然不成立,且差额
超过阈值,所以控制过程校验失败。
7)结果:显示等式两边数值的差,差值可用于与阈值进行比较,并决定控制过程校验是
否通过。
8)阈值:显示控制过程定义的阈值。
9)类型:显示控制过程类型,可以为“阻止”或“警告”。
10)状态:显示控制过程执行结果,其可能的取值为“已通过”或者“失败”,如果用户
消除了阻止状态,则显示为“已消除”。
(3)在主体窗口上方的工具栏上,用户可以进行以下操作:
1)显示下拉列表:用户可以从下拉列表中选择全部,或者是特定的控制过程集,对主体
窗口中的列表进行过滤。
2)运行控制过程:用户可以选择重新运行控制过程。系统同样会弹出运行控制过程对话
框供用户选择和确认。
3)刷新:用以刷新控制过程结果列表。
4)消除阻止:对于没有通过验证的阻止类型的控制规则,用户可以手工消除其阻止状态,
其状态显示为“已消除”。
5)重置阻止:对于已消除的没有通过验证的阻止类型的控制规则,用户可以使用“重置
阻止”按钮,再次将其状态设置为“失败”。
(4)在下方的“文档”窗口中,显示了控制过程中定义的相关文档。例如,示例中定义
了显示会计科目余额的输入工作簿,用户可以使用这一输入工作簿检查科目余额不平衡的原
因,并修改错误数据。单击图11-5下方的文档链接,系统自动在Excel客户端中打开关联的
输入工作簿“11 BALANCE.XLSX”主体窗口中选择的实体没有通过检验的控制过程的明细
信息。用户在主体窗口中选择了不同的实体,如图11-6所示。
系统自动将控制过程监视器中的上下文成员带到 Excel 客户端,所以用户可以直接在
Excel客户端查看到明细的会计科目余额。用户可以使用这一输入工作簿修改错误数据,并返
回控制过程监视器,重新运行控制过程。
31 2
第 324 页 / 共 427 页
图11-6 打开控制过程关联文档
11.1.3 系统配置:控制过程
6.2.4节介绍了配置控制过程的5个步骤。下面结合演示的业务场景,详细了解控制规则的
配置内容。首先,要在实体维度上设计维度属性,并在数据模型Consolidation上启用控制过程,
接下来,需要在控制过程配置界面中配置详细的控制过程。
11.1.3.1 演示场景中的控制过程
登录系统管理员界面,进入规则下方的控制过程配置界面,如图11-7所示。
图11-7 控制过程模型列表界面
313
第 325 页 / 共 427 页
选择要进行配置的数据模型,如示例中的Consolidation模型,进入控制过程的创建界面,
如图11-8所示。
图11-8 创建控制过程
在控制过程列表中,列出了当前模型中现有的控制过程。用户可以单击“新建”或者“编
辑”按钮进入控制过程的明细界面。以控制过程“A1_02_C”为例,选择这一控制过程,并
单击“编辑”按钮,进入如图11-9所示的界面。
图11-9 控制过程编辑界面
在控制过程编辑界面中,用户需要定义控制过程的以下内容。
(1)标识:控制过程的唯一标识,如本例中的“A1_02_C”。
31 4
第 326 页 / 共 427 页
(2)描述:控制的描述,简明扼要地说明校验的内容和目的,以及检验的逻辑。例如,
本例检验期末时总资产余额必须等于总负债(Total Assets Must Equal Total Liabilities at
Closing)。
(3)类型:选择“阻止”或“警告”。 如果实体数据不能通过“阻止”类型的控制过
程检验,系统会阻止用户进行后续的数据处理,除非用户清除了阻止状态。“警告”类型的
控制过程则只是提醒用户非要害的数据质量问题,并不影响用户对这些数据进行后续的数据
处理。
(4)等式类型:用户可以选择符号=、>、<、>=、<=或<>确定表达式中的两个值如何进
行比较。
(5)控制过程级别:这与实体维度中的Control Level属性一起发生作用。每个控制过程
按控制的级别分配一个控制水平值,指定对数据验证的程度。
系统将控制过程分为以下4个控制级别:
● 基本(Basic)。
● 标准(Standard)。
● 高级(Advanced)。
● 综合(Comprehensive)。
系统根据指定实体的Control Level属性值,执行相应的控制过程。
(6)细分维度:细分维度下拉列表中列出了可用的维度。用户可以选择细分维度,控制
过程会针对这些维度的每个维度成员执行校验。用户最多可以选择两个细分维度。示例中,
使用审计线索维度作为细分维度,用户可以让控制过程针对每一个审计线索维度成员的数据
执行,如INPUT、INPUT11等。
(7)容差阈值:容差阈值可以用绝对值或百分比表示。如果使用百分比表示,用户还需
要指定百分比的计算基数是等式(或不等式)左边的表达式,还是右边的表达式。当等式两
边的表达式结果值的差额小于或等于容差阈值时,系统视为等式两边是相等的。同样,如果
使用不等式,但不等式两边表达式的差额小于或等于容差阈值,差异不够显著,则不等式验
证不通过。
(8)表达式。“表达式”选项卡下的两个子窗口分别定义了用于等式(或不等式)两边的
计算公式。每个表达式都可以有多个行,每行的值可以进行加减运算。上方表达式中的所有
的可用维度都要指定维度成员。当有维度被用做细分维度时,维度抬头会显示一个提示图标,
如示例中的审计线索维度(AUDITID)。下方的表达式可以指定其他时间或其他类别的值。在
“年度偏移量”列中,用户可以输入正整数或负整数。在“期间”列中,用户可以输入时间维
度成员MONTHNUM属性值,或者使用带正负号的数字表示期间的相对偏移值。如果下方的
表达式为空,则其值为零。上方的表达式会与零作比较。
如示例中的表达式,上方表达式的会计科目维度成员为 A999T,是所有资产类科目的父
节点;下方表达式的会计科目维度成员为 L9E9T,是所有负债类科目和所有者权益类科目的
父节点。
(9)文档。在“文档”选项卡中,用户可以将 Excel 输入工作簿、报表或者网页界面的
输入工作簿和报表添加到列表中,如图11-10所示。
315
第 327 页 / 共 427 页
图11-10 编辑与控制过程关联的文档
用户可以单击工具栏中的“添加”按钮和“删除”按钮对文档进行编辑。例如,单击“添
加”按钮,系统弹出以下4个选项。
(1)Excel输入计划:即Excel输入工作簿。
(2)Excel报表。
(3)Web输入工作簿。
(4)Web报表。
选择Excel输入计划,系统弹出如图11-11所示的对话框。
图11-11 添加文档对话框
31 6
第 328 页 / 共 427 页
对话框中列出了系统服务器文件目录中的输入工作簿,用户可以单击“确定”按钮进行
添加。用户在运行控制过程中出现问题时,可以使用这些输入工作簿或报表来帮助解决问题。
11.1.3.2 演示场景中的控制过程集
控制过程集是一组控制过程的集合。一个控制过程集必须分配到一个类别和时间维度的组合
中才能被执行。在如图11-7所示的控制过程配置界面中,选择列表中的一个模型(Consolidation),
并单击工具栏上的“编辑集合”按钮,或者单击“集合”列中对应的数字。
系统打开控制过程集的编辑界面,如图11-12所示。
图11-12 数据模型控制过程集编辑界面
演示场景使用了控制过程集A,单击控制过程集A的标识,可以进入其编辑界面,如图
11-13所示。
图11-13 演示场景中的控制过程集
317
第 329 页 / 共 427 页
在控制过程集的编辑界面中,如果是新建控制过程集,用户需要输入以下内容。
(1)标识:必输项,用于唯一标识控制过程集,如示例中的“A”。
(2)描述:说明控制过程集检验的内容。
(3)在控制过程列表中,添加或删除控制过程。
单击列表上方的“添加/删除”按钮,系统弹出“添加/删除控制过程”对话框,如图11-14
所示。
图11-14 “添加/删除控制过程”对话框
对话框左边的“可用控制过程”列表中,显示了系统已有的控制过程,用户可以单击
对话框中间的按钮将选中的控制过程添加到右边的“选定控制过程”列表中,或者是将控
制过程从右边的“选定控制过程”列表移回左边的“可用控制过程”列表。一个控制过程
可以同时被分配给多个控制过程集。单击“确定”按钮关闭对话框,返回控制过程集编辑
界面。
完成控制过程集的创建后,在如图 11-6 所示的控制过程模型列表界面中选择
Consolidation 模型,并单击工具栏上的“编辑分配”按钮,打开“分配”管理界面,示例业
务场景的控制过程集分配如图11-15所示。
从图 11-15 中可以看到,对于 Demo 类别成员和时间 2012.DEC,分配到的控制过程
集是A。
完成上述配置后,用户还可以在业务处理流程模型中引用控制过程监视器界面,将控制
过程的操作与其他业务活动关联起来,结合业务流程流执行相应的控制过程。
31 8
第 330 页 / 共 427 页
图11-15 示例控制过程集分配
11.2 对数据进行手工调整
在对数据进行检查之后,如果发现数据有问题,需要根据数据问题的类型,由不同的人
员负责解决。修正数据的工具和方法也可能不同。例如,如果是负责提交个别报表数据的业
务人员对数据进行了错误录入,上级部门可能在对数据进行审批时拒绝接受数据,由负责提
交数据的业务人员对数据进行重新修改,这时业务人员使用的输入界面一般还是使用输入工
作簿。如果个别报表数据本身没有问题,但根据集团会计准则需要对个别报表的数据进行调
整,而且需要在系统内部保留调整的审计线索,这时候就可以使用系统提供的流水账功能组
件进行调整。
11.2.1 创建手工调整分录
SAP 计划与合并系统本身提供了灵活的数据自动调整功能,用户可以使用“基于科目的
计算”或者“抵销和调整”类型的业务规则实现对数据的自动调整,也可以使用流水账功能
模块对数据进行手工调整。
虽然系统将这一功能模块称为流水账,但这里所说的流水账不同于传统核算会计中按
经济业务发生的先后顺序所记录的账簿。在 SAP 计划与合并系统中,用户可以使用流水账
功能对数据模型里的数据进行调整。除了用于报表合并外,这也常常作为企业月结、季度末
或者年末的财务流程的一部分。例如,系统管理员使用数据管理器将总账信息装载到数据模
型之后,业务板块的经理可以审阅数据,并使用流水账功能进行必要的数据调整之后,才完
成月结流程。
319