前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matinal:SAP 关于BTE OBBH OB28的解析,你可以能不知道的技巧

matinal:SAP 关于BTE OBBH OB28的解析,你可以能不知道的技巧

作者头像
matinal
发布2024-04-19 08:15:38
1620
发布2024-04-19 08:15:38
举报
文章被收录于专栏:SAP TechnicalSAP Technical

财务替代中常用到的两种替代和一种检验,BTE与OBBH替代与OB28校验.在新系统里这些替代和校验调用的程序都要自己新建并且通过配置来分配,才能实现在标准程序运行的时候调用这些替代或者校验。以下是其建立步骤:

一: 建立OBBH程序及其替代

1.运行事务代码GCX2 ,可以看到如下图 ————————————————

拷贝红框中程序并按照项目要求命名,比如此处命名为ZZD_FI001_RGGBS001

拷贝的时候,只需要改一下程序名就行了,include不需要重新命名

然后新增出口的时候,在以下位置如图增加代码,以及其FORM,OBBH就是调用的这个FORM

注意这里的 exits-param,如果下面的FORM里有传入参数,应该定义成c_exit_param_field,如果没有参数,应该定义成c_exit_param_field,定义错误的话,在obbh里查找Z001的时候,会报类型不对的错误。另外, exits-title必须定义,否则也会在obbh调用查找的时候报错,提示未定义。 ————————————————

程序建立好以后,再进入GCX2将自建的程序分配,这样标准程序就会调用这个程序了。注意,这个配置由业务顾问完成,生成业务顾问传输的cr,而且不是跨客户端的。比如在103里测试,就在103里配,不会影响102,除非进行配置cr的传输。

分配的时候,用自建的程序来替代标准程序就可以了,如下图,填入自建程序名保存生成CR就行: ————————————————

配置完成后,再将自建程序里的出口名Z001提供给业务顾问,让他们到OBBH里配置就行,配置完成了就可以测试了。

引申一下,OBBH配置里,一般都是成对出现的,一个行项目,一个抬头

注意OBBH创建的时候,要激活公司代码才会走进去。除去公司代码跟先决条件的限制,什么程序都可以走进去。

二:BTE程序及其替代的新建

BTE程序在新系统里的建立分为两方面,FIBF配置和自定义程序中的逻辑处理

首先需要业务顾问在FIBF里配置:

1.创建产品:

运行事务代码FIBF进入下图界面,选择设置->产品->一个客户的 (一般默认选择的是一个客户的这个选项) ————————————————

进入下图界面后,点击‘新条目’新建产品,自定义产品名并勾选上A

2.创建自定义接口函数:

返回FIBF主界面,选择环境->信息系统处理

然后点击执行,如下图:

一般的BTE替代是对抬头跟行项目的替代,使用的是00001120这个处理接口,(其他类型的就要用"OPEN_FI_PERFORM"在标准程序里找,然后具体分析应该用哪个接口了)如下图,所以对于一般的抬头跟行项目替代,可以选中00001120然后点击模式函数模块,拷贝标准函数SAMPLE_PROCESS_00001120到自定义函数ZZD_FIFI001_BTE1120,(不过拷贝函数之前,要先自定义一个函数组,自定义的函数在拷贝的时候要放在函数组里)如下图: ————————————————

3.自定义处理模块:

如下图选择设置->处理模块->一个客户的-.>

进入界面以后,如下图新建红框中的条目并且引用上面新建的函数以及产品:

然后业务顾问来生成CR并且保存就好了。

只要是引用到了00001120接口的事务代码,都会走到自定义函数

ZZD_FIFI001_BTE1120中,接下来就可以根据具体需求,写上各种替代逻辑了。

创建模块的时候,也不是所有的都如上选择处理模块和00001120接口

在BTE程序里写逻辑时要注意的是,如果要修改数据,应该LOOP 和MODIFY T_BSEGSUB表,如果直接LOOP T_BSEG表并且MODIFY,修改数据不会成功。而且T_BSEGSUB表初始对应的结构BSEG_SUBST中有时候不一定包含写逻辑时需要的字段,这时候,就要根据需求APPEND结构BSEG_SUBST了,不然在需要将某些字段引用到逻辑中的时候,程序检查会提示结构T_BSEGSUB中不存在XXX字段。(在T_BSEG跟表T_BSEGSUB两个表都需要使用的时候,根据T_BSEG的SY-TABIX等于T_BSEGSUB中TABIX的值来进行对应数据行) ————————————————

三:新建OB28校验程序:

有时候如果需要在标准事务代码里加报错消息,使用OBBH跟BTE都会出现报完E类型的消息以后,屏幕变成灰色,回车也不能继续输入的情况。由于OBBH与BTE中一般一个替代都是很多事务代码一起调用,所以使用弹出消息函数加上LEAVE TO SCREEN XXX也不好做,这个时候,可以让业务顾问在OB28里配置校验跟消息。

OB28事务代码跟OBBH类似,也可以引用出口,不过新系统里需要先新建出口程序,类似OBBH,拷贝GCX2中的标准程序RGGBR000到自定义程序ZRGGBR000,然后在GCX2中用自定义的拷贝程序替代标准程序RGGBR000并且让业务顾问保存在GCX2配置CR中,就可以在OB28中引用ZRGGBR000的自定义出口了。

出口中的代码和配置都写好了以后,再运行标准事务码的时候,报错消息以后,屏幕就不会变灰了。 ————————————————

有时候,校验跟替代并存的时候,OB28跟BTE的执行顺序,不同的事务代码是不同的,为了保证校验跟替代的顺序,有时候对于不同的事务代码,可能还需要在BTE里加上一些逻辑并且限定事务代码,来保证其执行效果


怎么样,在了解此篇文章有何感想?


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档