zoukankan      html  css  js  c++  java
  • ABAP如何创建动态结构的报表

    1、使用cl_alv_table_create=>create_dynamic_table

    REPORT zmaschl_create_data_dynamic .

    TYPE-POOLS: slis.

    DATA: it_fcat TYPE slis_t_fieldcat_alv,
          is_fcat LIKE LINE OF it_fcat.
    DATA: it_fieldcat TYPE lvc_t_fcat,
          is_fieldcat LIKE LINE OF it_fieldcat.
    DATA: new_table TYPE REF TO data.
    DATA: new_line  TYPE REF TO data.
    FIELD-SYMBOLS: <l_table> TYPE ANY TABLE,
                   <l_line>  TYPE ANY,
                   <l_field> TYPE ANY.

    * Build fieldcat
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
               i_structure_name = 'SYST'
           CHANGING
               ct_fieldcat      = it_fcat[].
       LOOP AT it_fcat INTO is_fcat WHERE NOT reptext_ddic IS initial.
            MOVE-CORRESPONDING is_fcat TO is_fieldcat.
            is_fieldcat-fieldname = is_fcat-fieldname.
            is_fieldcat-ref_field = is_fcat-fieldname.
            is_fieldcat-ref_table = is_fcat-ref_tabname.
            APPEND is_fieldcat TO it_fieldcat.
       ENDLOOP.

    * Create a new Table
    CALL METHOD cl_alv_table_create=>create_dynamic_table
           EXPORTING
            it_fieldcatalog = it_fieldcat
           IMPORTING
            ep_table        = new_table.

    * Create a new Line with the same structure of the table.
    ASSIGN new_table->* TO <l_table>.
    CREATE DATA new_line LIKE LINE OF <l_table>.
    ASSIGN new_line->* TO <l_line>.

    * Test it...
       DO 30 TIMES.
          ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
          <l_field> = sy-index.
          INSERT <l_line> INTO TABLE <l_table>.
       ENDDO.

       LOOP AT <l_table> ASSIGNING <l_line>.
          ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
          WRITE <l_field>.
       ENDLOOP. 

    2、使用动态创建临时程序  generate subroutine pool code name prog
                               message msg
                               line    lin
                               word    wrd
                               offset  off.并调。

  • 相关阅读:
    OpenCV 脸部跟踪(2)
    OpenCV 脸部跟踪(1)
    opencv2.4中SVD分解的几种调用方法
    OpenCV教程(42) xml/yaml文件的读写
    OpenCV教程(41) 人脸特征检测
    OpenCV学习(40) 人脸识别(4)
    OpenCV学习(39) OpenCV中的LBP图像
    目标检测的图像特征提取之(三)Haar特征
    目标检测的图像特征提取之(二)LBP特征
    目标检测的图像特征提取之(一)HOG特征
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157521.html
Copyright © 2011-2022 走看看