校验和替代

作者:斌将军 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, CO, Data Engineering, FI, PP, 开发, 数据工程, 生产, 财务
校验和替代 - 封面图
校验和替代 - 封面图

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

校验和替代 - 封面图
校验和替代 - 封面图

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

校验和替代 - 封面图
校验和替代 - 封面图

**—— 希望本篇文章对您有所帮助 ——**

斌将军

关于作者:斌将军

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「校验和替代.md」整理生成,仅用于内部技术分享与学习交流。