S4BP 客户增强说明

作者:SAPTAB 约 7 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, SD, 开发, 销售分销

原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)

**点击蓝字关注我们**

富强 民主 文明 和谐

自由 平等 公正 法制

爱国 敬业 诚信 友善

_**01** _

**BP客户增强 - 子标题 和 页签**

**不念过** **去**

**START**

**不畏将来**

这边是把之前写在博客的文章搬了过来,对于BP的页 签增强,我们可以在以下链接查看:

英文 建议看英文的比较清楚:

https://www.abaplog.com/Icerik/50/add-new-tab-to-bp

中文

https://blog.csdn.net/guangcong2009/article/details/80569877

我自己花了点时间研究下,在BP界面上方子标题(下图说明图的interface)处增加额外的按钮

_**02** _

**BUPT增强配置**

**1.** 实施BUPT增强时,需要用的的菜单事务码是(BUPT),菜单中使用的事务码如下

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**2.应用程序(BUS1)** -我的理解是你实施的所有增强下程序调用的连接。在一次实施中只创建一个应用程序。(此例中创建ZBP1)

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**3.** **数据集(BUS23)** -BP界面上数据的集合-在创建是一般一个屏幕(页签)创建一个。(此例中为Z00001)

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**4.字段组(BUS2)** -包含界面上字段的组-可以包含多个字段,且在BP配置中字段是否必输是按照字段组来设置的。

字段组的功能模块加入FUN函数:

ZBP_BUPA_EVENT_FMOD2_CC

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

定义好字段组:GS_KNB1-CORPORATE_TYPE – 这个是画面上的字段;

KNB1-CORPORATE_TYPE

CORPORATE_TYPE_TXT

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**5\. 视图(重要)(BUS3)** :包含字段组的界面部分,也是BP界面上的一个界面,一个视图对应一个BP界面上的VIEW。

一般界面如下图勾选,

子画面中:程序Function Group,同时包含了screen 9001

注意:BP中对于一个VIEW来说,它的PBO 和 PAI使用下图 FM函数

同时一个VIEW 包含多个 FIELD GROUP

SAPLZBP_FG_ENHENCEMENT函数组,

函数模块:

ZBP_9001_KNB1_PBO

ZBP_9001_KNB1_PAI

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

在字段组部分填入我们之前创建得字段组

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**6.部分SECTION(BUS4):** 相当于BP界面上的块,一个SECTION可以包含多个VIEW,SECTION无功能。(仅仅带标题)

PS:下图中得标题会显示在BP界面中

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

定义这个SECTION下得VIEW,

项目1000001是调用顺序

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**7\. 屏幕SCREEN(BUS5):** 相当于BP上的页签

如下图

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

接着将6定义好得section放到屏幕->部分中

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**8.屏幕顺序SCREEN SEQUENCE(BUS6):** BP界面页签的顺序

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

将定义好得屏幕分配给屏幕顺序:

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**9.屏幕顺序类型SCREEN SEQUENCE TYPE(BUS6):** 一般创建是只包含一个屏幕顺序,多个的没有做过

**10\. 新界面-抬头标识-NEW INTERFACE(BUS_HDRID):** BP界面菜单栏上一般数据,销售数据等按钮

如下图所示view,section,screen,interface

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

对于增强的实施,如有需要增强的结构为(供应商增强结构同理)

需要增强的表 | 需要增强的结构 | DSAVB事件结构

---|---|---

BUT000 | INCL_EEW_BUT000

INCL_EEW_BUT000_X | ZOTC_BUT000_S001

KNA1 | INCL_EEW_KNA1 INCL_EEW_KNA1_X | ZOTC_KNA1_S001

KNB1 | INCL_EEW_KNB1 INCL_EEW_KNB1_X | ZOTC_KNB1_S001

KNVV | INCL_EEW_KNVV INCL_EEW_KNVV_X | ZOTC_KNVV_S001

_**03** _

**实施BUPT增强例子**

**BP增强具体步骤见文章顶部链接哈**

1.如是只增强如文档所需要的增强,则只需要创建到屏幕(SCREEN)即可(后面的屏幕顺序和屏幕顺序类别并不需要创建),只需要将客制的屏幕加入到标准的屏幕顺序即可,并不需要创建屏幕顺序

2.同时在维护业务伙伴(TCODE:BUSD)时,只需要维护数据集和调用应用程序

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

3.在创建DSAVB事件的时候,如是最KNVV或者KNB1增强时,需要判断(销售区域-销售组织,分销渠道,产品组 或

公司代码)是否存在,否则会重复获得空值,保存时报错-KNVV_NEW 错误 、 KNB1_NEW错误

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

4.同时,需要创建DLVE1事件(TCODE

BUS7)对应的FM:如Z***_CLEAR_EVENT_DLVE1,用来清除内存,防止在BP界面直接新建客户时,将上一个客户填的自定义数据带过去。

5.同时可以创建Z***_KNVV_EVENT_FM0D2,填入字段组功能模块处,用来控制字段组的是否可输入,参考FM

CVIC_BUPA_EVENT_FMOD2_SALES

_**04** _

**进一步增强**

若是要实现如下的增强:

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

1.需要创建屏幕顺序sequence和屏幕顺序类别sequence type。

同时将自己创建的screen(ZTAB1 ZTAB2 ZTAB3)分配给屏幕顺序:ZSEQU

然后将屏幕顺序分配给自己创建的屏幕顺序类别:ZSEQU

目前实现单一屏幕,所以一个屏幕顺序类别包含一个屏幕顺序即可。

2.在新界面(TCODE:BUS_HDRID)中增加一列

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

3.同时在SM30(V_TBZJ1C)中去激活BP的对话框顺序

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

4.在业务伙伴视图 BUSD中维护:屏幕顺序 和 子标题ID

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

_**05** _

**说明**

这是我去年的时候根据网上资料和项目需求做的BP增强,目前项目上已经在使用了,希望大家可以结合顶部链接一起去学习这个增强;

最近一直没有更新,因为项目快要上线了,改代码和交接特别忙,也没啥思路;

后面想着出一个比较完整的BP增强,不仅仅局限于标准表,把自定义表引入到BP界面上,体现我们ABAPer的灵活和强大

**不念过** **去**

**END**

**不畏将来**

S4BP 客户增强说明 - 封面图
S4BP 客户增强说明 - 封面图

**SAP ABAP TAB**

微信号 : TAB_JXZHU

** 回复'ABAP'免费领取学习资料 **

长按二维码关注我们

SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「S4BP客户增强说明.md」整理生成,仅用于内部技术分享与学习交流。