• 调用Function时弹出输入屏幕的小例…


    有时候在调用FM的时候,需要弹出一个输入框
    比如输入邮箱  

    所以写了个小例子

    创建了个Function group,他会自带两个include
    调用Function时弹出输入屏幕的小例子

    其中LZLM_TEST_SCREEN_GROUPTOP
    定义全局变量
    DATA ok_code TYPE sy-ucomm,
           save_ok TYPE sy-ucomm.

    DATA g_email TYPE so_recname.

    在函数组里新建屏幕9001.


    然后定义 user_command_9001.

    调用Function时弹出输入屏幕的小例子

    module USER_COMMAND_9001 input.
      save_ok ok_code.
      CASE save_ok.
        WHEN 'OK' OR ''.

          IF g_email IS INITIAL.
            MESSAGE '请输入邮箱' TYPE 'S'.
          ELSEIF g_email NA '@'.
            MESSAGE '邮箱格式不正确,请重新输入' TYPE 'S'.
            CLEAR g_email.
          ELSE.
            SET SCREEN 0.
            LEAVE SCREEN.
          ENDIF.

        "结束屏幕调用
        WHEN OTHERS.
          g_email ''.
          SET SCREEN 0.        "这两句很有必要
          LEAVE SCREEN.
      ENDCASE.
    endmodule                USER_COMMAND_9001  INPUT 


    下面创建函数:ZLM_TEST_FM_GET_EMAIL

    FUNCTION ZLM_TEST_FM_GET_EMAIL.
    *"----------------------------------------------------------------------
    *"*"Local Interface:
    *"  EXPORTING
    *"     REFERENCE(E_EMAIL) TYPE  SO_RECNAME
    *"----------------------------------------------------------------------

      CALL SCREEN 9001 STARTING AT '30' '10' ENDING AT '97' '14'.

      e_email g_email.

    ENDFUNCTION.


    然后在程序中调用

    REPORT  zlm_test_call_fm_screen.

    DATA:email TYPE so_recname.

    CALL FUNCTION 'ZLM_TEST_FM_GET_EMAIL'
      IMPORTING
        e_email email.

    WRITE email.

    调用Function时弹出输入屏幕的小例子


    因为LZLM_TEST_SCREEN_GROUPTOP 定义的是全局的
    这个函数组里的其他函数有可能会受影响

    所以,如果可以,带屏幕的函数,跟其他函数还是分开在不同的函数组的好
    http://blog.sina.com.cn/sapliumeng
  • 相关阅读:
    D. Time to Run【构造】
    P3388 割顶 【求割点个数】
    处女座的测验 素数,构造
    处女座与复读机 DP
    求一个分数小数点后指定位数的数字
    安卓开发创建活动,布局,添加按钮,she使用Toast,设菜单,使菜单相关联等操作
    三进制 处女座的砝码 高精度
    上海高校程序设计联赛 D-CSL的字符串 栈模拟
    区间DP经典 石子合并
    区间DP 洛谷P2858牛奶零食
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802196.html
Copyright © 2020-2023  润新知