首页 文章

如何在ABAP中动态地将结构转换为内部表

提问于
浏览
3

我正在尝试创建一个方法,该方法将导入一个结构,假设所有结构元素都是平面且相同的数据类型 . 然后我想动态地将它转换为具有该类型的表并返回它 . 我应该从哪里开始?我一直试图让它工作几个小时而且无处可去 .

2 回答

  • 4

    您可以像 cl_alv_table_create 一样使用 create_dynamic_table 表格,如下所示:

    * Create dynamic internal table and assign to FS
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog  = ifc
          i_length_in_byte = 'X' "added by Paul Robert Oct 28, 2009 17:04
        IMPORTING
          ep_table         = dy_table.
      ASSIGN dy_table->* TO <dyn_table>.
    * Create dynamic work area and assign to FS
      CREATE DATA dy_line LIKE LINE OF <dyn_table>.
      ASSIGN dy_line->* TO <dyn_wa>.
    

    Here是一个可以帮助您入门的链接 .

  • 2

    There is absolutely no need to use CL_ALV_TABLE_CREATE - 纯粹的矫枉过正 . 使用Run Time Type Services (RTTS)获取有关输入数据的信息(并验证您对组件类型的假设),然后使用dynamic form of CREATE TABLE

    * asssuming that l_type_name contains the type name of a single element
      CREATE DATA lr_table TYPE STANDARD TABLE OF (l_type_name).
    

相关问题