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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: создание и заполнение динамической таблички
СообщениеДобавлено: Пн, дек 01 2008, 15:57 
Начинающий
Начинающий

Зарегистрирован:
Пн, дек 01 2008, 14:32
Сообщения: 7
Реально, чисто динамические структуры возникают, если они определены вне SAP, например структура внешних файлов при загрузке, тогда проблема 36 раз элементарно решается перезапуском программы. А когда речь идет о построении структур внутри программы, программист всегда знает их генезис, и тогда правильней их определять в словаре, ибо разговор может идти о динамическом создании объекта неопределенно кол-во раз. Поэтому я и рекомендовал поближе познакомиться с техникой динамического программирования на АВАР. Это же рекомендация, а не приговор :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: создание и заполнение динамической таблички
СообщениеДобавлено: Пн, дек 01 2008, 15:58 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, ноя 21 2008, 05:13
Сообщения: 34
ivkravchin написал(а):
после использования CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE 36 раз Вас ждут дампы

нас ждет sy-subrc = 1 :wink:
реально, обычно достаточно 1-3 динамических таблиц, естественно, это << 36


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: создание и заполнение динамической таблички
СообщениеДобавлено: Пн, дек 01 2008, 16:11 
Начинающий
Начинающий

Зарегистрирован:
Пн, дек 01 2008, 14:32
Сообщения: 7
Ну если ты EXCEPTIONS перехватишь CX_SY_GENERATE_SUBPOOL_FULL
а дальше что?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: создание и заполнение динамической таблички
СообщениеДобавлено: Пн, дек 01 2008, 16:24 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, ноя 21 2008, 05:13
Сообщения: 34
ivkravchin написал(а):
Ну если ты EXCEPTIONS перехватишь CX_SY_GENERATE_SUBPOOL_FULL
а дальше что?

дальше выведу ошибку и пойду спать =) другого варианта все равно нет


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: создание и заполнение динамической таблички
СообщениеДобавлено: Пн, дек 01 2008, 16:24 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
ivkravchin Я Вас понял, спасибо за советы, но почитайте, с чего тема началась и из чего я собираю(названия МВЗ) эту динамическую таблицу с помощью этого метода, объясните как через словарь создать такую динамическую таблицу. Кстати проблем бы не было еслиб это надо было не в АЛВ выгружать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: создание и заполнение динамической таблички
СообщениеДобавлено: Пт, дек 05 2008, 20:50 
Начинающий
Начинающий

Зарегистрирован:
Пт, дек 05 2008, 20:35
Сообщения: 12
Besa написал:
создал табличку с помощью
[code]
FIELD-SYMBOLS:
<T_TAB> TYPE any TABLE.
DATA:
IT_FCAT TYPE LVC_T_FCAT,
TABLE TYPE REF TO DATA.

CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
.....

Всем привет, я бегиннер... Как раз столкнулся с такой ситуацией..
А можно ли создавать не плоскую таблицу а таблицу с вложенной структурой этим методом?. Ковырял ни как не вышло(.. Мое решение -
создаю временную прогу с текстом таблицы... Всем спасибо..
PS нужно мне это для вывода в алв грид там используется вложенка CELLSTYLES.. ее никак не могу вложить динамически...делаю типа редактора н-ного кол-ва таблиц...
Если есть такая возможность подскажите плз


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: создание и заполнение динамической таблички
СообщениеДобавлено: Сб, дек 06 2008, 11:57 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, ноя 21 2008, 05:13
Сообщения: 34
CatDogG написал(а):
А можно ли создавать не плоскую таблицу а таблицу с вложенной структурой этим методом?.

только ручками, формируем текст инклуда и генерим generate subroutine pool
что-то типа того:
Code:
    APPEND 'REPORT GENENERATED_SUBROUTINE_POOL.' TO lt_source.
    APPEND 'FORM TABLE_CREATE.' TO lt_source.
    APPEND 'DATA: BEGIN OF LT_GENTAB OCCURS 0,' TO lt_source.
    APPEND 'STATS TYPE ICON_TEXT ,' TO lt_source.
    APPEND 'IT_CLTAB TYPE LVC_T_SCOL ,' TO lt_source.
*   ...
    APPEND 'END OF LT_GENTAB.' TO lt_source.
    APPEND 'DATA:' TO lt_source.
    APPEND 'RF_TDATA TYPE REF TO DATA.' TO lt_source.
    APPEND 'CREATE DATA RF_TDATA LIKE STANDARD TABLE OF LT_GENTAB.' TO lt_source.
    CONCATENATE 'PERFORM GET_REF(' sy-repid ') USING RF_TDATA.'
           INTO l_sline.
    APPEND l_sline TO lt_source.
    APPEND 'ENDFORM.' TO lt_source.
    l_pname = sy-repid.
    CATCH SYSTEM-EXCEPTIONS generate_subpool_dir_full = 9.
      GENERATE SUBROUTINE POOL lt_source
                          NAME l_pname
                       MESSAGE l_messg
                          LINE l_eline
                          WORD l_eword.
    ENDCATCH.
*   sy-subrc
    l_sform = 'TABLE_CREATE'.
    PERFORM (l_sform) IN PROGRAM (l_pname).


п.с. кстати, неплоская табличка называется deep, "глубокой"


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2

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


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

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


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

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