2019.05.30 S4 BUPT BP 客户增强说明

-看了一圈,发现网上BUPT增强的很少,有的也是做一个字段的页签的增强,我自己花时间研究了一下,在BP增加新的interface界面按钮。BP页签增强部分就不写了,大家看链接吧加上如何做出新的interface界面吧。感谢各位大佬的支持哈。英文https://www.abaplog.com/Icerik/50/add-new-tab-to-bp中文https://blog.csdn.net/gua...

2019.05.30 S4 BUPT BP 客户增强说明

- 看了一圈,发现网上BUPT增强的很少,有的也是做一个字段的页签的增强,我自己花时间研究了一下,在BP增加新的interface 界面按钮。

BP页签增强部分就不写了,大家看链接吧 加上如何做出新的interface 界面吧。感谢各位大佬的支持哈。

英文

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

中文

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

1.关于BUPT增强相关部分说明

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

  1. 应用程序-我的理解是你实施的所有增强下程序调用的连接。在一次实施中只创建一个应用程序。(此例中创建ZBP1)
  2. 数据集-BP界面上数据的集合-在创建是一般一个屏幕(页签)创建一个。(此例中为Z0001,Z0002,Z0003)
  3. 字段组-包含界面上字段的组-可以包含多个字段,且在BP配置中字段是否必输是按照字段组来设置的。

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

一般界面如下图勾选,

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

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

同时一个view 包含多个 field group

  1. 部分section-section相当于BP界面上的块,一个section可以包含多个view,section无功能。
  2. 屏幕screen-相当于BP上的页签,
  3. 屏幕顺序screen sequence-BP界面页签的顺序
  4. 屏幕顺序类型screen sequence type-一般创建是只包含一个屏幕顺序,多个的没有做过
  5. 新界面-抬头标识-new interface:BP界面菜单栏上一般数据,销售数据等按钮

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

  1. 对于增强的实施,如有需要增强的结构为

需要增强的表

需要增强的字段

对应创建一个结构来提供DSAVB事件使用

BUT000

INCL_EEW_BUT000-CI_EEW_BUT000

INCL_EEW_BUT000_X-CI_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_KNA1_X

ZOTC_KNVV_S001

供应商同理

2.实施BUPT增强例子

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

  1. 如是只增强如文档所需要的增强,则只需要创建到屏幕(SCREEN)即可(后面的屏幕顺序和屏幕顺序类别并不需要创建),只需要将客制的屏幕加入到标准的屏幕顺序即可,并不需要创建屏幕顺序
  2. 同时在维护业务伙伴(TCODE:BUSD)时,只需要维护数据集和调用应用程序
  3. 在创建DSAVB事件的时候,如是最KNVV或者KNB1增强时,需要判断(销售区域-销售组织,分销渠道,产品组 或 公司代码)是否存在,否则会重复获得空值,保存时报错-KNVV_NEW 错误 、 KNB1_NEW错误

  1. 同时,需要创建DLVE1事件(TCODE BUS7)对应的FM:如Z***_CLEAR_EVENT_DLVE1,用来清除内存,防止在BP界面直接新建客户时,将上一个客户填的自定义数据带过去。
  2. 同时可以创建Z***_KNVV_EVENT_FM0D2,填入字段组模处,用来控制字段组的是否可输入,参考FM : CVIC_BUPA_EVENT_FMOD2_SALES

3.进一步增强

若是要实现如下的增强:

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

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

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

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

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

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

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

源文地址:https://www.guoxiongfei.cn/cntech/18344.html