校验和替代
1、OB28/GGB0校验
在创建会计凭证时,当公司为SC10,科目为14800000时,分配字段必须为01,否则报错。这就可以通过校验进行限制

事务代码OB28
如果是第一次配置,则需要新增条目,输入公司,调用点(1代表抬头,2代表行项目,3代表完全凭证),输入确认名称,活动等级为1激活。
如果校验的公司下已经存在配置,则直接双击确认列进入

定义前提条件

检查需要校验的字段值是否符合要求

当校验不通过,则报错

测试,创建会计凭证报错

2、OBBH/GGB1替代
2.1、唯一退出
事务码GCX2,复制标准程序RGGBS000到ZRGGBS000中

将GCX2的退出程序改为ZRGGBS000

添加自定义出口

其中出口参数
exits-name = '……'.表示出口例程名称
exits-param = '……'.有 c_exit_param_none/field/class,表示例程的用法.
exits-title = '……'.例程的抬头显示
三种例程用法:
c_exit_param_none:表示替代执行完毕后,不返回任何参数给调用它的程序或环境。
c_exit_param_field:表示替代执行后,可以返回一个或多个字段的值给调用它的程序或界面。
c_exit_param_class:表示允许替代返回一个或多个对象(通常是SAP ABAP中的内表或结构)给调用者
在子例程中添加替代逻辑

事务代码OBBH
同理维护公司对应的替代,双击替代进入配置

配置前提条件

替代选择唯一退出

出口U901,保存即可

测试替代
创建会计凭证时,进入替代逻辑

结果如下

2.2、常量替代
创建步骤,替换分配字段
先决条件

选择替换字段

找不到要替代的字段时,可以通过SM30维护VWTYGB01,将替代字段的排除选项去掉,就可以找到了

替换为常量值

创建会计凭证时替换

2.3、字段分配替代
选择替代字段,并选择字段分配

将分配的值替换为抬头参考凭证的值(BKPF-XBLNR)

创建会计凭证时,进入断点

结果

3、问题解决
替代之后,如果找不到该出口的例程,可以用程序RGUGBR00重新生成替代

如果传请求后,发现报错,替代的出口提示无法找到对象,可以在程序中使用更新索引功能解决


浙公网安备 33010602011771号