SAP财务凭证校验和替换
前言
财务模块一般在SPRO配置中预留一些增强的地方,有些是纯写代码如BADI E开头函数,这些使用起来影响较大,工作量也不小。这里介绍下配置和增强代码结合的标准功能:GGB1 GGB0替代和校验,方便大家处理简单的凭证字段增强
使用前,请牢记一下以下原则:
SAP标准并不是所有字段都能用与替代或验证;
SE11(GB01)可以查看那些字段可以用与凭证抬头、行项目、完全凭证替代或验证;
如果SAP标准不能用于替代或验证字段可以通过SM30(V_GB01C)修改该字段,使其可以用于替代或验证;
验证或替代激活后,SA38运行程序RGUGBR00生成替代和验证程序代码;
SE11(GB31)可以查看不同应用范围有那些验证或替代调用点可用;
RGUGBR00生成替代和验证程序代码包含在程序GBTAAFI0中;
OKB9默认设置优先权大于替代GGB1,替代优先权大于手工输入。
说在前:GCX2——定义fico校验和替代增强文件(一般复制源文件,命名为Z+文件名)
一、凭证校验
1.GGB0——打开校验界面
2.在财务会计等文件夹查看校验点:凭证抬头、行项目、完全凭证等
3.点击校验点,然后点击新建有效性按钮新建有效性
4.点击有效性文件夹,再点击新建步骤,弹出的界面选择一个或者多个字段
4.建立步骤,点击“先决条件”、“检查”和“信息”来设定相应的公式
5.写增强代码
(1)在get_exit_titles定义增强代码FRM的名称
(2)空白地方定义增强FRM
FORM u100 USING b_result.
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* PLEASE DELETE THE FIRST '*' FORM THE BEGINING OF THE FOLLOWING LINES *
* IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM: *
*
* IF SY-DATUM = BKPF-BUDAT.
* B_RESULT = B_TRUE.
* ELSE.
* B_RESULT = B_FALSE.
* ENDIF.
ENDFORM.
(3)最后进入OB28保存和激活,然后回到GBB1就可以选择我们上面新建的增强FRM。
校验就这么多,如果需要常见项目用到的校验和替代实例,可以到我的资源去下载整理好的范例,这里不打广告
二、凭证替代
1.GGB1建立替代和步骤
财务会计文件夹下面的就是预留用来替代的点(单据界面),我们可以在里面的分类去规则,然后建立步骤(一个或者多个字段+条件+替代方式)
替代步骤
在相应的替代点如凭证抬头等可以点击工具栏的“步骤”按键来建立替代步骤,可以选择一个获取多个替代点(界面)的字段:
先决条件
公式编辑器来构造条件,意思是当你构造的条件成立时候才执行这个替代
替换
即执行的动作,可以选择增强(退出EXIT)、常量值、字段(选择其他字段)
这里说一下增强(退出):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.激活替代OBBH
打开事务码之后,如果还没配置的,则新增一条记录:
1.公司:可以针对每一间公司建立一组替代,实际上大部分项目都建立一组可以满足
2.调用点:即作用位置,0001-凭证抬头 0002-行项目 0003 整个凭证 0006-销售会计。。。(其实就是GGB1的大类)
3.替代:GBB1建立的替代
4.激活:其实点击保存后就是激活替代和增强代码,后面修改增强选不到增强的form,可能是没有重新点击这里的保存
也可以直接使用GGB4来激活
总结
财务凭证GGB1替代和校验基本就这些内容,能满足基本的需求就好