校验和替代

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重新生成替代

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

 

posted @ 2023-03-21 16:19  斌将军  阅读(2)  评论(0编辑  收藏  举报