ABAP 交货单行项目屏幕增强

实现功能:交货单行项目屏幕增强,如下图。

长文本框屏幕增强帖子详见(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.

完事激活

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值