Текущее время: Ср, июл 30 2025, 22:04

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Динамическая внутренняя таблица
СообщениеДобавлено: Пн, сен 14 2009, 21:22 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
Господа!
Нужно динамически создавать внутреннюю таблицу, в структуре которой должно быть поле со стилями ячеек (тип lvc_t_styl).
Как такая задача решается? И если в лоб не решается, то как можно обрулить это дело?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическая внутренняя таблица
СообщениеДобавлено: Пн, сен 14 2009, 22:46 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
_garycor_ написал:
Господа!
Нужно динамически создавать внутреннюю таблицу, в структуре которой должно быть поле со стилями ячеек (тип lvc_t_styl).
Как такая задача решается? И если в лоб не решается, то как можно обрулить это дело?
Create a Dynamic Internal Table?
Для Вашего поля
Code:
    xfc-ref_field = 'CELL'. "(тип lvc_t_styl)
    xfc-ref_table = 'MASS_EKKO'.
    append xfc to ifc.

_________________
"I have a dream"(c)Martin Luther King, Jr.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическая внутренняя таблица
СообщениеДобавлено: Пн, сен 14 2009, 22:54 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
При указании i_style_table = 'X', в табличке создается поле с таблицей стилей.
Code:
call method cl_alv_table_create=>create_dynamic_table
  exporting
    i_style_table             = 'X'
    it_fieldcatalog           = l_fieldcat
  importing
    ep_table                  = zcl_gl_i_tab
  exceptions
    generate_subpool_dir_full = 1
    others                    = 2
        .


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическая внутренняя таблица
СообщениеДобавлено: Пн, сен 14 2009, 22:57 
Специалист
Специалист

Зарегистрирован:
Вс, янв 11 2009, 11:05
Сообщения: 152
Пол: Мужской
спасибо!!!!
завтра на работе попробую.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическая внутренняя таблица  Тема решена
СообщениеДобавлено: Вт, сен 15 2009, 12:00 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 31 2008, 15:58
Сообщения: 70
Я пользуюсь собственным классом для создания динамических таблиц.

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.


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

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 c,
  bu_desc TYPE c,
  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  ).


Просто обернул. Ношу с собой =)

_________________
С Уважением, Абрамов Виктор.
The devil is in the detail.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB