【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
生活随笔
收集整理的這篇文章主要介紹了
【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先了解一下內(nèi)向交貨與外向交貨:
1、外向交貨:VL03N;內(nèi)向交貨:VL33N
2、外向與內(nèi)向相對(duì)于庫存來說的,一個(gè)出庫,一個(gè)入庫
場(chǎng)景:我們做一個(gè)外向交貨單Header Level的一個(gè)屏幕增強(qiáng)。 1、SE11 Append Structure 在交貨單抬頭增強(qiáng)需要在Likp中添加新結(jié)構(gòu)
?
增強(qiáng)的結(jié)構(gòu)的字段,我們一般已ZZ / YY開頭。
?
2、SE80創(chuàng)建一個(gè)Function Group函數(shù)組:YDELIVER_HEAD(Deliver Header:customer Fields)
分別創(chuàng)建兩個(gè)Function module:
Y_GET_DATA_DELI_HEAD(get values for screen)
?
source code:
??cs_likp-yyfull? ???= gv_full.
??cs_likp-yypartial??= gv_partial.
??cs_likp-yyveh_no? ?= gv_veh_no.
??cs_likp-yylr_dkt_no = gv_lr_dkt_no.
??cs_likp-yylr_dkt_dt = gv_lr_dkt_dt.
??cs_likp-yydriver? ? = gv_driver.
??cs_likp-yyinote_num = gv_inote_num .
??cs_likp-yyinote_dt??= gv_inote_dt.
??cs_likp-yyinote_cntr = gv_inote_cntr.
??cs_likp-yytrnsp? ?? ?= gv_trnsp. 復(fù)制代碼
Y_SET_DATA_DELI_ITEM(set values for screen)
?
source code:
??gv_full? ?? ? = is_likp-yyfull??.
??gv_partial? ? = is_likp-yypartial .
??gv_veh_no? ???= is_likp-yyveh_no??.
??gv_lr_dkt_no??= is_likp-yylr_dkt_no.
??gv_lr_dkt_dt??= is_likp-yylr_dkt_dt .
??gv_driver? ???= is_likp-yydriver .
??gv_inote_num??= is_likp-yyinote_num .
??gv_inote_dt? ?= is_likp-yyinote_dt .
??gv_inote_cntr = is_likp-yyinote_cntr.
??gv_trnsp? ?? ?= is_likp-yytrnsp. 復(fù)制代碼
3、創(chuàng)建一個(gè)Subscreen屏幕9000
?
畫出屏幕增強(qiáng)需要的字段
?
輸入*,點(diǎn)擊Get From Program按鈕,獲取程序中所有的變量,選中想要的即可
別忘了激活全部元素
4、查找相應(yīng)的BADI
查找方法請(qǐng)參考: SAP第三代增強(qiáng)BADI的實(shí)現(xiàn)方法及查找方式
Delivery Header level:LE_SHP_TAB_CUST_HEAD
Delivery Item level:LE_SHP_TAB_CUST_ITEM
這里Additional tab,我們只需要LE_SHP_TAB_CUST_HEAD
5、SE18 BADI實(shí)施
?
在BADI對(duì)象的方法中實(shí)現(xiàn)我們相應(yīng)的代碼
?
IF_EX_LE_SHP_TAB_CUST_HEAD~ACTIVATE_TAB_PAGE
??METHOD if_ex_le_shp_tab_cust_head~activate_tab_page.
? ? ef_caption = text-000. " screen caption
? ? ef_program = 'SAPLYDELIVER_HEAD'."FunctionPool:sapl + function group name
? ? ef_position = 4. "tab position
? ? ef_dynpro??= '9000'. "screen number
? ? cs_v50agl_cust = 'X'.
??ENDMETHOD. 復(fù)制代碼
IF_EX_LE_SHP_TAB_CUST_HEAD~TRANSFER_DATA_TO_SUBSCREEN
??METHOD if_ex_le_shp_tab_cust_head~transfer_data_to_subscreen.
? ? CALL FUNCTION 'Y_SET_DATA_DELI_ITEM'
? ?? ?EXPORTING
? ?? ???is_likp = is_likp.
??ENDMETHOD. 復(fù)制代碼
IF_EX_LE_SHP_TAB_CUST_HEAD~TRANSFER_DATA_FROM_SUBSCREEN
??METHOD if_ex_le_shp_tab_cust_head~transfer_data_from_subscreen.
? ? CALL FUNCTION 'Y_GET_DATA_DELI_HEAD'
? ?? ?IMPORTING
? ?? ???cs_likp = cs_likp.
??ENDMETHOD. 復(fù)制代碼
激活代碼,激活BADI對(duì)象
這里的FUNCTION的import/export為什么是CS_LIKP、IS_LIKP?能不能自己隨便定義能? 當(dāng)然不能,我們可以在Interface:IF_EX_LE_SHP_TAB_CUST_HEAD中Parameter中查找我們所需的傳入、傳出參數(shù)
6、VL02N測(cè)試
F4查找一個(gè)存在的交貨單
?
這里就能查看我們?cè)鰪?qiáng)的屏幕了
?
輸入數(shù)據(jù),保存,然后再標(biāo)準(zhǔn)表LIKP就能看到去剛才增強(qiáng)字段的值了
1、外向交貨:VL03N;內(nèi)向交貨:VL33N
2、外向與內(nèi)向相對(duì)于庫存來說的,一個(gè)出庫,一個(gè)入庫
場(chǎng)景:我們做一個(gè)外向交貨單Header Level的一個(gè)屏幕增強(qiáng)。 1、SE11 Append Structure 在交貨單抬頭增強(qiáng)需要在Likp中添加新結(jié)構(gòu)
?
增強(qiáng)的結(jié)構(gòu)的字段,我們一般已ZZ / YY開頭。
?
2、SE80創(chuàng)建一個(gè)Function Group函數(shù)組:YDELIVER_HEAD(Deliver Header:customer Fields)
分別創(chuàng)建兩個(gè)Function module:
Y_GET_DATA_DELI_HEAD(get values for screen)
?
source code:
Y_SET_DATA_DELI_ITEM(set values for screen)
?
source code:
3、創(chuàng)建一個(gè)Subscreen屏幕9000
?
畫出屏幕增強(qiáng)需要的字段
?
輸入*,點(diǎn)擊Get From Program按鈕,獲取程序中所有的變量,選中想要的即可
別忘了激活全部元素
4、查找相應(yīng)的BADI
查找方法請(qǐng)參考: SAP第三代增強(qiáng)BADI的實(shí)現(xiàn)方法及查找方式
Delivery Header level:LE_SHP_TAB_CUST_HEAD
Delivery Item level:LE_SHP_TAB_CUST_ITEM
這里Additional tab,我們只需要LE_SHP_TAB_CUST_HEAD
5、SE18 BADI實(shí)施
?
在BADI對(duì)象的方法中實(shí)現(xiàn)我們相應(yīng)的代碼
?
IF_EX_LE_SHP_TAB_CUST_HEAD~ACTIVATE_TAB_PAGE
IF_EX_LE_SHP_TAB_CUST_HEAD~TRANSFER_DATA_TO_SUBSCREEN
IF_EX_LE_SHP_TAB_CUST_HEAD~TRANSFER_DATA_FROM_SUBSCREEN
激活代碼,激活BADI對(duì)象
這里的FUNCTION的import/export為什么是CS_LIKP、IS_LIKP?能不能自己隨便定義能? 當(dāng)然不能,我們可以在Interface:IF_EX_LE_SHP_TAB_CUST_HEAD中Parameter中查找我們所需的傳入、傳出參數(shù)
6、VL02N測(cè)試
F4查找一個(gè)存在的交貨單
?
這里就能查看我們?cè)鰪?qiáng)的屏幕了
?
輸入數(shù)據(jù),保存,然后再標(biāo)準(zhǔn)表LIKP就能看到去剛才增強(qiáng)字段的值了
總結(jié)
以上是生活随笔為你收集整理的【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【力荐】ABAP常用DEBUG调试代码的
- 下一篇: 5个拓展潜客的创意方法