SAP S4 HANA业务伙伴工具集(BDT)
在几乎所有S/4 HANA项目中,都会出现这样一个问题,即BP如何与BDT一起工作。本文就这个话题给大家做一个简短的介绍,并分享一些BDT的知识。
本文适用于与BP业务合作伙伴相关的所有版本,即ECC 6.0以后的版本。主要是SAP S/4 HANA on-premise和私有云版本。
引言
什么是BDT?
BDT即Business Data Toolset,意思是“业务数据工具集”,是维护主数据和简单事务数据的中心工具。本文关注的是业务伙伴事务和业务伙伴关系。
BDT具有以下关键设计目标:
1.可扩展性 通过多个层次对各种对话框部分进行自由修改扩展,例如屏幕布局、屏幕顺序、程序逻辑、菜单、字段分组等。 2.可配置性 应用程序开发人员(维护BDT的控制表)可以调整屏幕布局和屏幕顺序 3.可分割性 较大对象部件的维护可以分为较小的部分 4.更快的开发 通过BDT执行对话控制。业务功能由应用程序实现。此外,BDT提供了几种服务,应用程序可以将自己包括在其中 5.通用对象服务 直接输入、传输模式、字段控制等
BDT业务数据工具集
访问BDT菜单
1./n(返回主菜单) 2.事务代码BUPT(调用BDT菜单)
BDT对象
BDT处理逻辑
固定的程序逻辑是从定制中读取控制表。
程序逻辑
BDT的程序逻辑是静态的(固定的)。事件调用动态定制的功能模块和屏幕。
应用程序
使用BDT维护的主数据和文档数据的每个对象都被定义为应用程序对象
BUP–普通业务伙伴
BUB–业务伙伴关系
BUA–地址
CVIC–客户链接
CVIV–供应商链接
…
应用程序可以单独打开或关闭。
应用程序数据保存在内存对象中,而不是结构中。要访问数据,必须将数据从内存对象读取到本地结构中。更改数据后,这些数据必须写回内存对象。将数据保存到数据库的基础是内存对象。
从开发角度来看,每个应用程序都集群在单独的功能组中。在这种情况下,所有应用程序都是分开的。应用程序之间的通信使用GET-和COLLECT功能模块或GET和SET方法。
在功能组中创建屏幕(类型子屏幕)、PBO和PAI模块以及事件的功能模块(对于每个应用程序、表和视图)。
PBO模块仅调用服务功能模块BUS_PBO来执行字段状态。
PAI模块仅调用服务功能模块BUS_PAI以获取光标位置。
程序逻辑:
•每个应用程序的事件(读取数据、检查数据、保存数据) •表事件(应用程序/功能组之间的通信 •每个视图的事件 o用于准备表(排序等)的PBC事件 o数据输入前的PBO事件从定制表中读取文本、格式化日期等。 o数据输入后的PAI事件。检查输入值。日期的转换
注:在没有对话框的维护模式下执行相同的编码(例如直接输入)。没有冗余编码。
事件
BDT在对话框流中使用固定事件。所有应用程序都能够通过自己的程序逻辑扩展对象。BDT动态调用特定于应用程序的功能模块。最重要的事件如下所示
ISSTA–初始化
ISDAT–从数据库读取数据
ISDST–将数据分发给参与的应用程序
FCODE–处理自己的功能代码
XCHNG–检查数据是否更改
DCHCK–检查数据
DSAVB–从拥有的应用程序收集数据。
DTAKE–记录全局内存中的数据
DSAVC–完整数据(内部编号)
DSAVE–在数据库上保存数据
DLVE1–初始化当前存储器
DLVE2–初始化全局内存
屏幕布局(OK Code:bdt_analyzer)
SAP S/4 HANA业务合作伙伴BDT Analyzer用途
BP事务对话框具有基于在BDT中设置的以下元素构建的层次结构。
•屏幕顺序 •屏幕 •小节 •视图 •字段组 •字段
屏幕顺序(事务BUS6)
屏幕顺序表示所显示的选项卡的数量,并包含一个或多个屏幕
屏幕(事务BUS5)
屏幕表示选项卡,并包含一个或多个小节
小节(事务处理BUS4)
小节表示屏幕区域,并包含一个或多个视图
视图(事务BUS3)
视图表示技术屏幕(Dynpro),并包含一个或多个字段组
字段组(事务处理BUS2)
字段组包含一个或多个字段
视图
视图是BDT中最重要的元素之一。它是配置(定制对象)和工作台对象(如PBO/PAI功能模块)之间的连接。
视图定义
字段收集在一个视图中,如果:
•具有相同的上下文 •检查是相同的
视图中的字段位于子屏幕上,每个视图都分配给技术子屏幕。视图被分配给应用程序,并包含字段组。视图可以用于多个对象(BP角色)。
查看属性
事件功能模块
1 输出前(PBO):例如,选择并显示文本 2 输入后(PAI):字段检查 3 屏幕调用(PBC)之前:排序表,显示第一个条目
仅在以下情况下显示视图
1 视图应用程序处于活动状态 2 视图被分配给要维护的对象
子屏幕的流程逻辑
1 在PBO中调用功能模块BUS_PBO(字段修改,消息) 2 在PAI中调用功能模块BUS_PAI(确定光标位置)
数据集的特殊重要性
另一个有趣的点是如何处理角色和技术元素之间的连接。请记住,对于BP事务,每个选定的角色都以不同的屏幕布局(可见选项卡)显示。系统是如何管理这一点的?
每个视图都被分配给视图定义中的数据集。所选数据集被分配给所谓的BP视图(事务BUSD)。请记住,在视图定义时,数据集BUP010被分配给视图BUP240(组织:法律形式)。
如果查看BP View FLCU01(客户/供应商集成:客户),您将发现数据集BUP010(中心数据)。
在“定制”中的“角色定义”中,您将发现将业务伙伴视图分配给业务伙伴角色。
定制:跨应用组件->SAP业务伙伴->业务伙伴->基础设置->业务伙伴角色->定义BP角色
如图,BP 视图FLCU01被分配给BP 角色FLCU01。
无论何时在BP事务中选择角色FLCU01,都会使用所有分配的数据集和带字段的视图来调用BP视图FLCU01。
这整组字段组现在由定制中的字段修改(显示/强制/隐藏/可选)控制。在此定制步骤中,您将再次找到数据集例如,定制:定制:跨应用程序组件->SAP业务伙伴->业务伙伴->基本设置->字段分组->按BP角色配置字段属性
顺便说一句,所有这些信息也可以从BDT_Analyzer中获取。
另一个功能是通过单击特定的屏幕名称、视图名称、节名称……直接从BDT Analyzer导航到定制设置……
字段组
字段组表示具有强关系的字段的集合。请记住,字段修改基于字段组。这意味着如果字段组设置为必填,则属于该字段组的所有字段都是必填的(类似于基于帐户组的字段修改)。
功能模块CVIV_BUPA_EVENT_FMOD2_ENH负责字段状态确定(隐藏、可选、强制)。按下按钮,您可以导航到功能模块编码。
双击“字段组->字段”,可以导航到字段分配。
您可以看到分配给字段组3379的3个字段:
希望本文对大家有所帮助,如果是,请点个赞。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有