设为首页 收藏本站
查看: 1043|回复: 0

[经验分享] SAP Validation和Substitution

[复制链接]

尚未签到

发表于 2015-9-19 12:36:52 | 显示全部楼层 |阅读模式
SAP Validation和Substitution

http://blog.sina.com.cn/s/blog_a440b7ee01018aff.html


先来看看Validation的简单应用:当用户LI_J输入Item金额大于10000时,系统提示Error信息。
1.1.新建Validation(T-code:GGB0)

DSC0000.gif

如图1-1:
[1].选择只在凭证头BKPF回车或保存时触发凭证的有效性检查。
[2].选择凭证头BKPF或行项目BSEG做先决条件,而CHECK时只能是行项目BSEG的有效性检查。
[3].选择在凭证头BKPF或行项目BSEG回车或保存时触发凭证的有效性检查。

1.2.选择Line item,新建Validation: ZCALI1
输入Message ID(系统要求输入以Z开头的,实际上就是自定义的,本例中自定义ZFI)

DSC0001.gif

1.3.点击‘step’,新建step:001

DSC0002.gif

如图1-3:
[1].先决条件,即当什么情况下,系统才启用有效性检查,可以用Company Code, User ID, T-code等等作为先决条件。
[2].检查,即当先决条件满足的情况下,系统开始根据此处设定的检查条件进行有效性检查,不满足此处的设定,系统就提示message。
[3].消息,即当系统检查到输入的凭证满足设定的检查条件时,将要提示的信息(可自定义)。

1.4.双击Prerequest,输入先决条件:User = ‘LI_J’。

DSC0003.gif

如图1-4,输入先决条件有三种方式:
[1].表栏位,当选择Line Item方式时,系统允许选择凭证头BKPF,凭证行项目BSEG及系统表SYST的栏位值作为先决条件,当然这些栏位的值规则可以通过右边的运算符等输入。如果你够厉害,也可通过菜单改到Export Mode直接输入。
[2].规则,可以新建一个先决条件的规则(如河建就省了吧),其时输入规则也就跟[1]差不多,只不过建立规则后,其它的Validation都可以直接用了。
[3].出口,这个可以用于更复杂一点的应用,接下来会举例说明。
[4].就是我们的先决条件,即当用户是‘LI_J’时,系统启用有效性检查。

1.5.双击Check,输入Check条件:Amount in LC <= ‘10000.00’。

DSC0004.gif

1.6.双击Message,如图1-6:
[1].选择type:E,都知道是Error了吧,即不允许过的。
[2].number:001(自己定义的,你也可以用911,这样较吓人点)

DSC0005.gif

这样一个简单的Validation就完成了。
1.7.我们设定这个Validation的激活状态。(OB28)

DSC0006.gif

如图1-7:
[1].Callup Point,什么东东?简单来讲就是激活点,共三种:凭证头,凭证行项目和整个凭证,对应前面的设定,应为我们之前设定的是凭证行项目,所以这里选2。
[2].检查,选择我们之前新设定的Validation:ZVALI1。
[3].激活状态,共三种:0不激活(NND,忙活了半天,不激活玩什么?),1激活,2除批输入的激活。

1.8.保存后,输入凭证进行验证。(FB50,当然也可以用FI的其它T-code)

DSC0007.gif

如图1-8,当用户LI_J输入金额[1]10001大于设定的10000时,系统做出错误提示,并不允许posting。

好了,现在有这样一种情况,供应商对同一笔费用的发票,隔三岔五的发一次过来,而我们粗心的入账人员呢有不去review一下,收到发票就入账,结果重复的付款给人家(你说这样的供应商也有,挺聪明,不管有意还是无意,蒙得到一次算一次,而这样的员工也有,也难怪,整天那么多付款,谁记得这个发票之前供应商有没有给过啊,NND)。现在老大发现了,你系统就不能管一下吗?我输入同样的供应商发票时给我检查一下嘛,这时简单的Validation就不好用了,解决的思路如下:
入账时将供应商发票输入到凭证头的reference栏位,系统check这个号码是否已存在,如果存在则提示错误信息给用户,以核查。Validation启用exit做check,配置如下:

2.1.新建Validation:ZVALI2 (T-code:GGB0),因reference在凭证头,所以我们选择在Document Header建立Validation即可。

DSC0008.gif

2.2.点击‘step’,新建step:001

DSC0009.gif

2.3.双击Prerequest,输入先决条件:Company Code = ‘HK10’(当然还可以加更多的先决条件)。

DSC00010.gif

2.4.双击Check,输入检查条件,这里我们就选择[1]exit:U100。

DSC00011.gif

2.5.双击Message,如图2-5:

DSC00012.gif

2.6.我们设定这个Validation的激活状态。(OB28)

DSC00013.gif

至此,Validation设定好了,但我们的exit:U100在哪里呢?
2.7.接下来找到exit所用到的程序。(GCX2)

DSC00014.gif

如图2-7:
[1].GBLR是for Validation的。
[2].GBLS是for Substitution的。

2.8.Copy 程序:RGGBR000 to ZRGGBR000并编辑判断reference重复的代码。(SE38)

DSC00015.gif

找到程序中FORM:U100输入以上check代码保存并激活。
2.9.保存后,修改exit指定的程序为ZRGGBR00。(GCX2)

DSC00016.gif

2.10.保存后,输入凭证进行验证。(FB60,当然也可以用FI的其它T-code)

DSC00017.gif

因之前已book了一笔reference为755的发票了,所以系统提示错误信息并不能posting。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-115821-1-1.html 上篇帖子: SAP HANA AFL插件库升级后之前生成的存储过程升级方法(PAL升级方法) 下篇帖子: SAP数据调整案例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表