导语:VL01N增强页签比较麻烦,类似于MM01增强页签,需要先在LIKP里增强字段,然后再创建函数组,画屏幕,BADI实施,下面简单说一下项目中做的一个增加页签的增强。
一、增强LIKP
对LIKP进行增强,增加一个附加结构,具体增强过程前面文章有一个MARC的增强。
二、创建函数组
这一步是在函数里画一个屏幕,并且准备好一会增强要用的两个函数,来捕获屏幕上修改的值
在函数组主程序里定义好屏幕上的字段,其中GV_TRTYP是用来识别VL02N/VL03N是修改还是显示的。
创建屏幕
屏幕里用到的字段是函数组全局定义的字段。
PBO
MODULE MODIFY_SCREEN 代码
这里控制了VL02N/VL03N里切换编辑和修改时候,自定义屏幕的显示和修改
*&---------------------------------------------------------------------*
*& Module MODIFY_SCREEN OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE modify_screen OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'G1'.
IF gv_trtyp = 'A'.
screen-input = 0.
MODIFY SCREEN.
ELSEIF gv_trtyp = 'V' OR gv_trtyp = 'H'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDMODULE.
创建两个函数
1、SET_DATA 获取屏幕值到函数组
2、GET_DATA 把函数组的值传给LIKP
具体参数如图
三、创建BADI实施
抬头BADI : LE_SHP_TAB_CUST_HEAD
行项目BAID : LE_SHP_TAB_CUST_ITEM
这里以抬头为例
在对应的事件里写代码
四、效果展示
作者:小飞猪猪猪猪猪猪猪–CSDN