VL01N VL02N VL03N 行项目屏幕增强 BADI LE_SHP_TAB_CUST_ITEM

显示效果图如下:

步骤如下:

1.LIPS添加客制化字段

2.创建屏幕信息

创建函数组 ZFG_VL01N_ITEM

文件 LZFG_VL01N_ITEMTOP

FUNCTION-POOL ZFG_VL01N_ITEM.               "MESSAGE-ID ..

* INCLUDE LZFG_VL01N_ITEMD...                " Local class definition
data:gs_info_tab type lips.
data:gv_TRTYP type TRTYP.
TABLES :lips.

文件:LZFG_VL01N_ITEMO01

MODULE INIT_DATA OUTPUT.
  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.
ENDMODULE.

标准屏幕传输数据到子屏幕

函数 ZSD_FM_TRANS_ITEM_TO_SCREEN

FUNCTION ZSD_FM_TRANS_ITEM_TO_SCREEN.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(IF_TRTYP) TYPE  TRTYP OPTIONAL
*"     VALUE(IS_LIPS) TYPE  LIPS OPTIONAL
*"----------------------------------------------------------------------
  CLEAR GS_INFO_TAB.
  CLEAR GV_TRTYP.
  GS_INFO_TAB = IS_LIPS.
  GV_TRTYP = IF_TRTYP.
  MOVE-CORRESPONDING GS_INFO_TAB TO LIPS.
ENDFUNCTION.

从子屏幕返回数据到标准

函数:ZFM_GET_DATA_FROM_SCREEN

FUNCTION ZFM_GET_DATA_FROM_SCREEN.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  EXPORTING
*"     VALUE(EX_LIPS) TYPE  LIPS
*"----------------------------------------------------------------------
  MOVE-CORRESPONDING LIPS TO GS_INFO_TAB.
  EX_LIPS = GS_INFO_TAB.
ENDFUNCTION.

设置屏幕布局:

3.se19

BADI增强实施

METHOD  ACTIVATE_TAB_PAGE 调用自定义屏幕

  METHOD IF_EX_LE_SHP_TAB_CUST_ITEM~ACTIVATE_TAB_PAGE.
    EF_CAPTION = '客制化信息'.
    EF_PROGRAM = 'SAPLZFG_VL01N_ITEM'.
    EF_DYNPRO = '9001'.
  ENDMETHOD.

METHOD TRANSFER_DATA_TO_SUBSCREEN 传输数据到子屏幕

  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 TRANSFER_DATA_FROM_SUBSCREE 子屏幕数据传输到主程序

  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-ZZUNIQU  =  LS_LIPS-ZZUNIQU.
    CS_LIPS-ZZUNIQU  =  LS_LIPS-ZZUNIQU.
    CS_LIPS-ZZEXTERN =  LS_LIPS-ZZEXTERN.
    CS_LIPS-ZZSSALE  =  LS_LIPS-ZZSSALE.
    CS_LIPS-ZZCUSNA  =  LS_LIPS-ZZCUSNA.
    CS_LIPS-ZZRECNA  =  LS_LIPS-ZZRECNA.
    CS_LIPS-ZZRECTE  =  LS_LIPS-ZZRECTE .
    CS_LIPS-ZZCOUNT  =  LS_LIPS-ZZCOUNT .
    CS_LIPS-ZZPROVI  =  LS_LIPS-ZZPROVI .
    CS_LIPS-ZZCITY   =  LS_LIPS-ZZCITY.
    CS_LIPS-ZZLITT   =  LS_LIPS-ZZLITT.
    CS_LIPS-ZZADDR   =  LS_LIPS-ZZADDR .
    CS_V50AGL_CUST = 'X'.
  ENDMETHOD.

 

最后一步激活增强实施

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值