• REUSE_ALV_GRID_DISPLAY_LVC 的user_command


    *&--------------------------------------------------------------------*
    *&      Form  CALL_FUNCTION
    *&--------------------------------------------------------------------*
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
      EXPORTING
        I_STRUCTURE_NAME         = 'ZMLPRTOPO'
        I_CALLBACK_PROGRAM       = SY-REPID
        IS_LAYOUT_LVC            = I_LAYOUT
        IT_FIELDCAT_LVC          = I_FIELDCAT
        I_CALLBACK_PF_STATUS_SET = 'F_SET_STATUS'     " FORM 名称
        I_CALLBACK_USER_COMMAND  = 'F_USER_COMMAND'   " FORM 名称
        I_SAVE                   = 'X'
        I_GRID_TITLE             = M_BUFFER
      TABLES
        T_OUTTAB                 = I_ZMLPRTOPO
      EXCEPTIONS
        PROGRAM_ERROR
        =1
        OTHERS                   = 2.
    
    *&---------------------------------------------------------------------*
    *&      Form  F_SET_STATUS
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->P_EXTAB    text
    *----------------------------------------------------------------------*
    FORM F_SET_STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS  'Z_ALV_STATUS'.
    ENDFORM.                    "F_SET_STATUS
    *&--------------------------------------------------------------------*
    *&      Form  F_USER_COMMAND
    *&--------------------------------------------------------------------*
    *       text
    *---------------------------------------------------------------------*
    *      -->R_UCOMM    text
    *      -->R_RS_SELFIEtext
    *---------------------------------------------------------------------*
    FORM F_USER_COMMAND USING R_UCOMM TYPE SY-UCOMM
                               R_RS_SELFIELD TYPE SLIS_SELFIELD.
    *  BREAK LZH.
    **将ALV显示数据更新进输出内表中
      DATA: LR_GRID TYPE  REF TO CL_GUI_ALV_GRID.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          E_GRID = LR_GRID.
      CALL METHOD LR_GRID->CHECK_CHANGED_DATA.
      R_RS_SELFIELD-REFRESH = 'X'.
    
    *  R_UCOMM = SY-UCOMM.
      CASE R_UCOMM.
    
        WHEN '&IC1'.
          READ TABLE I_ZMLPRTOPO  INDEX R_RS_SELFIELD-TABINDEX.
          IF I_ZMLPRTOPO-EBELN IS NOT INITIAL.
            SET PARAMETER ID 'BES' FIELD I_ZMLPRTOPO-EBELN.
            CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
          ELSE.
            IF I_ZMLPRTOPO-BANFN IS NOT INITIAL.
              SET PARAMETER ID 'BAN' FIELD I_ZMLPRTOPO-BANFN.
              CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN.
            ENDIF.
          ENDIF.
        WHEN '&SALL'.
          LOOP AT I_ZMLPRTOPO ASSIGNING <FS_TAB> WHERE SEL  = SPACE.
            <FS_TAB>-SEL = 'X'.
          ENDLOOP.
        WHEN '&DSAL'.
          LOOP AT I_ZMLPRTOPO ASSIGNING <FS_TAB> WHERE SEL  = 'X'.
            <FS_TAB>-SEL = SPACE.
          ENDLOOP.
    *&20170314
        WHEN '&SAVE'.
          CALL FUNCTION 'POPUP_TO_CONFIRM'
            EXPORTING
              TITLEBAR              = '请确认!'
              TEXT_QUESTION         = '是否确认用选定数据创建PO?'
              TEXT_BUTTON_1         = ''
              TEXT_BUTTON_2         = ''
              DEFAULT_BUTTON        = '1'
              DISPLAY_CANCEL_BUTTON = ' '
              START_COLUMN          = 25
              START_ROW             = 1
              POPUP_TYPE            = 'ICON_MESSAGE_QUESTION'"?
            IMPORTING
              ANSWER                = G_ANSWER
            EXCEPTIONS
              TEXT_NOT_FOUND        = 1
              OTHERS                = 2.
    
          CHECK G_ANSWER EQ  '1'.
          CLEAR:G_ZTIME.
          G_ZTIME = SY-DATUM && SY-UZEIT.
          PERFORM FRM_GETALL_PR.
          PERFORM FRM_EXE_PO.
    
    *&test
        WHEN '&DEL'.
    *       PERFORM FRM_DEL_DATA.
          LOOP AT I_ZMLPRTOPO INTO GW_TAB_1 WHERE SEL = 'X'.
            DELETE I_ZMLPRTOPO INDEX SY-TABIX.
          ENDLOOP.
    
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT' OR 'CANCEL'.
          LEAVE PROGRAM.
      ENDCASE.
    *  R_RS_SELFIELD-REFRESH = 'X'.
    
    ENDFORM.                    "F_USER_COMMAND
  • 相关阅读:
    关于机器学习系统的方向
    图像去雾
    中国九十年代摇滚
    matlab 将数字矩阵转换成图像
    vue-router路由守卫ie浏览器下报错问题解决
    vue:index.html、main.js、app.vue
    vue关于for循环
    element-ui表单校验
    记录vue组件引入components两次的后果
    vue组件通信
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6559805.html
Copyright © 2020-2023  润新知