** Validation(确认) **
财务凭证的有效性检查就是在凭证保存前根据预先设置好的条件判断输入的内容是否符合要求、是否有效,否则向用户发出警告或错误消息
有效性检查的用处很多,比如原因代码的校验,现中广核集团及各分公司的现金流量表均通过原因代码来核算各报表项目,因此现金流量表中表内科目财务凭证过账均需填入原因代码,为实现此需求可使用财务凭证的有效性检查,再如某些损益类的科目只允许对某几个成本中心记账,亦可借助有效性检查加以实现
理论上讲,SAP的凭证有效性检查可以以财务凭证的任何字段做条件进行检查,使SAP ERP的实施配置更加灵活。
财务凭证有效性检查的事务代码:(OB28:AP|AR|GL),或通过后台配置进入,路径如下:
财务凭证的有效性检查有三个触发点:
0001->凭证抬头
(输入凭证抬头内容不需要等待行项目输入完毕回车就可以立即触发)
0002->凭证行项目
(单个行项目时触发,当然也可以使用凭证抬头表BKPF的字段做条件,但是应用不到其他行项目的数据)
0003->完全凭证
(可以LOOP整个凭证,弥补行项目触发点缺陷)
** 配置以公司代码为基础,即此检查(下图所示‘确认’列)只在此公司代码下生效,同时配置触发点,说明此检查在凭证的哪个阶段生效 **
**
**
活动等级配置1,即为激活状态。
SAP 确认(Validation)- 配置步骤
1\. SE38 程序RGGBR000复制为ZRGGBR000
2\. GCX2 维护应用区域GBLR退出程序ZRGGBR000
注:检查U102,在检验的出口程序中ZRGGBR000,例如:U101
*&---------------------------------------------------------------------**& Form u101*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->B_RESULT text*----------------------------------------------------------------------*FORM u101 USING b_result.
TABLES:zfi_zzfi001. SELECT SINGLE * FROM zfi_zzfi001 WHERE zzfi001 = bseg-zzfi001 AND zdjbz = 'X' . IF sy-subrc EQ 0. b_result = b_false. EXIT. ENDIF.
ENDFORM.财务凭证的有效性检查:一个检查由若干个步骤组成每个步骤实现一个检查功能。
步骤由三部分组成:
1\. 先决条件,即在满足此条件时能实施此检查
2\. 检查,具体的检查逻辑(除了直接设置逻辑表达式外,也可以通过出口写ABAP程序进行比较复杂的校验规则)
3\. 信息,在不满足检查逻辑的情况下系统将此信息弹出提示
**Substitutions(替代)**
财务凭证替代顾名思义,就是在凭证过账时将凭证的某些字段值按设置好的规则进行替代,此功能能满足用户大部分需求以及某些变态的需求
财务凭证的替代有三个触发点:
0001->抬头凭证
0002->行项目
0003->完全凭证
0005->销售成本会计(功能范围替代)
0006->销售会计核算成本
配置以公司代码为基础,即此检查(下图所示‘替代’列)只在此公司代码下生效,同时配置触发点,说明此检查在凭证的哪个阶段生效
活动等级配置1,即为激活状态。
SAP 替代(Substitutions)- 配置步骤
4\. GGB4 激活有效性验证
财务凭证的替代:一个替代由若干个步骤组成每个步骤实现一个检查功能。
步骤由三部分组成:
2.替代,具体的检查逻辑(除了直接设置逻辑表达式外,也可以通过出口写ABAP程序进行比较复杂的校验规则)
注意事项:
1\. SAP标准并不是所有字段都能用替代或验证
2\. 数据表GB01可以查看哪些字段可以用,与凭证抬头、行项目、完全凭证相关的替代和验证
3\. 如果SAP标准不能用于替代和验证字段,可以通过SM30(V_GB01C)修改该字段,使其可以用于替代和验证
4\. 验证或替代激活后,SE38运行程序RGUGBR00生成替代或验证的程序代码
5\. 数据表GB31,可以查看不同应用范围有哪些验证和替代的调用点可用
6\. RGUGBR00生成替代和验证程序的代码包含在程序GBTAAFI0中