SAP 凭证的有效性检查.doc

上传人:飞****9 文档编号:136389454 上传时间:2020-06-28 格式:DOC 页数:6 大小:532KB
返回 下载 相关 举报
SAP 凭证的有效性检查.doc_第1页
第1页 / 共6页
SAP 凭证的有效性检查.doc_第2页
第2页 / 共6页
SAP 凭证的有效性检查.doc_第3页
第3页 / 共6页
SAP 凭证的有效性检查.doc_第4页
第4页 / 共6页
SAP 凭证的有效性检查.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《SAP 凭证的有效性检查.doc》由会员分享,可在线阅读,更多相关《SAP 凭证的有效性检查.doc(6页珍藏版)》请在金锄头文库上搜索。

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).Validation

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

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

7、p至此就完成了,你可以建立多个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可做为一个条件,比如ZRULE3 包含ZRULE1 and 其他条

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

9、活的。在图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和Step2,它们的Prerequisite都是:BKPF-BUKRS = 5100,但是Check却不同甚至是矛盾的,Step1 check是BSEG-DMBTR 1000,结果会如何?也就是说,多个STEP的执行顺序是什么?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号