TABLE CONTROL 控件单元格转换可修改状态
为创建的TableControl控件增加列可修改按钮,设置功能码

点击按钮表单的第4列可修改
MODULE USER_COMMAND_0130 INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE .
WHEN 'MOD_LIN'."地址列可修改
PERFORM MODIFY_COL.
ENDCASE.
SY-UCOMM = OK_CODE.
ENDMODULE.
FORM MODIFY_COL .
DATA LS_COL LIKE LINE OF TC_SCHL-COLS.
LOOP AT TC_SCHL-COLS INTO LS_COL.
IF LS_COL-INDEX = '4'.
IF LS_COL-SCREEN-INPUT = '1'.
LS_COL-SCREEN-INPUT = '0'.
ELSE.
LS_COL-SCREEN-INPUT = '1'.
ENDIF.
MODIFY TC_SCHL-COLS FROM LS_COL.
ENDIF.
ENDLOOP.
ENDFORM.

界面切换
SET SCREEN < next screen >.
LEAVE SCREEN .
效果等同于
LEAVE TO SCREEN < next screen >.
作用是结束当前屏幕并跳转到指定的下一屏幕
CALL SCREEN < next screen>.
与它们不同,CALL SCREEN是将正在运行的界面挂起,进入next screen,当使用LEAVE TO SCREEN 0时,才能返回原来的界面;而LEAVE TO SCREEN是立即结束本画面的执行,进入next screen,无法再返回原来界面。
F4实现
静态实现
SE11数据字典创建Search Help

选择基本索引帮助

设置搜索帮助具体属性,完成后激活保存

应用F4
- Data Element中设置关联

- Input/Output Field中设置关联

- 数据元素中域的固定值/数据库中检查表也会实现F4帮助


- 为选择界面字段添加搜索帮助

动态实现
定义内表实现
- PROCESSON VALUE-REQUEST定义,POV事件与PBO和PAI事件属于同一层级
PROCESS ON VALUE-REQUEST.
FIELD GV_ZSNAME MODULE F4_ZSNAME. "F4帮助
- 使用函数F4IF_INT_TABLE_VALUE_REQUEST
MODULE F4_ZSNAME INPUT.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
RETFIELD = 'ZSNAME'
* PVALKEY = ' '
DYNPPROG = 'Z36193_05'
DYNPNR = '0100'
DYNPROFIELD = 'GV_ZSNAME'
* STEPL = ’
* WINDOW_TITLE =
* VALUE = ' '
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* CALLBACK_METHOD =
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
VALUE_TAB = GT_SCHOOL
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDMODULE.
下拉菜单
- Input/output field属性:是否含有Key显示

- 使用函数VRM_SET_VALUES,在PBO中给List赋值
MODULE DROP_DOWN OUTPUT.
DATA GT_DROP TYPE VRM_VALUES WITH HEADER LINE.
CLEAR GT_DROP.
GT_DROP-KEY = 'A'.
GT_DROP-TEXT = '销售部'.
APPEND GT_DROP.
CLEAR GT_DROP.
GT_DROP-KEY = 'B'.
GT_DROP-TEXT = '计划部'.
APPEND GT_DROP.
CLEAR GT_DROP.
GT_DROP-KEY = 'C'.
GT_DROP-TEXT = '生产部'.
APPEND GT_DROP.
CLEAR GT_DROP.
GT_DROP-KEY = 'D'.
GT_DROP-TEXT = '工程部'.
APPEND GT_DROP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'GV_INPUT2'
VALUES = GT_DROP[]
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDMODULE.
实现效果

几个特别的F4函数
-
日期类型的F4
函数:F4_DATE
注意界面中的控件定义为D类型 -
文件路径的F4
函数:F4_FILENAME
界面中的控件定义为RLGRAP-FILENAME
969

被折叠的 条评论
为什么被折叠?



