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

328 篇文章 133 订阅

 🚀欢迎来到本文🚀
🍉个人简介:matinal,目前职业是IT行业,一个正在慢慢前行的普通人。
🏀系列专栏:涵盖SAP各模块,Python,Excel,人工智能等
💡 其他专栏:一些平时学习的技术,感兴趣的小伙伴可以看看。

🍔公众号:matinal
🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​
⛱️万物从心起,心动则万物动🏄‍♂️


 前言:财务替代中常用到的两种替代和一种检验。

🦙(工作遇到傻逼,千万要远离。道路千万条,远离傻逼第一条)


财务替代中常用到的两种替代和一种检验,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里加上一些逻辑并且限定事务代码,来保证其执行效果 


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


如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。更多精彩内容->在这里

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中的vector是一种动态数组,可以存储不同类型的元素。sort函数是C++ STL库中的一个算法函数,用于对容器中的元素进行排序。该函数可以接受三个参数,分别是要排序的容器的起始迭代器、结束迭代器和一个比较函数。 在引用中的例子中,使用sort函数对vector容器中的元素进行排序。sort函数默认使用小于号运算符(operator<)进行比较,因此默认情况下是按照升序对容器中的元素进行排序。 在引用中的例子中,定义了两个比较函数GreaterSort和LessSort,分别用于降序和升序排序。通过传入这些比较函数作为sort函数的第三个参数,可以实现自定义的排序方式。 在引用中的例子中,使用greater<int>()作为sort函数的第三个参数,实现了对容器中元素的降序排序。而没有传入第三个参数时,默认按照小于号运算符进行升序排序。 因此,C++中的vector容器可以通过sort函数进行排序,并且可以根据需要使用默认比较函数或自定义比较函数来实现不同的排序方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [C++中,结构体vector使用sort排序](https://blog.csdn.net/zhouxun623/article/details/49887555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [C++vector容器使用sort排序(含升序以及降序)](https://blog.csdn.net/G_matinal/article/details/126769371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值