(6) Master Data |
IMG Path:如图10,关于Master Data IMG的10项配置.
一. Maintain Activities
T-code: GCV1|GCV2|GCV3|GCV4 SE16:T022|T022T
在理解什么是Activities, 请读者做下面两个动作. 1使用SE16:BKPF,查询条件BKPF-GLVOR依此分别输入RFBU|RMWA| RMWL|RMWE|RMRP|SD00|KOAE|RMPR,然后着重看查询出的记录的两个字段 BKPF-TCODE,BKPF-AWTYP,我想读者对activiites就会有初步了解. ***需要指出的是BKPF-AWTYP是另一个重要字段,比如AWTYP= BKPF可判断此FI DOC是直接从FI模块post过来的,=MKPF是物料移动产生的,= VBRK是SD billing产生的,细心的读者会发现BKPF,MKPF,VBRK恰好都是header table. 读者可自行检查其它值,了解这些对理解FICO非常有帮助特别是报表开发. 2另一个动作是分配CO No. range的Tcode:KANK,点击Group按钮进去看看,有一堆Activities. |
Activity其实可理解一种业务交易(business transaction)类型,其实在Ledger 0(一般总帐)中也使用了它,在SPL中同样使用它将确定其它模块或外部数据如何将数据Post到SPL 中.
***通常并不需要自定义一个Activity ,使用SAP标准的activity就可,读者有兴趣倒是可研究SAP标准的activity.
如图3.7.1.6-2 [1]自定义的activity-ZACT,很遗憾,自定义的activity type只能选择0->不post transaction和3可选post但不能是Verion 1.
读者使用SE16: T894->SPL和FI-LC合并报表版本表,自定义的activity只能用在计划版本中,关于建立自定义Ledger的版本请看接下来的第三步Maintain Ledger.
研究过记帐程序SAPMF05A读者会发现很多activity是写死的,SAP并不是万能,毕竟你想自定义一个activity再嵌入SAP标准逻辑! |
二.Maintain Field Movements
T-code: GCF1|GCF2|GCF3|GCF4 SE16: T888|T888T|T888M
定义一个Field movement其实是形成一个Field group,这些field在分配Activities给company code (Global company) Ledger时将被决定post到特别总帐中.
[7]写个user exit,
读者觉得似乎含糊不清,可以这样简单理解,一个field movement包含一个field group(就在前面刚讲过SPL的Table group),一个field group决定多少Field(字段)将被post到SPL中. 在这里你使用了receiver field,RACCT,RZZPRCTR,RZZZCB1.
对于RACCT字段,使用请看例2的程序. 不是有很多鸟人说我公司一个charts of account,集团总部是美国,法国要出法国的报表,中国要出中方报表,MD,现在要维护account h和alternative account是一对多的关系, FS00你也不看看, SKB1不是by company code的吗?不同的company code同科目在不同公司… NND,就是多对对都行,俺建立一个表定义对应关系,然后使用user exit去读.这么简单的社会主义初级的问题还老问,完全是拖社会主义后腿的不道德行为.
|
如图3.7.1.6-3,[1]自定义的Field movement ZFLM,[2]自定义的SPL summary table白ZSTSPLT,就是在前面定义table group时产生的summary table.[3]所谓的Send table,此三个实际上是结构(结构可这样理解就是不包含任何数据不使用来存放数据而是用来在程序中定义内表->内存中的表,这也容易理解,假设程序需要将数据写到多个表中,用结构定义一内表包含这些表的所有字段,在前台操作或保存时先将数据临时存在这些内表中,经过判断无误在做一事务提交到表中)[4]这些是ZSTSPLT表的字段,[5][6]为了方便读者理解,本人特意将sender table 的posting key赋给确ZSTSPLT的利润中心,而自定义的coding block field ZZCB1记录的是操作用户名称. 是的,假设读者使用FB50什么的级了笔帐,会发现SPL表的利润中心和ZZCB1分别保存的是PK码和Username,所以在设置sender field必须注意不能犯错.[7]GCX1|GCX2
定义的用户出口.如有需要字段值可根据用户出口定义的Form获得(详细请看3.7.1.10 User Exits)
三.Maintain Ledgers
在此可对ledger新建更改删除和拷贝等动作
T-Code:GCL1|GCL2|GCL3|GCL4|GCL6 SE16:T881|T881T
1 在讲述Ledger只前,只想说一句,就是做FICO如果不知道SAP默认的几个ledger(中文叫帐套吧)是很悲哀的. 2 在允许建立更改SPL前,必须使用GCVO激活SPL(表T000C-GL_ONLY->local ledger, T000C-BKRS_ONLY->Global Ledger任何一个为X). 3通常想使用自定义的table group不用copy from reference ledger(copy from Ledger L0是不可以的,因为GLT1是所谓的共享表->pooled table). 4 最简单的方法就是直接使用Ledger L0 with summary table GLT1,将默认的公司代码删除换上 实际需要的公司代码就可以. |
如图3.7.1.6-4,[1]接下来可将SPL Z1 assign给公司代码|公司,[2]分配Activity,你可决定ledger Z1需要分配什么activities(比如Z1只需要FI post过来的数据),[3]版本,通常定义两种版本,1->actual version,2->plan version,所谓的实际版本就是从FI|MM|SD等产生凭证时post过来的,计划版本允许是用户输入的,无外乎是将来可以去对照实际和计划差异啥的,计划数据保存在ZSTSPLP中,SAP默认只有实际版本,在可使用计划版本之前用户必须自定义. [4]记得GCVO设置了多语言版本,如没设置,Ledger text不会显示(全球化策略是SAP在多个应用中都允许使用多语言版本的文本,比如物料描述,可定义不同版本不同的语言描述,在各种打印报表中,可定义不同版本的text element). [5]table group中等summary table,[6]必须选上它才可assign activity(Ledger都不允许post意味此SPL根本就没实际用途),[7][8]rollup和summarize是有区别的,rollup按一定规则将记录累积,summarize似乎是直接将line item累积起来,实际的line item数据将写如和ZSTSPLT同一table group中的 ZSTSPLA中, [9]起码必须保存transaction currency(document currency),如果需要还可使用另两中currency(关于currency请参考1.2币别设置). [10]如果选了保存数量可能会影响性能,读者不妨这样理解,在各模块产生凭证时同时需要根据各种条件决定是否post到SPL中.
在保存了Ledger Z1后,接下来来是分配公司和分配交易作业(activity).
如图3.7.1.6-5,[1]分配作业,[2]分配所有的公司代码,通常并不需要如此做,[3]删除一个被分配的公司代码(前提是最好成绩没有业务数据),[4]0->表示block posting, 和3.7.1.6-4[6]不同的是,它仅仅是block一company code,而后者是将整个Ledger block,1->允许post到SPL,[5]在此选择了和公司代码全局参数中不同的AM年度变式.
在FM|Treasure,AM,SPL都有年度变式的设置,在这几个模块中,是否它们必须相同呢?我的理解是FM的年度中必须和company code global parameter,SPL当然可以不一样(要不怎么使用SPL在一些使用特殊会计年度变式的企业出所谓的中方报表),AM可另外再设置自己的所谓的shortened fiscal year(详请参照3.6资产会计)设置.在第二步建立field movement产生field group请选上和AM相关字段. |
分配activity,如图3.7.1.6-6
[1]Activity group,在权限解剖另有详述,[2]选择activity,前面对activity已经有描述,如图,假设只允许RFBU才post数据到Ledger Z1,[3]field movement[4]可选择符合一定的规则才post数据(关于规则请看Validation和Substitution),[5]如果读者对Activities不数字,就使用此步,它将所有G/L使用的activities全部加上,建议使用此功能,[6]1->表示和一般帐中符合activity的ledger数据同步实时post 过来,从技术上讲,就是将倆者做成同一个事务2->后续post,非同一事务post .[7]Post data到SPL是否检查时间,可以限制某期间不允许post数据到SPL, [8]是否写line items到SPL(堆一般帐line item table通常是BSEG|COEP->如果设置从CO post数据到SPL的话,Z1 Ledger是ZSTSPLA),[9]如不选,表示不post数据到SPL,所以通常是要选择的,要不能就干脆将此activity删除.
SPL的数据除了从FI,MM,SD的实际业务数据post过来,和可设置直接从CO模块post,比如一些plan数据. 为了方便读者理解,假设Ledger Z1只设置了Activity RFBU (FI posting),然后读者可自行使用FB50,FB60,Fb70,F-02等做几个凭证再SE16看看 table group的几个表的数据变化. |
四.Maintain Global Companies
读者也许会问,至此什么是Local ledger还好理解,但是还是未明白什么是global ledger. 首先请参考3.7.1.3 Tables 设置, T-code :GCIN,建立global ledger的table group,其它和local ledger设置相同.同样,如果不想麻烦,可使用标准的global ledger table GLT2等. ***关于合并报表请参考3.5报表合并准备和4.1报表合并(Consolidation)配置. |
如图3.7.1.6-7,读者需要的仅仅是将Ledger,activity分配给global company而已.
T-code: GCG1| GCG2|GCG3|GCG4|GCG5 SE16: T880
五Maintain Company Codes.
T-code: GCB1|GCB2|GCB3|GCB4 SE16: T001
详情请本节第三步
六.Maintain Integrated Master Data
七.Develop Enhancements for Master Data Exits
sdfs
八.Maintain Fiscal Year Variants
sdfs
九.Maintain User Tables
sdfs
sdfs
十.Maintain Code Combinations
sdfs