zoukankan      html  css  js  c++  java
  • ALV 定时器

    *&---------------------------------------------------------------------*
    *& Report ZTIME
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT ZTIME.
    *>*********************************************************************
    * This report displays User's info (SM04) using the FM :              *
    * REUSE_ALV_GRID_DISPLAY                                              *
    * The list is auto-refreshed (refresh time : 5 seconds)               *
    *---------------------------------------------------------------------*
    TYPE-POOLS: slis.                      " ALV Global Types
    DATA :
      gt_user LIKE uinfo OCCURS 0 WITH HEADER LINE. " User info in SM04
    
    class lcl_receiver definition.
      public section.
        methods:
          handle_finished for event finished of cl_gui_timer.
    endclass.
    
    class lcl_receiver implementation.
    method handle_finished.
            CALL METHOD cl_gui_cfw=>set_new_ok_code
              EXPORTING
                new_code = '&NTE'.
    endmethod.
    endclass.
    
    data:
      test       type i,
      receiver   type ref to lcl_receiver,
      timer      type ref to cl_gui_timer.
    
    *---------------------------------------------------------------------*
    START-OF-SELECTION.
      create object timer.
      create object receiver.
      set handler receiver->handle_finished for timer.
      timer->interval = 5.
      PERFORM f_read_data.
      PERFORM f_display_data.
    *---------------------------------------------------------------------*
    *       Form  F_LIRE_DATA
    *---------------------------------------------------------------------*
    FORM f_read_data.
      REFRESH gt_user.
    * Get User's info
      CALL FUNCTION 'THUSRINFO'
           TABLES
                usr_tabl = gt_user.
    * Wait in a task
      call method timer->run.
    ENDFORM.                               " F_READ_DATA
    *---------------------------------------------------------------------*
    *      Form  F_DISPLAY_DATA
    *---------------------------------------------------------------------*
    FORM f_display_data.
      DEFINE m_sort.
        add 1 to ls_sort-spos.
        ls_sort-fieldname = &1.
        append ls_sort to lt_sort.
      END-OF-DEFINITION.
    
      DEFINE m_event_exit.
        clear ls_event_exit.
        ls_event_exit-ucomm = &1.
        ls_event_exit-after = 'X'.
        append ls_event_exit to lt_event_exit.
      END-OF-DEFINITION.
    
      DATA :
        ls_layout     TYPE slis_layout_alv,
        lt_sort       TYPE slis_t_sortinfo_alv,
        ls_sort       TYPE slis_sortinfo_alv,
        lt_event_exit TYPE slis_t_event_exit,
        ls_event_exit TYPE slis_event_exit.
    * Build Sort Table
      m_sort 'ZEIT'.
    * Build Event Exit Table
      m_event_exit '&NTE'.                 " Refresh
      ls_layout-zebra = 'X'.
      ls_layout-colwidth_optimize = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program      = sy-cprog
                i_callback_user_command = 'USER_COMMAND'
                is_layout               = ls_layout
                i_structure_name        = 'UINFO'
                it_sort                 = lt_sort
                it_event_exit           = lt_event_exit
           TABLES
                t_outtab                = gt_user.
    ENDFORM.                               " F_DISPLAY_DATA
    *---------------------------------------------------------------------*
    *       FORM USER_COMMAND                                             *
    *---------------------------------------------------------------------*
    FORM user_command USING i_ucomm     TYPE syucomm
                            is_selfield TYPE slis_selfield.     "#EC CALLED
      CASE i_ucomm.
        WHEN '&NTE'.
          PERFORM f_read_data.
          is_selfield-refresh = 'X'.
          call method timer->run.
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
  • 相关阅读:
    python note 30 断点续传
    python note 29 线程创建
    python note 28 socketserver
    python note 27 粘包
    python note 26 socket
    python note 25 约束
    Sed 用法
    python note 24 反射
    python note 23 组合
    python note 22 面向对象成员
  • 原文地址:https://www.cnblogs.com/ckstock/p/15272577.html
Copyright © 2011-2022 走看看