Добрый день.
Тема динамического создания таблиц поднимается на нашем форуме с регулярностью раз в 2 недели, это точно =)
Есть много примеров, и при желании, немного посмотрев, каждый может это сделать.
Я решил выложить свой класс на основе RTTI с той целью, если кто-то забудет, или не будет под рукой примера, смог просто взять мой 
include, и либо использовать его, либо посмотрев внутрь вспомнить. И возможно еще одно сообщение на эту тему, уменьшит их появление в 
дальнейшем.
Меня мотивировало на это вновь появившаяся тема про дин. создание таблиц.
Для меня это типа шпаргалки.
Code:
*&---------------------------------------------------------------------*
*&  Include           ZAVV_LCL_CRTFIELDCATALOG
*&---------------------------------------------------------------------*
CLASS zavv_lcl_dyn DEFINITION .
  PUBLIC SECTION.
    CLASS-METHODS:
        get_fldcat IMPORTING im_table TYPE STANDARD TABLE
          EXPORTING ex_fldcat TYPE lvc_t_fcat,
        get_dyntab IMPORTING im_table TYPE STANDARD TABLE
          EXPORTING ex_dyntab TYPE REF TO data,
        get_dyntab_from_std IMPORTING VALUE(im_name_type) TYPE char80
          EXPORTING ex_dyntab TYPE REF TO data
                .
ENDCLASS.                    "zavv_lcl_crtfieldcatalog DEFINITION
*----------------------------------------------------------------------*
*       CLASS zavv_lcl_crtfieldcatalog IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS zavv_lcl_dyn IMPLEMENTATION.
  METHOD get_fldcat.
    DATA: lcl_table_descr TYPE REF TO cl_abap_tabledescr,
          lcl_struc_descr TYPE REF TO cl_abap_structdescr,
          ret_components TYPE abap_compdescr_tab,
          wa_ret_components TYPE LINE OF abap_compdescr_tab,
          wa_ct_fieldcat TYPE lvc_s_fcat.
    CLEAR: lcl_table_descr ,
              lcl_struc_descr ,
              ret_components ,
              wa_ret_components ,
              wa_ct_fieldcat .
    lcl_table_descr ?= cl_abap_typedescr=>describe_by_data( im_table ).
    lcl_struc_descr ?= lcl_table_descr->get_table_line_type( ).
    ret_components = lcl_struc_descr->components.
    LOOP AT ret_components INTO wa_ret_components .
      wa_ct_fieldcat-fieldname = wa_ret_components-name.
      wa_ct_fieldcat-col_pos = sy-tabix.
      wa_ct_fieldcat-inttype = wa_ret_components-type_kind.
      wa_ct_fieldcat-intlen = wa_ret_components-length.
      APPEND wa_ct_fieldcat TO ex_fldcat.
      CLEAR wa_ct_fieldcat.
    ENDLOOP.
  ENDMETHOD.                    "get_fldcat
  METHOD get_dyntab.
    DATA: lcl_table_descr TYPE REF TO cl_abap_tabledescr,
          lcl_struc_descr TYPE REF TO cl_abap_structdescr,
          ret_components TYPE abap_compdescr_tab,
          wa_ret_components TYPE LINE OF abap_compdescr_tab,
          wa_ct_fieldcat TYPE lvc_s_fcat,
          lt_fldcat TYPE lvc_t_fcat.
    CLEAR: lcl_table_descr ,
              lcl_struc_descr ,
              ret_components ,
              wa_ret_components ,
              wa_ct_fieldcat ,
              lt_fldcat .
    lcl_table_descr ?= cl_abap_typedescr=>describe_by_data( im_table ).
    lcl_struc_descr ?= lcl_table_descr->get_table_line_type( ).
    ret_components = lcl_struc_descr->components.
    LOOP AT ret_components INTO wa_ret_components .
      wa_ct_fieldcat-fieldname = wa_ret_components-name.
      wa_ct_fieldcat-col_pos = sy-tabix.
      wa_ct_fieldcat-inttype = wa_ret_components-type_kind.
      wa_ct_fieldcat-intlen = wa_ret_components-length.
      APPEND wa_ct_fieldcat TO lt_fldcat.
      CLEAR wa_ct_fieldcat.
    ENDLOOP.
    DATA: im_table1 TYPE REF TO data.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
      EXPORTING
        it_fieldcatalog           = lt_fldcat
      IMPORTING
        ep_table                  = ex_dyntab
      EXCEPTIONS
        generate_subpool_dir_full = 1
        OTHERS                    = 2.
  ENDMETHOD.                    "get_fldcat
  METHOD get_dyntab_from_std.
    CREATE DATA ex_dyntab TYPE STANDARD TABLE OF (im_name_type).
  ENDMETHOD.                    "get_dyntab_from_std
ENDCLASS.                    "zavv_lcl_crtfieldcatalog IMPLEMENTATION
Пример использования
Code:
REPORT  zavv_test.
INCLUDE zavv_lcl_crtfieldcatalog.
DATA : it_file  LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.
DATA file_path LIKE  rlgrap-filename.
TYPES : BEGIN OF  sbu_upload ,
  bu TYPE char2,
  bu_desc TYPE char5,
  delete TYPE c,
END OF sbu_upload .
DATA tbu_upload  TYPE STANDARD TABLE OF sbu_upload  WITH HEADER LINE.
DATA: lt_fieldcat TYPE lvc_t_fcat.
INITIALIZATION.
START-OF-SELECTION.
  zavv_lcl_dyn=>get_fldcat( EXPORTING im_table = tbu_upload[]
                                        IMPORTING ex_fldcat = lt_fieldcat  ).
  DATA: lt_tab1 TYPE REF TO data.
  zavv_lcl_dyn=>get_dyntab( EXPORTING im_table = tbu_upload[]
                                        IMPORTING ex_dyntab = lt_tab1  ).
  DATA: lt_tab2 TYPE REF TO data.
  zavv_lcl_dyn=>get_dyntab_from_std( EXPORTING im_name_type = 'MARA'
                                        IMPORTING ex_dyntab = lt_tab2  ).
  FIELD-SYMBOLS: <l_table1> TYPE STANDARD TABLE,
                 <l_line1> TYPE any,
                 <fs> TYPE any.
  DATA: new_line1 TYPE REF TO data.
  ASSIGN lt_tab1->* TO <l_table1>.
  CREATE DATA new_line1 LIKE LINE OF <l_table1>.
  ASSIGN new_line1->* TO <l_line1>.
  ASSIGN COMPONENT 'BU' OF STRUCTURE <l_line1> to <fs>.
  <fs> = '1'.
  APPEND <l_line1> to <l_table1>.
  BREAK sy-uname.