分享

ABAP分享六 alv显示的几种方式的简单示例

 丹枫无迹 2021-12-02

方法1,也是大家常见的方法通过函数   REUSE_ALV_GRID_DISPLAY

CLASS lcl_report DEFINITION.

PUBLIC SECTION.
* 定义SALV输出内表
  TYPESBEGIN OF st_spfli,
       carrid TYPE spfli-carrid,
       connid TYPE spfli-connid,
       cityfrom TYPE spfli-cityfrom,
       cityto   TYPE spfli-cityto,
       distance TYPE spfli-distance,
    END OF st_spfli.

  DATA: it_spfli TYPE STANDARD TABLE OF st_spfli.

  DATA: o_alv TYPE REF TO cl_salv_table.

  METHODS:
         getdata,      "获取数据
         genoutput.    "生成输出内容
ENDCLASS.

CLASS lcl_report IMPLEMENTATION.

  METHOD getdata.

     SELECT carrid connid cityfrom cityto distance
       INTO TABLE it_spfli
       FROM spfli
       UP TO 10 rows.

  ENDMETHOD.

  METHOD genoutput.
    DATA: lx_msg TYPE REF TO cx_salv_msg.
    TRY .
       cl_salv_table=>factory(                          "此乃固定格式
         IMPORTING
           r_salv_table = o_alv
         CHANGING
           t_table     = it_spfli
       ).
    CATCH cx_salv_msg INTO lx_msg.

    ENDTRY.
    o_alv->display).                                  "将数据通过ALV方式显示到屏幕
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  DATA: lo_report TYPE REF TO lcl_report.

  create OBJECT lo_report.

  lo_report->getdata).                               "获取数据
  lo_report->genoutput).                             "生成SALV 

 

方法4,面向对象的方法实现ALV展示,是通过静态类的方法实现的(OOALV)。

 方法5,dialog屏幕逻辑流显示  (方法4和方法5我会整理完后另外编辑出来)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多