实现功能:交货单行项目屏幕增强,如下图。
长文本框屏幕增强帖子详见(ABAP长文本框屏幕增强(交货单行)_多喝开水丶的博客-CSDN博客),这篇先不做赘述。
1、LIPS表附加结构、并创建函数组LZFG_VL01N_ITEMTOP
2、定义TOP全局变量
FUNCTION-POOL zfg_vl01n_item. "MESSAGE-ID ..
* INCLUDE LZFG_VL01N_ITEMD... " Local class definition
* INCLUDE LZFG_VL01N_ITEMD... " Local class definition
DATA:gs_info_tab TYPE lips.
DATA:gv_trtyp TYPE trtyp.
TABLES :lips.
3、创建屏幕9001
4、创建模块INIT_DATA
IF gv_trtyp EQ 'A'."显示
LOOP AT SCREEN .
screen-input = 0 .
MODIFY SCREEN .
ENDLOOP.
ELSEIF gv_trtyp EQ 'V' OR gv_trtyp EQ 'H'.
LOOP AT SCREEN .
screen-input = 1 .
MODIFY SCREEN .
ENDLOOP.
ENDIF.
5、创建函数
5.1、ZSD_FM_TRANS_ITEM_TO_SCREEN(标准屏幕传输到子屏幕)
CLEAR gs_info_tab.
CLEAR gv_trtyp.
gs_info_tab = is_lips.
gv_trtyp = if_trtyp.
MOVE-CORRESPONDING gs_info_tab TO lips.
5.2、ZFM_GET_DATA_FROM_SCREEN(子屏幕返回数据到标准屏幕)
MOVE-CORRESPONDING lips TO gs_info_tab.
ex_lips = gs_info_tab.
6、增强实施
METHOD if_ex_le_shp_tab_cust_item~activate_tab_page.
ef_caption = '客制化信息'.
ef_program = 'SAPLZFG_VL01N_ITEM'.
ef_dynpro = '9001'.
CS_V50AGL_CUST = 'X'.
ENDMETHOD.
METHOD if_ex_le_shp_tab_cust_item~transfer_data_to_subscreen.
CALL FUNCTION 'ZSD_FM_TRANS_ITEM_TO_SCREEN'
EXPORTING
is_lips = is_lips
if_trtyp = if_trtyp.
ENDMETHOD.
method IF_EX_LE_SHP_TAB_CUST_ITEM~TRANSFER_DATA_FROM_SUBSCREEN.
DATA:LS_LIPS TYPE LIPS .
CALL FUNCTION 'ZFM_GET_DATA_FROM_SCREEN'
IMPORTING
EX_LIPS = LS_LIPS.
CS_LIPS-ZJHDH = LS_LIPS-ZJHDH.
CS_LIPS-ZJHLX = LS_LIPS-ZJHLX.
endmethod.
完事激活