VL31N 内向交货单抬头屏幕增强

事务代码:VL31N、VL32N、VL33N

增强方式:

一代增强:程序:MV50AFZ1 子程序:USEREXIT_MOVE_FIELD_TO_LIKP
二代增强:增强:V50R0003 组件:EXIT_SAPLV50R_CREA_001
三代增强:典型业务加载项:LE_SHP_TAB_CUST_HEAD

前台实现步骤

1. LIKP增加增强结构

在这里插入图片描述

2. 新建函数组,定义增强子屏幕

交货单抬头屏幕回传数据
在这里插入图片描述
交货单抬头数据传到屏幕
在这里插入图片描述
在这里插入图片描述
创建交货单抬头增强屏幕
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建PBO module,设置是否可输入
在这里插入图片描述

3. 交货单抬头屏幕增强

在这里插入图片描述
编辑方法
在这里插入图片描述
添加页签:EF_PROGRAM是程序名,EF_DYNPRO是屏幕号
在这里插入图片描述
将交货单抬头数据传到屏幕
在这里插入图片描述
将交货单抬头屏幕回传数据
在这里插入图片描述

4.效果图

通过VL31N创建入库交货单
在这里插入图片描述

BAPI实现步骤

1.代码向内存传入参数

在这里插入图片描述

2. 通过内存获取数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.效果图

在这里插入图片描述

PS:行项目增强

1.往LIPS增加自定义字段

2. 函数组下新增行项目函数(LIKP换成LIPS)

3. 函数组下新增屏幕9200(画屏幕,创建PBO事件)

MODULE status_9200 OUTPUT.
  LOOP AT SCREEN.
    IF gs_lips-wbsta = 'C'.
      screen-input = '0'.

      IF gc_editor IS NOT INITIAL.
        gc_editor->set_readonly_mode( 1 ).
      ENDIF.
    ELSE.
      ASSIGN ('(SAPMV50A)T180-TRTYP') TO <fs_any>.
      IF <fs_any> IS ASSIGNED.
        IF <fs_any> = 'A'.
          screen-input = '0'.

          IF gc_editor IS NOT INITIAL.
            gc_editor->set_readonly_mode( 1 ).
          ENDIF.
        ELSE.
          screen-input = '1'.

          IF gc_editor IS NOT INITIAL.
            gc_editor->set_readonly_mode( 0 ).
          ENDIF.
        ENDIF.
      ENDIF.
    ENDIF.

    MODIFY SCREEN.
  ENDLOOP.

ENDMODULE.

4. 交货单行项目屏幕增强BADI:LE_SHP_TAB_CUST_ITEM(同上编辑三个方法)(迁移至增强点)

5. BAPI代码

在这里插入图片描述

6. 一代增强:MV50AFZ1 子程序:USEREXIT_MOVE_FIELD_TO_LIPS

参考文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值