【ABAP——DAILOG_3】

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值