两种方法,一种是用SE38
程序写,
另一种是直接在维护视图屏幕上写.
后者相对简单一些.
1.先去se11维护表视图
2.然后在se93创建事务代码
3.然后se80找到维护所用的函数组
4.找到在se11的查找屏幕号,在屏幕号中编写相关逻辑代码
第一种
0.se11维护数据库表
1.创建事务代码
输入事务码后点击创建,然后选择最后一个参数事务
2.如图所示
3.se80找到自己在se11中维护视图所选的函数组
4.在PAI事件中可以添加自定义的逻辑处理
**5.就在下面写代码 **
在这里可以编辑你的字段抬头文本
在这里可以控制字段是否是可输入
第二种方法
主要使用这两中函数
VIEW_RANGETAB_TO_SELLIST
VIEW_MAINTENANCE_CALL
*&---------------------------------------------------------------------*
*& Report ZSDT0003
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zsdt0003 MESSAGE-ID z_sd_01.
TABLES : ztsd004.
DATA: gt_year TYPE TABLE OF ztsd004,
gs_year TYPE ztsd004.
DATA: gt_exclude TYPE TABLE OF vimexclfun, "原按钮管理
gwa_exclude TYPE vimexclfun.
DATA gt_dba_sellist TYPE TABLE OF vimsellist.
DATA gt_tabname TYPE dd02v-tabname.
*"屏闭按钮
*gwa_exclude-function = 'NEWL'.
*gwa_exclude-function = 'KOPE'.
*gwa_exclude-function = 'DELE'.
*gwa_exclude-function = 'AEND'.
*APPEND gwa_exclude TO gt_exclude.
CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST' "添加选择屏幕条件
EXPORTING
fieldname = 'MJAHR' " 'MATKL'
append_conjunction = 'AND'
TABLES
sellist = gt_dba_sellist
rangetab = gt_year. "内表
CALL FUNCTION 'VIEW_MAINTENANCE_CALL' "调用SM30函数
EXPORTING
ACTION = 'S' "S显示/U修改(进入时的状态)
* CORR_NUMBER = ' '
generate_maint_tool_if_missing = 'X'
* SHOW_SELECTION_POPUP = ' '
view_name = 'ZTSD004' "透明表
no_warning_for_clientindep = 'X' "跳过警告弹窗
* RFC_DESTINATION_FOR_UPGRADE = ' '
* CLIENT_FOR_UPGRADE = ' '
* VARIANT_FOR_SELECTION = ' '
* COMPLEX_SELCONDS_USED = ' '
* CHECK_DDIC_MAINFLAG = ' '
* SUPPRESS_WA_POPUP = ' '
TABLES
dba_sellist = gt_dba_sellist
EXCL_CUA_FUNCT = gt_exclude
EXCEPTIONS
client_reference = 1
foreign_lock = 2
invalid_action = 3
no_clientindependent_auth = 4
no_database_function = 5
no_editor_function = 6
no_show_auth = 7
no_tvdir_entry = 8
no_upd_auth = 9
only_show_allowed = 10
SYSTEM_FAILURE = 11
unknown_field_in_dba_sellist = 12
view_not_found = 13
maintenance_prohibited = 14
OTHERS = 15.
IF sy-subrc <> 0.
MESSAGE e005 DISPLAY LIKE 'E'.
ENDIF.