zoukankan      html  css  js  c++  java
  • ABAP在SAP中设计自动刷新的报表代码

    REPORT zauto_refresh .
    DATA: g_init_once,
          ok_code(20),
          g_ref_from_timer.

    TYPES: BEGIN OF t_ekko,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
    END OF t_ekko.

    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.


    IF g_init_once <> 'X'.
      g_init_once = 'X'.
      CALL FUNCTION 'Z_ENQUE_SLEEP'
         STARTING NEW TASK 'WAIT'
         PERFORMING when_finished ON END OF TASK.

    ENDIF.

    WRITE:/ 'wait for 10 sec....'.

    AT USER-COMMAND.
      CASE ok_code.
        WHEN 'FCT_R'.
          SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
           UP TO 10 ROWS
            FROM ekpo
            INTO TABLE it_ekko.
          WRITE:/ sy-uzeit. "Time
          LOOP AT it_ekko INTO wa_ekko.
            WRITE:/ wa_ekko-ebeln, wa_ekko-ebelp.
          ENDLOOP.
          sy-lsind = 0.
          IF g_ref_from_timer = 'X'.

            CALL FUNCTION 'Z_ENQUE_SLEEP'
              STARTING NEW TASK 'INFO'
              PERFORMING when_finished ON END OF TASK.

            g_ref_from_timer = ''.
          ENDIF.
      ENDCASE.


    *---------------------------------------------------------------------*
    *       FORM WHEN_FINISHED                                            *
    *---------------------------------------------------------------------*
    *       ........                                                      *
    *---------------------------------------------------------------------*
    *  -->  TASKNAME                                                      *
    *---------------------------------------------------------------------*
    FORM when_finished USING taskname.
      RECEIVE RESULTS FROM FUNCTION 'Z_ENQUE_SLEEP'.

      g_ref_from_timer = 'X'.

    * Trigger an event to run the at user-command
      SET USER-COMMAND 'FCT_R'.
      ok_code = 'FCT_R'.
      sy-ucomm = 'FCT_R'.

    ENDFORM.                    " WHEN_FINISHED



    FUNCTION Z_ENQUE_SLEEP.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"----------------------------------------------------------------------
    wait up to 10 seconds.

    *CALL FUNCTION 'ENQUE_SLEEP'
    *     EXPORTING
    *        SECONDS = 1.


    ENDFUNCTION.
     

  • 相关阅读:
    02 .NET CORE 2.2 使用OCELOT -- 路由
    01 .NET CORE 2.2 使用OCELOT -- 简单使用
    Winows上简单配置使用kafka(.net使用)
    【C#】 获取计算机的硬件信息
    使用NPOI进行Excel操作
    Xamarin 开发Android应用简易教程(1)
    【日常笔记】字符串加密
    【日常笔记】生成验证码图片
    [Winfrom] 使用一个启动快捷方式,打开2个不同的窗体并且共用一个缓存空间
    windows获取物理mac地址
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157513.html
Copyright © 2011-2022 走看看