会计凭证替代和验校
一、替代
- 在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或完全凭证来判断,然后再根据Validation设置的消息类型决定凭证是否允许保存。
- SAP校验是对在系统输入的数据按照规则设定检验是否正确,可以按抬头、行项目或完全凭证来判断,然后根据Validation设置的消息类型决定凭证是否允许保存(取消、错误、警告、信息),通过事物码OB28和GGB0实现。
1.1步骤:
- 事务代码SE38,将程序 RGGBR000复制为ZRGGBR000
- 事务代码GCX2,维护应用区域GBLR退出程序ZRGGBR000
- 事务代码GGB0,维护有效性验证。
- 事务代码GGB4/OB28,激活有效性验证。
1.2案例
-
事务代码SE38,将程序 RGGBR000复制为ZRGGBR000,事务代码GCX2,维护应用区域 GBLR退出程序ZRGGBR000
-
事务代码GGB0,维护有效性验证,检查条件也可以通过检查页签编写。
-
在ZRGGBR000程序中写逻辑代码:
-
事务代码GGB4/OB28,激活有效性验证
二、替代
2.1作用:
- 在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或完全凭证来判断,然后根据替代规则把原有字段替换当前字段。
- SAP替代是指对某个字段或某个内容根据一定的条件判断后替代设定的值,该替代值可以为一个常量值,也可以为变量,根据实际业务而定,替代通过事物码OBBH和GGB1实现,其中可以按抬头、行项目或完全凭证来替换。
2.2步骤
- 事务代码SE38,将程序 RGGBR000复制为ZRGGBR000
- 事务代码SM30,修改配置视图VWTYGB01,将要替换的字段放出来
- 事务代码GCX2,维护应用区域GBLS退出程序ZRGGBR000
- 事务代码GGB1,维护替代。
- 事务代码GGB4/OBBH,激活替代。
2.3案例:
-
事务代码SE38,将程序 RGGBR000复制为ZRGGBR000。事务代码SM30,修改配置视图VWTYGB01,将要替换的字段放出来。 这里要在过账的时候替代客户编号,所以要把客户编号字段放出来。
-
事务代码SE38 ,运行程序RGUGBR00 激活替代,然后将程序 RGGBR000复制为 ZRGGBS000(自定义)。
-
事务代码GCX2,维护应用区域GBLS退出程序ZRGGBS000。
-
事务代码GGB1,维护替代。
-
事务代码GGB4/OBBH,激活替代。
-
执行程序RGUGBR00
三、总结
3.1步骤
- 确认是在按条件判断的时候直接做校验,举个例子说,如果一个凭证不符合确认的校验规则,那么就出现提示。而替代,是直接替换成新值。讲到这里还是不得不举个例子来说明一下。
3.2注意
- SAP标准并不是所有字段都能用与替代或验证;
- SE11(GB01)可以查看那些字段可以用与凭证抬头、行项目、完全凭证替代或验证;如果SAP标准不能用于替代或验证字段可以通过SM30(V_GB01C)修改该字段,使其可以用于替代或验证;
- 验证或替代激活后,S38运行程序RGUGBR00生成替代和验证程序代码;
- SE11(GB31)可以查看不同应用范围有那些验证或替代调用点可用;
- RGUGBR00生成替代和验证程序代码包含在程序GBTAAFI0中;
3.3集的建立:GS01
3.4特殊写法
3.5 相关事务码:
一些相关的很有用的事务代码
GGBO - 验证维护
GGB1 - 替代维护
GCVZ - 规则维护
GGB4 - 验证/替换的动作选择,例如,激活应用程序区域,使用所有消息或替换字段
GCX2 - 用户出口包含的定义
OB28 - 激活FI验证,配置需要准确,否则会报错了
OBBH - 激活FI替换
OBBZ - 激活销售成本会计替代 (在FI区域)
OKC7 - 激活CO验证
OKC9 - CO替换的激活
GCT9 - 运输: 验证
GCTO - 运输: 替代