ABAP系列SAP ABAP 如何控制Dialog中的键盘(回车)功能

Posted sapmatinal

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP系列SAP ABAP 如何控制Dialog中的键盘(回车)功能相关的知识,希望对你有一定的参考价值。

公众号:SAP Technical
本文作者:matinal
 

技术图片

 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

MODULE USER_COMMAND_2100 INPUT.
  CLEAR SAVE_OK.
  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.
    WHEN \\ENTER\\‘.
      PERFORM FRM_ENTER.
    WHEN \\‘CANC\\‘ OR \\‘BACK\\‘.
      LEAVE TO SCREEN 0.
    WHEN \\‘EXIT\\‘.
      LEAVE PROGRAM.
    WHEN \\‘INPU\\‘.
      PERFORM FRM_SELE_FUNC USING \\‘1\\‘.
    WHEN \\‘MODI\\‘.
      PERFORM FRM_SELE_FUNC USING \\‘2\\‘.
    WHEN \\‘SECH\\‘.
      PERFORM FRM_SELE_FUNC USING \\‘3\\‘.
    WHEN \\‘CLEA\\‘.
      PERFORM FRM_CLEAR_SCREEN USING \\‘2100\\‘.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_2100  INPUT
*&---------------------------------------------------------------------*
*&      Form  FRM_ENTER
*&---------------------------------------------------------------------*
*       按回车键引发的动作
*----------------------------------------------------------------------*
FORM FRM_ENTER_2100 .
* 取得当前光标所在位置
  CLEAR W_2100-CURPOS.
  GET CURSOR FIELD W_2100-CURPOS.
  CASE W_2100-CURPOS.
    WHEN \\‘W_2100-DATE\\‘.
*     拣配日期——默认当天日期,可修改。若修改,用户回车后判断日期格式
*     是否正确,若不正确光标停留在“拣配日期”项目上等待用户修改;若正
*     确光标跳到“仓库”项目上。
      PERFORM FRM_MAIN_CHECK_JZRQ USING W_2100-DATE.      "检查日期
      IF G_MAIN_CURPOS = \\‘W_G-JZRQ\\‘.
        W_2100-CURPOS  = \\‘W_2100-DATE\\‘.
        EXIT.
      ELSE.
        W_2100-CURPOS  = \\‘W_2100-LGORT\\‘.
      ENDIF.
    WHEN \\‘W_2100-LGORT\\‘.
*   仓库——用户登录后,从“仓管员信息表”里查找出用户名对应的库存地点,
*   显示在“仓库”后面。用户可修改,修改后按回车,系统需要判断用户输入的
*   库存地点代码是否在“仓管员信息表”里,若不存在提示错误信息(您没有操
*   作该仓库的权限)。若正确,回车后光标跳到“请选择”上
      SELECT  SINGLE LGORT
        INTO  ZMMWHM-LGORT
        FROM  ZMMWHM
        WHERE NAME  = SY-UNAME
          AND LGORT = W_2100-LGORT.
      IF SY-SUBRC <> 0.
        W_2100-CURPOS  = \\‘W_2100-LGORT\\‘.
          MESSAGE E000.
        EXIT.
      ELSE.
        W_2100-CURPOS  = \\‘W_2100-SELE\\‘.
      ENDIF.
    WHEN \\‘W_2100-SELE\\‘.
*   请选择——用户在该项目上输入屏幕上可供选择的菜单项编号,回车后系统判
*   断输入的内容是否存在对应菜单编号,若不存在光标停留在“请选择”项目
*   上,并选中输入的内容等待用户修改;若存在则进入相应的操作屏幕。
      PERFORM FRM_SELE_FUNC USING W_2100-SELE.
    WHEN OTHERS.
  ENDCASE.
ENDFORM.                    " FRM_ENTER

 

以上是关于ABAP系列SAP ABAP 如何控制Dialog中的键盘(回车)功能的主要内容,如果未能解决你的问题,请参考以下文章

ABAP之DIALOG

ABAP系列SAP 一个完整的SAP的Abap例子(idoc,edi文件的相互转换)

ABAP系列SAP ABAP 动态指针

ABAP系列SAP ABAP 工单增强

ABAP系列SAP ABAP 的替代和校验

ABAP系列SAP ABAP 物料凭证增强