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

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


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

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


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

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