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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: 2 и более ALV на одной странице
СообщениеДобавлено: Пт, июн 23 2006, 06:53 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
Народ, подскажите, пожалуйста, можно ли вытащить на одной странице 2 и более ALV.

Или одним REUSE_ALV_LIST_DISPLAY вытащить 2 и более fieldcataloges


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 2 и более ALV на одной странице
СообщениеДобавлено: Пт, июн 23 2006, 07:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
clashar написал(а):
Народ, подскажите, пожалуйста, можно ли вытащить на одной странице 2 и более ALV.


Что понимается под странице? В терминаз сап, скорее всего, правильней говорить про экран.
Для размещения нескольких alv в пределах одного экрана следует воспользоваться объектной версией ALV (за подробностями - в поиск)/

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 23 2006, 07:28 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Чт, окт 20 2005, 08:45
Сообщения: 1651
Пол: Мужской
Вам поможет функция 'REUSE_ALV_BLOCK_LIST_APPEND', она делает то что надо:

call function 'REUSE_ALV_BLOCK_LIST_INIT'
exporting
i_callback_program = repid
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = pfstatus.
*
x_layout-box_fieldname = 'BOX'.
x_layout-box_tabname = 'XDATA'.
x_layout-lights_fieldname = 'AMPEL'.
x_layout-info_fieldname = 'LISTINFO'.
*
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
it_fieldcat = xfield
is_layout = x_layout
i_tabname = 'XDATA'
it_events = gt_xevents
i_text = text-0b1
tables
t_outtab = xdata.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
it_fieldcat = lfield
is_layout = l_layout
i_tabname = 'LDATA'
it_events = gt_levents
i_text = text-0b4
tables
t_outtab = ldata.
*
gt_print-reserve_lines = 2.
call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'
exporting
is_print = gt_print.
*------------------------------------

При желании, можно вставить иерархический АЛВ состоящий из нескольких блоков


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 2 и более ALV на одной странице
СообщениеДобавлено: Пт, июн 23 2006, 08:02 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
clashar написал(а):
Или одним REUSE_ALV_LIST_DISPLAY вытащить 2 и более fieldcataloges


Думаю демка BCALV_TEST_LIST_APPEND тебе подойдет (если речь идет не о alv-grid)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: 2 и более ALV на одной странице
СообщениеДобавлено: Пт, июн 23 2006, 09:04 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
clashar написал(а):
Народ, подскажите, пожалуйста, можно ли вытащить на одной странице 2 и более ALV.

Или одним REUSE_ALV_LIST_DISPLAY вытащить 2 и более fieldcataloges


делайте на классах. хоть 22 грида можно положить. примеры в системе есть - поискайте на BC*ALV*.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 26 2006, 08:05 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
Спасибо всем!
Покопал.

что-то не идет - выходит пустой ALV
такое ощущение, что fieldcatalog не заполнился.

При использовании 'REUSE_ALV_BLOCK_LIST_APPEND', не надо применять REUSE_ALV_FIELDCATALOG_MERGE?


Последний раз редактировалось clashar Пн, июн 26 2006, 09:32, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 2 и более ALV на одной странице
СообщениеДобавлено: Пн, июн 26 2006, 08:07 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
sy-uname написал(а):
clashar написал(а):
Народ, подскажите, пожалуйста, можно ли вытащить на одной странице 2 и более ALV.


Что понимается под странице? В терминаз сап, скорее всего, правильней говорить про экран.
Для размещения нескольких alv в пределах одного экрана следует воспользоваться объектной версией ALV (за подробностями - в поиск)/


Если просто ALV на 1 странице делаешь, то ведь он может получаться, даже если я не создаю экран как таковой. Правда я не знаю создается ли фактически этот экран при выводе результативной таблицы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 27 2006, 07:22 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
просто 2 ALV на одной странице получилось. Нужно было REUSE_ALV_FIELDCATALOG_MERGE тоже использовать.

А что если я не знаю заранее сколько ALV будет?

Вообщем я пытаюсь сделать в цикле.

Перед циклом: инициирую лист -
REUSE_ALV_BLOCK_LIST_INIT

Внутри цикла:
REUSE_ALV_FIELDCATALOG_MERGE
REUSE_ALV_BLOCK_LIST_APPEND

После цикла:
REUSE_ALV_BLOCK_LIST_DISPLAY

Возможно ли такое? использовал ли кто-то ALV в цикле?
У меня ошибок в синтаксисе не дает, но результат пустой и после пишет: Return code 1 from function REUSE_ALV_FIELDCATALOG_MERGE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 27 2006, 09:12 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
код исключения 1 значит INCONSISTENT_INTERFACE
хотя тот же код без цикла нормально отрабатывал


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 28 2006, 08:32 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
Вообщем методом проб и ошибок, у меня получилось организовать это дело в цикле, но есть одно ограничение. В цикле это должно отрабатываться не более 19 раз.
(REUSE_ALV_FIELDCATALOG_MERGE и REUSE_ALV_BLOCK_LIST_APPEND)

Видимо ограничение FM.

Если у кого есть какие-то варианты решения, пожалуйста, в студию.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 28 2006, 10:07 
Гость
а может вот так:

Изображение


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 28 2006, 12:12 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
не понял, что вы имели ввиду.

я только третью неделю изучаю abap. У меня получается напечатать 19 ALV на странице, не больше.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 2 и более ALV на одной странице
СообщениеДобавлено: Ср, июн 28 2006, 12:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Egal написал:
делайте на классах. хоть 22 грида можно положить. примеры в системе есть - поискайте на BC*ALV*.

2clasar: послушайте умных людей :D

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 28 2006, 12:51 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
clashar написал(а):
У меня получается напечатать 19 ALV на странице, не больше.

А зачем _так_ много ALV на страницу? Это какая то логическая головоломка для менеджеров? Может имеет смысл переработать интерфейс? Например воспользоваться закладками? реализовать DrillDown?

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 28 2006, 13:25 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 22 2006, 09:26
Сообщения: 21
Просто не хочется сильно далеко в дебри лезть.

В единственной всеми известной книжке на русском по SAP, я не нашел ничего про классы, кроме упоминания в самом конце. Да и ALV там нет ))

Но если по-другому никак, то наверное придется искать и изучать классы.

Это просто задание, а не реальный отчет. Я это уже сделал через обычный write, теперь вот через ALV надо. Смысл в том, что для определенных уникальных значений формируется маленькая подтаблица по этим значениям. А их больше 20 различных.


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

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


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

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


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

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