zoukankan      html  css  js  c++  java
  • 动态内表

    *&---------------------------------------------------------------------*
    *& Report  ZDYNIT                                                      *
    *&                                                                     *
    *&---------------------------------------------------------------------*
    *&                                                                     *
    *&                                                                     *
    *&---------------------------------------------------------------------*

    REPORT  ZDYNIT                                  .
    DATA: d_ref TYPE REF TO data,
          d_ref2 TYPE REF TO data,
          i_alv_cat TYPE TABLE OF lvc_s_fcat,
          ls_alv_cat LIKE LINE OF i_alv_cat.

    TYPES tabname TYPE dcobjdef-name.
    PARAMETER p_tablen TYPE tabname.
    DATA BEGIN OF itab OCCURS 0.
      INCLUDE STRUCTURE dntab.
    DATA END OF itab.

    FIELD-SYMBOLS: <f_fs> TYPE TABLE,
                   <f_fs1> TYPE TABLE,
                   <f_fs2> TYPE ANY,
                   <f_fs3> TYPE TABLE.
    REFRESH itab.

    CALL FUNCTION 'NAMETAB_GET'
      EXPORTING
        LANGU                     = SY-LANGU
        ONLY                      = ' '
        TABNAME                   = p_tablen
      TABLES
        NAMETAB                   = itab
      EXCEPTIONS
        INTERNAL_ERROR            = 1
        TABLE_HAS_NO_FIELDS       = 2
        TABLE_NOT_ACTIV           = 3
        NO_TEXTS_FOUND            = 4
        OTHERS                    = 5
              .
    IF SY-SUBRC <> 0.
    ENDIF.
    LOOP AT itab .
      ls_alv_cat-fieldname = itab-fieldname.
      ls_alv_cat-ref_table = p_tablen.
      ls_alv_cat-ref_field = itab-fieldname.
      APPEND ls_alv_cat TO i_alv_cat.
    ENDLOOP.
    * internal table build
    CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
      EXPORTING
    *    I_STYLE_TABLE             =
        IT_FIELDCATALOG           = i_alv_cat
    *    I_LENGTH_IN_BYTE          =
       IMPORTING
         EP_TABLE                  = d_ref
    *E_STYLE_FNAME             =
       EXCEPTIONS
         GENERATE_SUBPOOL_DIR_FULL = 1
         others                    = 2
            .
    IF SY-SUBRC <> 0.

    ENDIF.
    ASSIGN d_ref->* TO <f_fs>.
    SELECT * FROM (p_tablen) INTO CORRESPONDING FIELDS OF TABLE <f_fs>.
    LOOP AT <f_fs> ASSIGNING <f_fs2> .
      WRITE / <f_fs2>.
    ENDLOOP.

  • 相关阅读:
    献给初学者:谈谈如何学习Linux操作系统
    Spring MVC 教程,快速入门,深入分析
    缓存、缓存算法和缓存框架简介
    计算机科学中最重要的32个算法
    12岁的少年教你用Python做小游戏
    当你输入一个网址的时候,实际会发生什么?
    java程序员从笨鸟到菜鸟之(七)一—java数据库操作
    java中的类修饰符、成员变量修饰符、方法修饰符。
    Java内存分配全面浅析
    Java知多少(19)访问修饰符(访问控制符)
  • 原文地址:https://www.cnblogs.com/cnlmjer/p/4099839.html
Copyright © 2011-2022 走看看