ABAP S4 BP新增页签 增强

背景:BP供应商采购视图新增页签

效果如下:

 

网上有不少案例,但一般是针对通用数据新增页签

1,创建函数组

 

 

 2、新增页签屏幕

 

 

3、新增屏幕PBO PAI

 

 

 

 

 

 

 

4、T-CODE  BUPT 业务伙伴-控制

4.1 新建 BUS1应用程序

4.2 BUS23 数据集

4.3 屏幕布局-->BUS2字段组

 

 

 4.4选择新增字段组,新增页签屏幕字段

4.5 BUS3新增视图

 

 

 4.6 选中新增视图,双击视图->字段组,填入4.3新增的字段组

 

新增两个函数,分别是调用子屏幕的BPO和PAI,4.7步骤会用到,代码基本都一致,看你新增页签字段存哪个表,存but000就把lfm1都换成but000,LFA1类似,代码网上都能找到

 4.7 BUS4新增部分,填入PBO和PAI函数,程序名是新增函数组主程序,屏幕为新增函数组里的屏幕号

 

 

4.8选择新增部分,双击部门->视图,填入4.5步骤新增视图进行关联

 4.9 BUS5新增屏幕

 

 

 4.10 选中新增屏幕 双击屏幕->部分  将屏幕、部分进行关联,部分为4.7新增,其中开头第一项部分需要根据场景区分,不同页签挂载不同的部分值,此处需求为挂载采购相关挂载CVIV00;(查找方法t-code:bupt,选择BDT分析程序,应用程序对象:BUPA,执行,可以看到每个采购相关的页签都会关联CVIV00对象)

 

 

 4.11 BUS6屏幕顺序,双击BUS6先新增新条目

 

 

 选中新增屏幕顺序,双击屏幕顺序->屏幕  新增项目与屏幕(4.9创建)关联

 

注意:和网上一次不一样,我没有新增屏幕顺序种类

4.12 保存后重新再次进BUS6 ,新增通用数据页签选择BUP001,新增销售页签选择CVIC01,新增采购页签选择CVIV01

选择后双击左侧屏幕顺序->屏幕,最下面新增项目,该项目是4.11最后一步自己定义的

 

 

 4.13 可分割 BUSD,新增客户就选FLCU01,本次需求新增供应商,所以选择FLVN01

 

 

 选择后双击右侧BP视图->数据集(4.2创建)

 

 

 选择数据集,双击右侧调用应用程序(4.1创建)

 

 

 4.14  BUS7事件

DSAVEB,里面使用的函数可以模糊搜,例*but000*collect ,此处lfm1的函数跟其它页签新增函数都不一样

 

 

 

 ISDAT

 

 

 XCHNG

 

 

 

 也有一些check要求,此处没用到

 

 以上步骤完成

其它新增页签说明汇总(来源于网络):

在创建DSAVB事件的时候,如是最KNVV或者KNB1增强时,需要判断(销售区域-销售组织,分销渠道,产品组 或 公司代码)是否存在,否则会重复获得空值,保存时报错-KNVV_NEW 错误 、 KNB1_NEW错误,LFM1需要判断内表是否为空(上述代码已写)

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

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

 

 

其它网络参考:  https://blog.csdn.net/guangcong2009/article/details/80569877

 

posted @ 2022-04-02 11:26  年轻的小菜鸟  阅读(1854)  评论(1编辑  收藏  举报