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.

  • 相关阅读:
    rpm命令之查询是否安装、包详细信息、包安装位置、文件属于哪个包、包依赖
    二进制包之rpm命令方式,安装、更新、卸载、依赖
    vmware之主机/桥接/NAT连接网络、xshell、xftf
    last、lastlog、traceroute、netstat
    ping、防火墙、ifconfig、setup、nmtui、write、wall、mail
    zip、gz、bz2、tar.gz、tar.bz2、jar、unar
    linux 用户管理 groupadd、groupmod、groupdel、gpasswd
    usermod、chage、userdel、su
    useradd、passwd、who、whoami、id、w及用户默认值文件
    文件passwd/shadow/grop/gshadow、邮箱目录、模板目录
  • 原文地址:https://www.cnblogs.com/cnlmjer/p/4099839.html
Copyright © 2011-2022 走看看