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