背景: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新增,(BUP009固定,其它特殊場景此處部分不同,主要看新增頁簽掛載BP哪個主屏幕)

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
