Текущее время: Сб, июл 12 2025, 21:19

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Динамическое формирование таблицы
СообщениеДобавлено: Пт, апр 06 2012, 15:49 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 28 2008, 10:39
Сообщения: 86
Нужна вот такая структура

Code:
Types: BEGIN OF typ_filedata,
    col1  TYPE string,
    col2  TYPE string,
    **************
    col[N]  TYPE string,
END OF typ_filedata.

N = количество столбцов

возможно ли динамически сформировать ее, а то влом столько строк кода писать


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое формирование таблицы
СообщениеДобавлено: Пт, апр 06 2012, 16:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 15 2011, 15:02
Сообщения: 122
Code:
TYPE-POOLS: abap.

DATA:
      lr_structdescr    TYPE REF TO cl_abap_structdescr,
      lr_tabledescr     TYPE REF TO cl_abap_tabledescr,
      lr_datadescr      TYPE REF TO cl_abap_datadescr,
      lt_components     TYPE abap_component_tab,
      ls_component      TYPE LINE OF abap_component_tab,
lr_wa             TYPE REF TO data,
lr_tab            TYPE REF TO data.

DATA: lv_index_num(3) TYPE n.
DATA: lv_index_char(3) TYPE c.

FIELD-SYMBOLS: <fs_wa> TYPE ANY.
FIELD-SYMBOLS: <fs_tab> TYPE table.

START-OF-SELECTION.

  DO 20 TIMES.
    lv_index_num = sy-index.
    lv_index_char = lv_index_num.
    CONCATENATE 'value' lv_index_char INTO ls_component-name.
    ls_component-type ?= cl_abap_elemdescr=>get_c( p_length = 10 ).
    INSERT ls_component INTO TABLE lt_components.
  ENDDO.

* get structure descriptor -> lr_STRUCTDESCR
  lr_structdescr ?= cl_abap_structdescr=>create( lt_components ).

* create work area of structure lr_STRUCTDESCR -> lr_WA
  CREATE DATA lr_wa TYPE HANDLE lr_structdescr.
  ASSIGN lr_wa->* TO <fs_wa>.

  lr_datadescr ?= lr_structdescr.
  lr_tabledescr ?= cl_abap_tabledescr=>create( lr_datadescr ).

* Create dynmaic internal table
  CREATE DATA lr_tab TYPE HANDLE lr_tabledescr.
  ASSIGN lr_tab->* TO <fs_tab>.


Примерно так

_________________
Поздравляю тебя, Шарик, ты - балбес!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическое формирование таблицы
СообщениеДобавлено: Пт, апр 06 2012, 16:23 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Эм. А не проще написать: TYPE TABLE OF string ? ;)

З.Ы.: Если оно, конечно, не для вывода информации.


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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