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.
     

  • 相关阅读:
    Asp.net Core 系列之--5.认证、授权与自定义权限的实现
    Asp.net Core 系列之--4.事务、日志及错误处理
    Asp.net Core 系列之--3.领域、仓储、服务简单实现
    Asp.net Core 系列之--2.ORM初探:Dapper实现MySql数据库各类操作
    Asp.net Core 系列之--1.事件驱动初探:简单事件总线实现(SimpleEventBus)
    Cocos2d-x项目创建
    Cocos2d-x编译Android环境
    Linux 之 RPM
    Channels实现扫码登录
    SQLALchemy中关于复杂关系表模型的映射处理
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157513.html
Copyright © 2011-2022 走看看