------屠夫
我们肯定用过系统提供的CO各模块信息系统中的各种报表比如成本中心报表,下面介绍如何使用Report painter自己建立报表.
一天俺跟一个CW顾问探讨如何做Report painter,他说report painter非常简单,我就决定忽优他一下.
老屠:你不是说你就是传说中的Report painter杀手吗?你知道如何自定义report painter table,编写report painter增强,指标和关键指标是什么? 四种Set类型怎么用,Set是如何保存的,成本中心组,利润中心组是如何保存的为什么可以作为set,Report painter程序是如何自动产生的……
CW:你可怜可怜我,别说了,你比唐僧还能絮叨,我只不过想画两张报表而已,不想被烦死.
老屠:那怎么行?为了你将来能挑起中国企业报表制作的重任, 俺一定要仔细说,你一定得认真听.
(一).基本概念.
首先明白Report painter的几个基本概念,在SPL菜单下可以找到Report painter的相关事务码.
(1)报表绘制器(Report Painter)和报表编写器(Report Writer)
简单理解,Report Painter是Report Writer的升级版.
使用Report Painter的GRR1比Report Writer的Gr31要简单的多,不信你使用GR31画几个报表出来看看.
(2).集(Set)
集合包括基本集|单维集|多重集|指标集,集合顾名思义意思就是报表中用到的一些常量或变量的组合.
成本中心组利润中心组科目组等建立后也自动建立一个同名的单维集,组类型分别是”成本中心组”,”利润中心组,”科目组”等.
接下来会更详细描述集的细节.
(3).变量(Variable)
非常数动态取得的值就是变量,系统提供了三种变量,值变量|集变量|公式变量.
(4).关键指标和基本关键指标
回顾下成本中心的计划格式(Tcode:KP65-KP67), 说,基本关键指标定义就是报表书写器的报告表中的值字段的技术描述,这些定义通常是由系统交付的,不能对其进行更改。但可用附加选择条件把基本关键指标汇总到关键指标。
(5).标准格式
一个报表有许多可用于控制报表输出格式的格式参数,通常无需为每个格式输入这些参数的全部,这样就可定义格式只显示所需要的报表参数。你一定会记得,在做KP06|KP26等各种类型的计划都可定义格式.
我想到了字段状态组(Tcode:OBC4),字段也不是需要全部拉出来晒.
(6).库
库定义了可在报表中使用的Report write table,特征,基本关键指标和关健指标。
(7).报表和报表组
自定义的报表需要包括在一个报表组中.
(二).建立报表
分步骤介绍一下建立报表,非常简单.
第一步:建立|检查库(T-code: GR21|GR23)
系统已经提供了基本的库,通常并不需要自己建立一个库,如果你觉得非要自己买布去做一条”裤”也是可以的.
自定义库可设置所使用的Report write table(Tcode:GRCT),特征,基本关键指标和关键指标.
(Tcode:GR21|GRR1)显示了这种关系.
假设自定义库ST1,对应的Report write table CCSS(CO报表所使用).
点击”特征”可选择库所允许的特征,这些特征将在制作报表(Tcode:GRR1)显示为可选择的”有效特征”.
注意: 可以为特征预先设置一个”缺省组”.
设置报表的”基本关键指标”, ”基本关键指标”是系统预定义的.
前面说过, 可用附加选择条件把”基本关键指标”汇总到”关键指标”,在制造报表时选择”预定义的关键指标”显示的就是定义库时的”关键指标”.
注意:
如果提示语言问题,可对直接SE16对T804I新增E,或者使用T-code: GCRS也可以
什么是Report Write Table?
深入理解Report Write Table,输入Tcode:GRCT,
如果你配置过使用自定义表的SPL或熟悉LIS系统,在GRCT中就能看到这些表,比如激活SPL过程中,Summary table也就自动成了Report write table,这样就可使用Report painter编制SPL报表,真TNND会集成,如果你愿意折腾,可以自定义Report Write table.
特殊特征,在此设置了控制范围字段”KOKRS”的类型是”1”,必输,还有一些版本(Tcode:OKEQN),值类型(决定是实际值,计划值还是统计值等)也是必输字段,这就是为什么你建立的报表这些字段是必选的原因.
系统设置的基本指标,可以看看.
如有必要,无论是特殊特征和基本指标都可以使用自定义的增强例程.
可以看到Report Table CCSS涉及的数据库表,这些CO table相信大家已经非常熟悉
了.到目前为止,你应该完全理解了什么是Report Table?它无非是一些数据库物理层
的数据表和相关处理程序的组合.
看看E文的解释.
Report write table :
In order that the Report Writer can report on a specific database table, it must be entered in the control table T804A. The database table must not exist as a physical table, but can also be defined as a logical table in the Report Writer
(table T804E), and contain several physical tables.
第二步:使用集和变量(Tcode:GS01|GS11).
我让一个弟兄写一个详细的剖析Report painter的技术手册,该弟兄信誓旦旦的说“我保证,我以个人的名誉保证,我以我的人格保证,一定要彻底剖析这东西写个资料”,我回答说:”你少来这套,你的个人名誉,你的人格值能买几两猪肉?你不要学人家贪官那样动不动就以D性担保.上会让你跟踪一个问题,你也是保证说如果不掘地三尺将问题根本原因找出来你就提头来见我,结果两周过去了,我问你这事时你愤愤然地跑出去,到外面宰了只蚂蚁提了只蚂蚁头来忽优俺.”.
集(Set)分四种.
(1).基本结(Basic Sets)
basic set下面没有子层次,它包括值和值间隔.
(2).单维集(Single - dimension Sets)
单维集可包含基本集或其它单维集,这样可以组成一个具有层次结构的多级单维集.
(3).多维集(Multi-dimension sets)
多维集可包含来自不同维度(多个table的)的基本集和单维集,
(4).关键指标集(Key Figure Sets)
关键指标集表示可以用指标做值类型,系统预定义了基本指标,可在这些基本指标的基础上定义字表,只在报表中用.
是一个系统自有的多维集,包括一个集变量0R-CCTR(对应成本中心组字段RCNTR)和一个基本集0R-RAWMAT.GLT1(原材料科目科目字段RACCT).
注意:
I.CO master data的成本中心(组),费用(组).IO(组),利润中心(组),科目组等当建立时都是一个单维集.
II.集变量,表示在建立变量时可建立集的变量.
III.集合这玩意还可用在象财务的validation|Substitution等(Tcode:OB28|OBBH|OK17)中, 比如可以判断先决条件BSEG-HKONT IN ZTUSZ时将做什么动作,只要使用GS01输入表BSEG|字段HKONT建立的集ZTUSZ包含判断的科目,避免Hard-code,如果科目发生变化,只要修改集ZTUSZ就行.
集合相关表:
SETHEADER :Set Header and Directory
SETHEADERT: Short Description of Sets (描述).
SETLEAF:Values in Sets
问成本中心利润中心建立后保存在什么地方?
就在以上这几个表中,有兴趣的可以好好看看这几个表.
变量分3种
(1).值变量
值变量很容易理解,比如你将公司代码设置成一个值变量而不是固定值,这样允许在报表中
由用户自己输入公司代码参数,可为值变量设置一个缺省值,请参考标准变量0BBUKRS (Tcode:GS13).
(2)集变量
使用集合的变量,请参考变量0BRACCT (Tcode:GS13).
(3).公式变量
假设Z国的期间先前于公历3个月,可以做这样一个期间变量ZGQJ,公式是’#S002’ + 3 ,S001,S002等是系统预定的获取会计年和月份的公式出口,这样如果期间选择了公式变量后,出现的将是图5-[4]的画面.由于在运行报表时的期间是2007/04,则系统自动出现的期间是04 + 3 = 07 .
可使用一个名叫G_SET_FORMULA_EXIT的BAdI去做公式增强,如果你喜欢闹腾可以时试试可,今天就不玩这个了,第三步:使用画笔画报表
有人说,中国的企业靠报表管理,学学人家,报表系统都整的如此花稍,画报表非常简单,不过就是体力活,不浪费时间了,Skip,等闲的无聊时在来瞎扯几句