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.

  • 相关阅读:
    Matlab中如何将(自定义)函数作为参数传递给另一个函数
    字幕文件 WebVTT 与 srt 之间的互相转化
    MathType 常用快捷键
    如何解决mathpage.dll或MathType.dll文件找不到问题
    Accelerating Matlab
    VR 相关专业词汇
    Computer Graphics Research Software
    C 和 C++ 混合代码 cmath编译出错
    CG&CAD resource
    Python 面向对象编程——初见
  • 原文地址:https://www.cnblogs.com/cnlmjer/p/4099839.html
Copyright © 2011-2022 走看看