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

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


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

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


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

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