Текущее время: Ср, июл 16 2025, 07:14

Часовой пояс: 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 часа


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

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


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

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