1、特别总帐一日通特别总帐(Specia1.Purpose1.edger)3.7.1根本设置(BaSiCSettings)23.7.2方案(P1.anning)173.7.3实际过怅(ACtUa1.Posting)173.7.4期间处理(PeriOdiCProcessing)173.7.5信息系统(InformationSyste三)173.7.6工具(Too1.S)17林则总帐(SPeCiaIPurpose1.edger)SAP的应用和实施其实远不象传说中的那么神秘,特别是现在相信ERP的慨念已好深入艮心”,不匿多年前你实推一个ERP工程甚至还再负责企业用户的根本电脑操作培训.我做ERP开发巳授
2、近十年了,第一次听说SAP应该是98年,那时我在每扑BAAN,我的第一印象就是听说千SAP的待遇共高.我开始接般SAP是2004年下年,我的感觉是其实SAP的应用不过如比.最搞笑的是似乎很多人已经忘却了SAPTW)首先也是-个软件系统,既然这样,相片ERP设计来讲.它的应用和实糖本来就应该不是复杂的,一个系统本来就应该是Keepusageassimp1.yaspossib1.e,设计才应该是Considerbusinessprocessascomp1.exaspossib1.e,徐非你设计的ERP的系统专门只为了解决某行业的某企业的某阶段的某些问晟.有人说俺杀猪的迁没领梧SAP的精IM(注.精
3、健比二字是他们授常挂在嘀,边的,不过估计他们是囱己也没搐清楚,如果没辂的话,我记得猪呀牛的只有骨总.你硬要说我没吃过骨麓那就真的是诬啜).我和老婆讲,每天起乐不用浪费时间折板子吧,这晚上不又要铺下来吗?老婆答复:如果今天你不折被子.明天你又会找借口说建竟不用洗脚电.反正洗完了又会变脏,如果不会或没有变胜又何苦洗,这叫生活规则,懂蹴?这个问题正好答复为什么SAP应用如此管单可是你企业却要消耗巨费去请多汉,这就是游戏规则.一位学者这样闻述人生的3重境界,第1更:见山是山.见水是水.第2重:见山不是山,吃水不是水,第3更是:见山仍是山,见水仍是水.企业ERP的应用也嫉如此,第1,ERP是一个信息系统
4、第2,ERP是一个(辅助)营理系统,第3,ERP是一个信息系统.有位兄弟说了一句话:不上ERP是等死.上了是找死.如果你从这个角度来讲.就很容易理解.之前国内大局部企业都是经过多年方案经济时代的国企,管理水平如何我不多说.我应用台湾张五常的一句话:国企不倒,天理唯容.如果你的企业要索ERP来代退人管理,一个企业吹嘘上了ERP后堵住了资金黑洞,另一个企业更得意上了ERP后采购猫驳没了.真是I.服了U,这是什么跟什么听,就不去评论了.一个真正的高管理水平的公司应该将ERP看成一个信息系统.能及时提供正成蛾格的信息系统(管理决策坯是靠人),,,窗巳成习Ir无为而治.MD,现在好好再年两年SAP以后
5、再慢慢来吹.等以后俺失势了一定要高薪聘请默倦老弟SAP抢肉机这样的专门能吹善写的离手做秘书天夭也整点管理方面的文章到处去晒格问:你为什么把这篇文章叫将别总帐一日通.没当此时.我总很谟虚地答复,主要一是屠宰SRP真TMD大容易了,你只要花一天的时向看看这格文章就已经能成为传说中的超级SP1.杀手,二是SAPAG估计甘时还没设计出比较有难度的复苏东西来(据可本消息,本来SAI1AG那帮马人也不取气瑜实甘想设计一些专门难一下尾夫这样的判夫的东西.后来经慎重考出觉得没有必要这样刁难俺老人家.同时主要是就算整出来了,最后迂不照样惨死荏佬刀下,只是时何同题,就不了了之.).1根本设置(BaSiCSetti
6、ngs)P0Specia1.Purpose1.edger玲0BasicSetbngs国QPerformPreparationIj口MantainCodhgB1.ock?jD国TaUesO昌MantanTabteDrectoryProdJCbOnStcrt-UpPreParabonDE3-Vaidation8JDQSubstitution9jD国UserExits1Q0IP1.amriQ0IActua1.Postbg0IPericdtProcessingoIInformationSystemITods下面10项的IMGPMh基于上图.(I)PerfornPreparationT-code:GCV
7、OSE16:TOOOC如囱1.荏此定义允许1.OCa1.1.edger.G1.oba1.1.edgerPOSt到特别总帙和允许一些文本使用多语言版本.使用SP1.是如比的肾单.如耒读者使用SAP标准的SP1.1.edger1.o(表QJI)的话,说者不必要去了解SP1.的具体细节,要做的只有两步.1) GCVO启动SP1.2Tcode:GC1.2Maintain1edger时加上您的CompanyCodes就可以谱叁照(6).IiMterDftt.Maintain1.edger#).如需要.你可为1.edger1.o选择不PI于一般总帐的会计年度变式.FB50记笔帐,使国GD23或SE16:G
8、m就能看到数据被PoSt到1.edger1.O了.如果你的1.edgerO和1.CdgCr1.O的会计年度不同,你特Ji个TcStSCenario.相信等巳羟fr到F1.数据POSI到了SP1.1.edger1.O.如果这时你很快乐以为SP1.真的很TMD容易混,那就TNND错了.特燎总帐的原理很5?单,就是在记帐时数据Posi多I1.eger0(一般总帐)同时根据你的IE置将数据记到特别总检相关表而巳.2) )MaintainCodingB1.ockT-codeOXK1.0XK20XK3什么是Codingb1.ock?为了让读者彻底理解它举一个简单的例子.假设你设计了一个学生成饿管理系统,其
9、中记录学生成矮表XSCJ有这些字段XhID(学号).Name(姓名).grade(年级).C1.ass(班级).Chinesescore(语文成绩).Mathscore(数学成绩)等,现在索要有填写学生戌缴同时拘入学生的年纪W海信息(在此姑且不讨论设计范式,因为按设计范式,XSCJ表保在XhID就是#,Naa.Grade,C1.a8a你邀常会或立另一学生,科泉XSz1.,如果你哥SAP的,科主效设J1.就是物料播逑彝空立MAKT我,巳是第N范式人这时需要的是更改XSCJ参加这些字段或在XSC1.表中参加一个结构,这结构包含年纪身高字段,然后在记录学生成绩时定义一个子屏幕弹出(或默认带出.SAP
10、管这叫AccountAssginaentcodingb1.ockscreen)一个夕门让用户爱护学生情息,在存学E成沿时将些信息也一并保存.SAPCOdiMb1.oCk一役原理根本如下,它允许增字段,自动珞增加的字段归各模块的相关表中,并且动态产生一些支林程序.各模块的相关表究竟是客些表?下面将继续祥细阑逑CCdingb1.ock的设置.OXK3MaintainCOdingb1.ockfie1.ds进入后界面如图2.1专家模式如果读者对ABAP偎熟悉,使用此模式,你得一步.步建立domain,datac1.c三cnt,structure(CICOBI.C100B1.BI),然后是将熠加的fie
11、1.d叁如表BSEG(S悠迁才*g健.外的犬和Sfmrfwt,),如果读者觉得自己还不是专家.就使用默认的1.ightInode(简易模式)吧,它自动完成这些操作.你按F6健Add自定义Fie1.d.选择开发类(47后是PaCkage).输入字段类型和长度.2oainZZCB1.hasbeeninc1.udedincocceccionVUK90811SBB1.iySIoftinZZCB1.hasbeencceteentZZCB1.hasbeeninc1.udedincorrectionDVUK908hSBB113SDa”e1.eentZZCB1.hasbeencreated8B123BBI23
12、BB123STab1.eCIeCOB1.hasbeeninc1.udedincoEcectionDVUK90811SSTab1.eCIeCOB1.eBIhasbeeninc1.udedincoEsectiontVUK90911SSTb1.eBSEGhasbeeninc1.udedincocEccton1.VWC9O8116BB1203Tab1.eCIeCOB1.hasbeenextendedB0131WVacninooccurredvhi1.eactivatingTab1.eCI-CoB1.BB120STab1.eCIeCOBteBXhasbeenextendedBB131WVacningoc
13、cucedwhi1.ecUvt4ngTab1.eCIeCOB1.eBIBB1.ZOSTbX8SEGhbn3ndOCncsyTWJDPEncTHODUnu*Coxei1.dZZCB1.:ZZCB1.133!111ZZCBI:St1.-AU311112K0I11a!SKB1.-AU31I1.1.ZZCb1.:SKB1-FAUS11I1BSEGZZCB1.SEntryGBO1.:009SB3EGZZCB1.BB1.OSSEnttyGBO1.:OO1.SCOB1.ZZCB1.BD1.OSSEntryTHODO:T1.56B-FAUSW1112K0IBB1.OSSCntyTHODP:ET1.S6B-FU
14、5V1.1.1.ZZCb1.BB1.OSSEntryT162:100E2111ZZCbIm0“SSubscceen9999hasbeengenecatedFB200SRepotSAFF120wasgenecatedBB149SGenecationcepoxtSAPFACCGexecutedBB146SGenecationP1.ogX:3RFBXB1.GOCoeFIbetchinputexecutedBB1483GeneKtttioncepocRFBXPPGO”packedFIdocu*cn3BB148SGenecadonepoRFBXPPG1CoepackedFIdocv*cntBB147SG
15、eneaingeposcRGUGBR02Cocv,IidAC428ub8t13tfg8executedBBO54SSub9ceen9999hsbeengmasdcodingb1.ockfie1.dZZCB1.激活it程由于修改了大量标准表和结构(Ii1.JHHt字UM4集块可能设计的表中),你可能需要AccessKey.读者必须心Q整个漱活过程,在此过程中,读者可发现所有的记帐操作都可能会错误,毕竟BSEG表都正在更新.那个著名的记帐总程序SAPMFoM需要重新编译(不知者岁平/寿型的MiAP的运行速度反应如钙图3读者可看到激活fie1.dZZCB1.更新了的ABAP对象,包括CO用到的一些A
16、BAP对象.其型的比方CO1.ineitem及COEP和SP1.共用的Sondtab1.eAcCIjGU俸构)等,SE1.1.你看到有TZZCB1.1 .在等待激活时你唯一要做的就是耐心等待,如果过程中途意味Cance1.,这将有一定风险.你可能会发现记怅出了问题.这就意味大多数会产生M务凭证的交易失败.开PO出了河你可根相ABAP错误使用SE1.1.直接去激活ABAP对乳如果需要.可执行这些程序重新生成程序或捧错,SE38:MUGBU8RGUGBBOORGUGBR26IRSINC1.00.2 .为什么激活过程会如此长?很容易理解.SAP是一个庞大的臬成系统.但是会计凭证的产生(表BSEG)就
17、有个模块POSt过来的相关系:据.你在BSEG扣了一个字段,这些模块的相关程序或程序中使用的结为肯定要做相应调整,至于激活内部的设计逻辑如何,SApAG的设计人员应该最清楚.3 .什么时候要自嵬又COdingb1.ockt1一企业将夔费用能按多种用途分析JnICrna1.Ordcr1Costcenter.Functiona1.area等还是不能满足其带求.1.ineitcText巳做它用.财务部依旧要求费用区分能By类,By个人,By区域.By.总之.徵乎你已经没辙.这样的情况下.你就字定义COdingb1.ock字段,上面已较知遭这些字段是可用于ACcountassignment的(OXKD
18、一般的财务软件都会提供一个类似功能,就是允许用户囱由定义AccoUn1.assignment字段.4 .SAP允许定义豪多7个COdingb1.ockfie1.ds,这些自定义字段也可用在SP1.口,因为在SP1.SendtabIeAcCI1.G1.XaHW你能看到它(前提是你必须将ZZan参加你定义的SP1.表.请看接下来的相关配置).CO相关表比方COEP你可看到ZZCBI,这意味自定义字段的数据也能传到CO模块,很不幸的是.你不能将自定义字段ZZCB1.内容传到CO-PCA模块,因为似乎没有相关配置允许你更改1.edger8A的表G1.PCAG1.PAPG1.PeT(船方号可将Z,ed
19、gr1.o的G1.TI改成你自定义的tab1.e,而这tab1.e体包含MZZCBI).关于如何使用OXKI定义ACCoUntaSSignroontSUbSCreCn请命例2M1.*codingb1.ockscreen(3)Tab1.es一.ExecuteExpressInsta1.1.ationTcode:CC1.QExpressInsta1.1.ationoftheFI-S1.SystemH(XrotjifocrnjtnnDeWjndYUTteGto1.oUTtegr4OooaencKnbeEfoeEaxBx3cedAd9EaiBckedmd:CUBQnt】“UadeaxBatkedfus
20、d9set8-Coo1.eWFxnnt1.*ubxWoikBredKdsm3tcxctuxeE1.ment(VBSE1.eaent)33”Od*sHUMb”IsVuMbbeE(CO-PA)AecwtAjs19nkentCcFZnUTJ2$Z2cwjJCWJRZcB1.ZZXKKEYZZPAOTCP2211Z“P”.FZaUj3s11W5BF.CRKB1.三-111.FOSWFStTO1.K,匕MRJFSePOSID11UFKF05CI1.CW11rjftZ2CBixonrPXCB11(PK0E.11IS-F5P.三P*RrcbcnJAimWXA加BB4,快速安装(EXPreSSinsta1.1
21、ation)你可建立更改3H除tab1.egroup.Fie1.dmovement和SP1.1.edger,在比介绍如何建立SP1.的tab1.egroup.1飕立一个IHbICgroupZSTSP1.2在按此按钮时会提示STSP1.T-Suranarytab1.e.ZSTSP1.A-Actua1.1.ineiteatab1.e,ZSTSPUfP1.an1.ineitemtab1.e.ZSTSP1.O-Objecttab1.e(object/partner)*,ZSTSP1.C-Objecttab1.e_2(transactionattributcs)5个表将被规立.3insta1.1Tab
22、1.egroup时.会产生一些程序.SAP强烈推荐reinsta1.1.tab1.egroup,特别是test,和productionserver是同一台(估计没多少生史会这样).很然.reinsta1.1会重新更新这些程序.有ABAP知识的人知道程序激活后荏同一server是跨c1.ient的.如果不这样做可能导致一些潜在错误.地看计算机的迅猛开展,由于效劳器的性能巳廷大大提供.SP1.数据通常设置和一般总帐同步,SP1.出辂的后果是正常的M分操作也会做不下去,所以你reinsta1.1.tab1.egroup.4所谓的sendfie1.ds.从1知道在建立tab1.egr。UP时会产生5个
23、女.比些表的局部字段是SAp动态根箔其自己设计逻辑动窈产生的(比方ZSTSP1.T-w三arytab1.e就类似G1.su三arytab1.eG1.TO,其中包含TS1.OI-TS1.16-对应各期网交与I凭证货币的R计佥:和HS1.o1.4B1.16则是对应R计*位币会,这些字段必须在SP1.的SU三arytabi。),你还可参加其他字段.5细心的读者会发现这些额外的字段借好就是accountassignmentfie1.ds6只是这些字段前加了ZZ前城.假设参加jxfitSnterZZPRCTR和自定义的ZaCI字段7自定义的ZZBC1.字段.1什么是tab1.egroup?Tab1.eg
24、roup的意思就是将这些SP1.表将组成一个grnUP-ZSTSP1.用在特燎总帐上,一套帐一般都要包含方案数据,实际数据和SUBmary数据,这概念适合各种特别总帐(包括利润中心怅).作为一般总帐.就要复杂的S.比力我们都知道会计凭证*BKPF.BSEG.Su11Barytab1.eG1.TO.还有很多方案表.2为什么介加利涮中心字段ZZPRcTR和ZZC81字段?(一) .之所以叁加ZZBC1.是便于是读者更理解codingb1.ock.如笛要你建立参加几个自定义字段都可以.(二) .无论是COStofsa1.esaccounting1.edger0F(GUTNCT)正是1.edger1.
25、0(G1.T1).r,没有利润中心,只有Businessarea(好参也是用来退代BA的.如黑是这伴,我精忠当时设计时可能就没考电Pmfitcenter字段,鲍黑糠St.不必当西.如果你需要在SP1.中使用利润中心,请自定义tab1.egroup参扣比字段.在顺利建立tab1.egroup后.使用SE1.1.可发现grouping的5个表中都包含了RZZPRcTR和RZZzCB1.,只是前面多了R前缴.这样做是否记帐时ZZCB1.和利潮中心字段数据就到SP1.中了.当然不会,如SAP真有人工邠能估计企业的SAPengineerS就会大量失业.你还必然定义fie1.d三oe三ent.清继续往下看
26、似乎只能自参加7个字段,我想这主要是考虑兰能同题.rTrnsdMtoZSTSP1.TActw图5IStDesotSurmarytaUe网1.1.”尸JW1.FkjKey1.nO0aementOaUT.1.engthOedmJshortDwagOxpgermIFoynCHARoOtortcjnRCKAP1.(CeOiAraRZ2?RC7iFRCTRCHAR10OProfttCentef二SI31CHAR10OZZCb1.AttrtxxesOrtveryjndMantenanceAefcfciEntryhejpCheCfcCUTenCy/antrtyF*自定义的Codingb1.oCk字段不仅可
27、用于一股总怅和本钱模块而且可用于特殊总怅.SAP设计之精妙和完美不稗不另人攸厥,将所谓的#hardCOding(可配置)推到极点.理怪业界有闻SAP什么业务许可配置出来,虽有张.今日观之,信矣.需要指出的是,在insta1.1.时会有如图6的提示,特维总粮的成功安装会将SP1.tab1.e转换成ReportWritc(Paintcr)tabic.ReportPiIintRr的读者一定不会对set.keyfigure.characteristicFS生,关于r。POr1.PiIintOr请看本书相关Reportpainter的诧细介貂图6中将COSIcenter和functiona1.area微
28、力固定特征值.JjB7.&insta1.1.tab1.egroup时SAP提示其建些report,读者可自行检查.Reportwritetab1.e和GRCT我花了很长时间和一个印度F1.CO叁谋向它解释实际上repstNinIer所使用的。CSS并不是SEII看到的CCSS.reportPHirHer的C1.TO和SE1.I的C1.To并不完全相同.他要求我能在ReportwriterIabIeG1.To中增加FUnCIiona1.area字段以方便报表嫔制.首先,你使用TcodeGRCT看着所谓的reportWritCrtabIe,它可理解为一个YiCW,r即Ortpainter的G1.T
29、O当然连接的是透明表G1.TO的魏追.但是它还有相关的程序支持.透明表G1.TO加这些支持号.序组成了reportwriter(painter)tab1.e.看看reportpainterCCSS.不但包含了表迂有象CCSS这样的Strucuturc.两点留蛤读者思考.Itab1.egroup中的ObjeCttab1.e有什么用途?几个SP1.tab1.e混成-个tabicgroup.输入一tab1.eRroUP是如何找到其中包含的SP1.tab1.e的?2Insta1.1SP1.tab1.egroup会建立一些reportpainterset.细心的读者会发现在建立本钱中心组(KSHD.本钱
30、要亲组时(KMD.会计科目组(KDHD等等.这些数据也会作为reportSC1存在.司题是这些数据保存在什么表中?二.DefineTab1.eGroupTcode:GC12T-COde:GCD6没什么特别.你输入一个SP1.Iab1.e.将同一tab1.egroup的tab1.es以图形界面显示出来而已.Technica1.He1.pT-codGCCGGCGGGeU2iGCI2GCVB通常在你createinsta1.1tab1.egroup.SP1.产生了相关表.结构和一些程序.这种动态产生ABAP藏象的例子在很多地方都可见到,比方凭证确宾定和运代被激活后会自动产生一些程序;C1.PA激活后
31、自动产生一些CO-PA相关表和支持程序.技术帮助是说如果在这些自动产生对象的过程中出现结误,读者可手工再去产生一次.通常这步并不是必需要的.尽管如比.依旧介绍几个TeChniCa1.He1.P的TCode.1 GOCG用户要求在G1.TO增加FUnC1.iona1.area字段,显然SEU直接增如Functiona1.area后假设在SP1.做T类minsta1.1.tab1.egroup的动作会自动产生一些支挣程序,这些动作会受新螭译记怅程序,于是在记帐时提示Functiona1.area密误.31.I去除FunCtiOnaIarea字段后.错误依旧.此时,就要使用GCCC.GCCG用来就是
32、更新SP1.产生的语法错误.2 GCU2SAP说SP1.做多允许53个期.通常和一般总怅采用12XPeriOd.当我们看0B29相关帮助是说炭多可使用365期问.如你的SP1.用使用比方24(ha1.famonth),53PCriod(WCek)先维护好it结构.然后GCI2安装tab1.egroup.就能M用53period.3 GCVBmaintainupdateIyPe在SAP-17已经被禁止.了解ABAP知识的用户SriIitSE93推入TcoMantanCompanyCodes5国MantamintegratedMasterDatajQDevetopEnhaicemGntsfaMas
33、terDataExitsTj6 MntaiFtsca1.YearVariants8j岛MaintainUserTabfes9以。MaintainCodeCnbtnans10_1DiGPath:如图10.关于MaSterDataIYG的10项空置.MaintainActivitiesT-code:GCVGCV2Ga3GCV4SB16:T022T022T在理解什么是Activities,请读者儆下面两个动作.11用SE16:BKPF.I询条件BKPF-G1.VOR依此分别输入RI:BuRMwA1.RMW1.RMIERMRPSDOOKOAERMPR.催后若重着查询出的记录的两个字段BKPF-TCOD
34、E.BKPF-AWTY匕我想读者对actiViites就会有初步了解.=Mf要指出的是BKPF-AmfP是另一个要字段,比方A11YP=BDT可判断比FIDOC是直按从FI模块post过来的.HKPF是一科移动产生的JVBRK是SDbi1.1.ing产生的,“心的读者会发现BKPF.1KPF,VBRKIfr好部是headertab1.e.读者可自行检变其它值,了嬉这些对源FICO*畲有用助林则是报表开发.2另一个动作是分配CONo.range的TeOdc:KANK,点击Group按钮进去看看,有一堆Activities.Activity其实可理If一种业务交易(businesstransact
35、ion)类型.其实在1.edger0(一般总帔)中也使用了它,在SP1.中同样使用它将喧定其它模块或外部数据如何将数据POS1.到SP1.中.”道富并不*要自定义一个Activity,使用SAP标准的activity就可,读IMr兴J倒是可哥光SAP标准的activity.如图3.7.1.6-21E定义的actiVity-ZACT,很遗悠.自定义的activitytype只能选择0-不POSttransaction和3可选POS1.但不能是YCriOn1.读才使用SE16:TO94-SP1.和FI-1.C合并披泉版水泉,自定义的activity只能用在方案JI1.本中,关于建立巾嵬义1.edger的版本谱着接下来的Z二步int.ainIfdgfr.研究过记帐程序SAPwFo6A徒青会发现很多activity是耳死的.SAP并不是万能.毕竟你麴自定义一个activity再杀入SAP标准更揖!ChangeActivity:MasterData图3.7.1.6.2定义一个Fie1.dmovement其实是形戌一个Fie1.dgroup,这些fie1.dtfEActivities给coranycode(Gpany)1.edger时将被决定PGSI到特别总帐中.X.MaintainFie1.dMoveaentsSE16T888T8