当前位置:
首页 >
【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
发布时间:2025/3/20
50
豆豆
生活随笔
收集整理的这篇文章主要介绍了
【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
先了解一下内向交货与外向交货:
1、外向交货:VL03N;内向交货:VL33N
2、外向与内向相对于库存来说的,一个出库,一个入库
场景:我们做一个外向交货单Header Level的一个屏幕增强。 1、SE11 Append Structure 在交货单抬头增强需要在Likp中添加新结构
增强的结构的字段,我们一般已ZZ / YY开头。
2、SE80创建一个Function Group函数组:YDELIVER_HEAD(Deliver Header:customer Fields)
分别创建两个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. 复制代码
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. 复制代码
3、创建一个Subscreen屏幕9000
画出屏幕增强需要的字段
输入*,点击Get From Program按钮,获取程序中所有的变量,选中想要的即可
别忘了激活全部元素
4、查找相应的BADI
查找方法请参考: SAP第三代增强BADI的实现方法及查找方式
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实施
在BADI对象的方法中实现我们相应的代码
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. 复制代码
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. 复制代码
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. 复制代码
激活代码,激活BADI对象
这里的FUNCTION的import/export为什么是CS_LIKP、IS_LIKP?能不能自己随便定义能? 当然不能,我们可以在Interface:IF_EX_LE_SHP_TAB_CUST_HEAD中Parameter中查找我们所需的传入、传出参数
6、VL02N测试
F4查找一个存在的交货单
这里就能查看我们增强的屏幕了
输入数据,保存,然后再标准表LIKP就能看到去刚才增强字段的值了
1、外向交货:VL03N;内向交货:VL33N
2、外向与内向相对于库存来说的,一个出库,一个入库
场景:我们做一个外向交货单Header Level的一个屏幕增强。 1、SE11 Append Structure 在交货单抬头增强需要在Likp中添加新结构
增强的结构的字段,我们一般已ZZ / YY开头。
2、SE80创建一个Function Group函数组:YDELIVER_HEAD(Deliver Header:customer Fields)
分别创建两个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、创建一个Subscreen屏幕9000
画出屏幕增强需要的字段
输入*,点击Get From Program按钮,获取程序中所有的变量,选中想要的即可
别忘了激活全部元素
4、查找相应的BADI
查找方法请参考: SAP第三代增强BADI的实现方法及查找方式
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实施
在BADI对象的方法中实现我们相应的代码
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对象
这里的FUNCTION的import/export为什么是CS_LIKP、IS_LIKP?能不能自己随便定义能? 当然不能,我们可以在Interface:IF_EX_LE_SHP_TAB_CUST_HEAD中Parameter中查找我们所需的传入、传出参数
6、VL02N测试
F4查找一个存在的交货单
这里就能查看我们增强的屏幕了
输入数据,保存,然后再标准表LIKP就能看到去刚才增强字段的值了
总结
以上是生活随笔为你收集整理的【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【力荐】ABAP常用DEBUG调试代码的
- 下一篇: 5个拓展潜客的创意方法