SAP 凭证的有效性检查_第1页
SAP 凭证的有效性检查_第2页
SAP 凭证的有效性检查_第3页
SAP 凭证的有效性检查_第4页
SAP 凭证的有效性检查_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SAP 凭证有效性检查小技巧 凭证的有效性检查所谓的有效性检查(Validation),简单理解, 就是在凭证保存前根据设置条件判断此凭证的输入内容是否有效,在发出用户设置的消息类型(警告还是错误)。Validation用处很多,比如可使用Validation检测在记帐时某些费用只能对应或禁止对应到某些成本中心、某些费凭证必须对应某类型凭证摘要、或者那些用户只能过帐到哪个利润中心等,实际上多数ERP系统起码在财务模块都会提供一些类似的功能,只是在SAP中,Validaton贯穿各个模块,在HR,AP,AP,GL, Consolidation , Real Estate, SPL等多模快能找到V

2、alidation的配置,而且,理论上讲,SAP的Validation可以以财务凭证的任何字段做条件进行检查,比起一般国内系统的凭证的校验要灵活得多。有效性检查相关Tcode:OB28:AP/AR/GL,最常用财务凭证校验,校验最后都会反应在财务模块。OAZ1:AM Posting。GCVW:Global Validation(In SPL,Company Level)GCVV:Local Validation(In SPL,Company code Level).全局Tcode:GGB0: 所有的有效性检查GGB1: 所有的替代GGB3: 规则类型GGB4: 激活检查/替代可以使用GGB0/

3、GGB1快速找到各模块的检查和替代,特别是当有不正确的检查和替代导致过帐失败时。下面以财务凭证的检查(Tcode:OB28)为例,通常来讲,由于多数交易都产生财务凭证,所以在此校验比较合适。一建立Validation步骤:背景:使用Validation只允许用户STONEF在本位币为HKD的公司代码记帐本位币金额不超过1000HKD。(1).选择Callup Point建立Validation. 图1-1:Validation有3个触发点(CallPoint):0001->凭证抬头(输入凭证抬头内容不需要等行项目输入完毕回车可立即触发)。0002->行项目(单个行项目时触发,当然也

4、可使用凭证抬头表BKPF的字段做条件,但是应用不到其它行项目的数据,比如说需要根据对方科目去做检查,行项目触发就做不到而应使用完成凭证触发)。0003->完成凭证(可以Loop整个凭证,弥补行项目触发点缺陷)。 图1-2:新建Validation时按F2进入详细建立画面。 图1-3:选择标志1表示激活检查配置,只有激活后凭证检查才真生效。在本例中,因为记帐用户名对应凭证抬头表BKPF-USNAM,选择行项目(Callpoint 2)Validation,会计凭证的抬头和行项目表格BKPF/BSEG大家都会很熟悉,行项目触发可以使用抬头表,假设建立Validation ZSTLINE.(2

5、).Validation建立步骤详解如图2-2,一个Validation可以包括多个检查步骤(Step),每一个步骤都包括3个部分:先决条件(Prerequisite)|检查(Check)|消息(Message),Validation的意思就是:在触发点下,满足先决条件但是不满足检查条件的弹出设置的消息。图2-789正好是Validation的3个部分,它的意思就是如果满足先决条件(公司代码BKPF-BUKRS=5100,同时过帐用户名称BKPF-USNAM是STONEF),此时检查内容为(行项目本币过帐金额BSEG-DMBTR必须小于等1000HKD),如果条件满足则Ok,如果不满足(也就是

6、记帐金额>1000)则弹出错误消息(消息号ZFIMSG 017)。看看Validation中消息的设置,Message class:ZFIMSG,SE91自定义的一个消息类,关于消息请参考小技巧-消息,Message Type/Number:E 017,Message variables表示消息文本中传递的是用户名称和本币记帐金额两个变量,这样非常人性化,出现的整体Message text将是Validation Err:User用户名 Cannot Posting Amount >过帐金额,用户一看就知道错误在什么地方.注意:Validation触发的条件是满足先决条件但不满足检

7、查条件!一个Validation Step至此就完成了,你可以建立多个Validation step。你还可以使用规则Rule,Rule的意思是将一些条件反复重用的一个小技巧,建立的规则对Validation和Substitution(替代)都是有效的。 假设建立ZRULE1,内容为BKPF-BUKRS = 5100 and BUKF-USNAM = STONEF.ZRULE2内容为BSEG-DMBTR <= 1000.00.如图5, 先决条件(Prerequisite)|检查(Check)使用的是规则,实际上效果和图2是一致的。注意:I.在定义Rule, 其它Rule可做为一个条件,比

8、如ZRULE3 包含ZRULE1 and 其他条件。II.一个大集中ERP服务器上运行了多个公司代码,每个公司代码可能都建立了一大堆Validation Step,Validaition会自动产生代码插入财务处理程序中,而R/3的ABAP程序是解释型的每次都会重编译,这样集中服务器上任何一个公司代码如果修改或新增Validation都会影响全局,所以一定需要考虑灵活重用功能!下面会继续讨论这个问题。现在,如果用户STONEF记帐或其产生的任何财务凭证的本位额都不能超过1000HKD了,当然可以在Validation增加财务手工凭证类型条件SA,仅仅检查财务记帐的金额而不控制诸如后勤发料产生的财

9、务凭证金额。 总之,Validation是非常灵活的。在图7中,检查ZJS01的步骤0002采用了穷举科目法,这样的做法比较失败,因为如果增加科目意味需要修改步骤,修改的步骤在传输到生产机上后意味生产的检查代码需要重新编译,如果一台服务器上有多个公司代码则互相影响,特别是当逻辑错误时,Validation和Substitution都将导致能产生任何财务凭证。在讲述替代时,将介绍使用集合(Tcode:GS01)的方法代替穷举法。Validation的检查原理:你只要使用SE37在Function FI_VALIDATION_HEADER|FI_VALIDATION_ITEM| FI_VALIDATION_DOC合适位置设置断点,这3个函数正好对应3种Callpoint的Validation,稍微跟踪一下程序就可知道程序逻辑,在介绍替代时会详细介绍其设计思想。多个STEP执行的顺序:Validation可有多个Steps,不妨假设一Line Validation有俩Steps-STEP1和Ste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论