BDT和XO的应用心得

【博主SAP/ABAP交流群 53144545
之前做了一个 BP 模块的项目, BP 即业务伙伴( Business Partner ),t-code BP 该模块的主要功能是处理和保存业务伙伴信息,相对于SD等模块,没有很多业务流程,但在这个模块里运用了两种技术, Business Data ToolsetBDT)和 XO FrameworkXO),这两种技术包含了比较先进的软件设计思想,这篇文章的目的是对 BDT XO的运用作一个归纳总结。

BDT XO简介,这里不作详细解释,只是按照个人理解把要点说一下。
BDT可以理解为一种屏幕增强技术(只针对 Dynpro ),在传统模块里,屏幕增强只能在 SAP 预留的地方,而在 BDT 架构的模块里,每个屏幕都被分割成一个一个的子屏幕,每个子屏幕都可以通过后台配置替换成自定义的屏幕,当然相关的开发还是有不少,比如自定义屏幕和原来的标准屏幕的数据交互,但总体来说还是可以达到屏幕任意增强的效果。BDT有一系列相关的开发 t-code 并且不同模块下 BDTt-code 都不同,比如 BUS3BP 模块 View 的后台配置。
XO是一种包含面向对象思想的开发框架(语法也都是 OO 的),在XO 架构里,应用层被分为 BO Business Object ,SO Segment Object 和MO Memory Object BO 业务对象,在 BP 模块下,一个BO就是一个 BP;SO 是块对象,比如银行信息,地址信息和身份信息等都是块对象,在业务上都是BO 的一部分;MO 是缓存对象(数据库表),每个 MO 都是对应着一张数据库表,每个MO 都属于一个 SO 比如银行账号表和信用卡表都是银行信息的一部分。关系结构上,一个 BO 包含多个 SO ,一个 SO 包含多个 MO XO的t-code XO80

BDT是如何结合 XO使用的。
BDT 是一个完整的开发框架,它包含了屏幕显示和数据处理这两块功能,而XO 只是数据处理。对于标准功能, BDT已经有了固定的数据处理流程,比如业务逻辑校验和数据增改删等,这部分基本无法用 XO来代替改写了,而对于新开发的功能,比如自定义屏幕的数据存储逻辑和自定义逻辑校验,则可以使用 XO来代替原来 BDT 的数据处理方法。

使用XO 优点。
之前说过,BDT是一个完整的开发框架,如果结合 XO 使用,无疑会增加开发难度,但是使用 XO有其优势所在,其中的一个比较小的好处是 XO里有一些方法是针对 BDT 开发的,比如 XOPAI PBO方法,在自定义屏幕里用这些方法代替 BDT里的某些事件,开发起来会更方便。然后更大的一个好处是,XO起到了应用层统一的作用。应该有不少人遇到过此类问题,比如对屏幕上某个功能做逻辑增强,会不会对 BAPI 也生效?这个就涉及到软件设计了,拿 BP模块下的 BDT来说, BDT屏幕和 BAPI的逻辑处理是分开的,也就是说是两套处理逻辑,如果在BDT某处作了个功能增强,就要相应的在 BAPI 这里也作相同的增强,才能保证屏幕输入和 BAPI 处理结果相同。而引入XO 后,可以把相关的一些校验逻辑都写在 XO 里,然后 BDT BAPI 都调用 XO ,这样相同的逻辑只需要写一遍。实际上数据来源是多种多样的,比如前台( GUI)屏幕输入,运行SE37输入参数,上传文件等,而且现在 SAP 向Web 和多终端发展(比如 UI5 ),所以应用层统一的思想是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值