SAP FI 替代和校验以及激活 RGUGBR00

参考了FICO 里面的替代和校验 以及调试_fico bte增强调试-CSDN博客和SAP ABAP FI行项目替代与完全凭证替代 区别_rggbs000-CSDN博客会计凭证完全凭证替代出口 - 豆丁网

对财务的替代和校验做一下总结 。

1、执行顺序:先行项目替代后完全凭证替代然后执行校验。

区别      :F-02回车即执行行项目替代,保存凭证触发完全凭证替代 。

VF01/MIRO/AFAB BADI AC_DOCUMENT VF01/MIRO/HR 不经过GGB1的替代,所以可能需要对BADI: AC_DOCUMENT , BTE 或者POST_DOCUMENT  进行增强

一、替代和校验的作用
校验( validation ) :在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或者完全凭证来判断,后再根据valication 设置的消息消息类型决定凭证是否允许保存。

SAP 校验是对在系统输入的 数据按照规则设定检验是否正确,可以按抬头、行项目或完全凭证来判断,然后根据validation 设置的消息类型决定凭证是否允许保存,(取消、错误、警告、信息 ),通过事物代码OB28和GGB0实现。

事务步骤:

1、SE38 将RGGBR000复制为ZRGGBR000,

2、事务GCX2,维护应用区域GBLR推出程序ZRGGBR000,

3、GGB0维护有效性校验

4、GGB4/OB28 激活有效性验证,分配公司代码

替代( substitution ) : 在凭证保存前根据设置条件判断此凭证是否生效,然后根据替代规则将原有的字段替换成当前的字段。

SAP 替代是对某个字段或者内容根据一定的条件判断后替换设定的值,该替代量可以是一个常量值,也可以是变量,还可以通过出口form来完成替换,通过OBBH和GGB1实现。

事务步骤:

1、SE38 将RGGBS000复制为ZRGGBS000,

2、事务GCX2,维护应用区域GBLR推出程序ZRGGBS000,

3、GGB0维护有效性校验

4、GGB4/OBBH 激活替代,分配公司代码

校验和替代的区别: 确认是在按条件判断的时候直接做校验,举个例子说,如果一个凭证不符合确认的校验规则,那么就出现提示。而替代,是直接替换成新值。

二、总结:
SAP标准并不是所有字段都可以完成替代和校验的

SE11 ( GB01 ) 可以查看哪些字段可以完成凭证抬头、行项目、完全凭证替代或校验;

如果SAP标准不能用于替代或验证字段可以通过SM30(V_GB01C)修改该字段,使其可以用于替代或验证;

FI自动替代(substitution)时怎样把BESG表里的某个字段放出来:SM30->VWTYGB01,SE16N  GB01 编辑可替代字段   EXCLUDE= 'X'改为GB01-BEXCLUDE = ' '(把X去掉),

 验证或替代**后,SE38运行程序RGUGBR00生成替代和验证程序代码;

三、替代和校验怎么调试:
替代:GGB1;单击创建的替换,输入 =SHCB , 回车

SAP FI 替代和校验以及激活 RGUGBR00_第1张图片

校验:GGB0,单击创建的校验,输入 =SHCD , 回车

SAP FI 替代和校验以及激活 RGUGBR00_第2张图片

替代和校验出口: 

添加替代出口form的search help

SAP FI 替代和校验以及激活 RGUGBR00_第3张图片

在复制出来的 ZRGGBS000中添加title。

在 get_exit_titles 中添加如下代码。

SAP FI 替代和校验以及激活 RGUGBR00_第4张图片

然后如果替换的是单个字段 

行项目替代时 ,代码里面是bseg 不是内表 ,是工作区的概念。

   实际调试时,时填写一行替代一行 

仅当是完全凭证替代时的bseg才是内表

四、补充

1、替代的三种方法

1)、常量

是指满足条件时,指定这个字段的内容为定值

2)、退出

是指留出出口,ABAPer对这个字段进行处理

3)、字段-字段分配

是指将一个已经有的字段内容,赋给需要替代的内容。

SAP FI 替代和校验以及激活 RGUGBR00_第5张图片

2、c_exit_param_none,c_exit_param_field,c_exit_param_class 区别

c_exit_param_field -- 只能用于此字段的修改,只能用于替代,并且是以字段为返回

c_exit_param_field,c_exit_param_class 都是可以用于规则,确认,和替代,而且是以内表,结构的形式进行替代。

但是c_exit_param_field,c_exit_param_class 是以形式参数的替代,

必须使用 PERFORM us901 USING p_budat / t_bseg 等。

c_exit_param_none 则不用。

  3、新增替代的时候选择字段还是出口

唯一退出只可以选择c_exit_param_class,同时这部分只能用于完全凭证的替代,不能使用FI和LC凭证
SAP FI 替代和校验以及激活 RGUGBR00_第6张图片

SAP FI 替代和校验以及激活 RGUGBR00_第7张图片

SAP FI 替代和校验以及激活 RGUGBR00_第8张图片

完成后 执行se38 RGUGBR00 激活 替代和校验 

SAP FI 替代和校验以及激活 RGUGBR00_第9张图片

SAP FI 替代和校验以及激活 RGUGBR00_第10张图片

你可能感兴趣的:(ABAP,FICO,1024程序员节)