直接分页查询

FUNCTION ztm_rfc004.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(LV_ZWWCK) TYPE  ZWWCK OPTIONAL
*"     VALUE(P_START) TYPE  SY-TABIX OPTIONAL
*"     VALUE(P_LIMIT) TYPE  SY-TABIX OPTIONAL
*"  EXPORTING
*"     VALUE(P_TOTAL) TYPE  SY-TABIX
*"  TABLES
*"      ET_OUT STRUCTURE  ZMMT009C OPTIONAL
*"----------------------------------------------------------------------

  RANGES:r_zwwck FOR zmmt009c-zwwck.
*  DATA:  lt_out LIKE TABLE OF et_out.


  IF lv_zwwck IS NOT INITIAL.
    r_zwwck-sign = 'I'.
    IF '*' CO lv_zwwck.
      r_zwwck-option = 'CP'.
    ELSE.
      r_zwwck-option = 'EQ'.
    ENDIF.
    r_zwwck-low = lv_zwwck.
    APPEND r_zwwck.
  ENDIF.

  SELECT COUNT(*)
    INTO @p_total
    FROM zmmt009c
    WHERE zwwck IN @r_zwwck.


  SELECT FROM zmmt009c
    FIELDS *
     WHERE zwwck IN @r_zwwck
    ORDER BY zwwck
    INTO CORRESPONDING FIELDS OF TABLE @et_out
    OFFSET @p_start UP TO @p_limit ROWS.

*  total = lines( lt_out[] ).



ENDFUNCTION.

 

posted @ 2022-05-24 09:25  蛀牙首领  阅读(32)  评论(0编辑  收藏  举报