Текущее время: Пт, июн 20 2025, 09:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Динамическое количество полей
СообщениеДобавлено: Пт, окт 01 2004, 04:23 
Гость
Подскажите как реализовать следующее:
В листинг выводится отчет, в котором динамическое количество полей, зависящее от определенных условий, причем максимальное их количество заранее не известно, ибо список полей хранится во внешней таблице и может меняться. Как отлавливать даблклик по ячейке отчета, т.е. узнать по какому столбцу был клик ?

Заранее благодарен ...


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 05:36 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Почему бы вам кардинально не переработать этот отчет. Сделайте его в ALV, засуньте туда все поля своей таблицы, а различные ракурсы отчета (зависящие я так понимаю от значений селекционных параметров) сохраните разными вариантами.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 08:10 
Гость
Честно говоря никогда с ALV не работал (к своему стыду). Где можно почитать о нем ?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 08:14 
Гость
data: f(20), g(40).

start-of-selection.
*
* write:/ ....
*
end-of-selection.

at line-selection.
clear: f,g.
get cursor field f value g.

тогда в F будет имя поля по которому кликнули, в G - значение


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 08:32 
Гость
ВН написал(а):
get cursor field f value g.

тогда в F будет имя поля по которому кликнули, в G - значение


это я в курсе, но в том то и проблема: как задать имена полей, если я не знаю сколько их будет и какие ... т.е. грубо говоря в некой настроечной табличке у меня есть три записи A, B, C ... и соответственно столбцы в отчете должны быть A B C ... но настроечная таблица может меняться как угодно, например будет там A D G T Y H E R T G и отчет соответственно должен измениться ... но как в таком случае организовать вывод в листинг чтоб можно было отловить по даблклику столбец и следовательно запись для этого столбца настроечной таблицы ?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 08:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
EHOT написал(а):
ВН написал(а):
get cursor field f value g.

тогда в F будет имя поля по которому кликнули, в G - значение


это я в курсе, но в том то и проблема: как задать имена полей, если я не знаю сколько их будет и какие ... т.е. грубо говоря в некой настроечной табличке у меня есть три записи A, B, C ... и соответственно столбцы в отчете должны быть A B C ... но настроечная таблица может меняться как угодно, например будет там A D G T Y H E R T G и отчет соответственно должен измениться ... но как в таком случае организовать вывод в листинг чтоб можно было отловить по даблклику столбец и следовательно запись для этого столбца настроечной таблицы ?


делай динамическую прогу и не мучайся...если начальство разрешит ))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 09:16 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Да ни к чему здесь динамические программы.
Просто делаешь вложенным цикл по настроечной таблице loop at it_nastr.
В теле цикла:
case it_nastr-pole.
when 'A'. write: it_main-field_A.
when 'B'. write: it_main-field_B.
...
endcase.
По-моему, тривиальное решение...
Можно там всякие приблуды вроде записи имени поля таблицы с данными в "настроечную" таблицу, тогда case не нужен, но идея та же...
По doble click get cursor field отлично отработает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 09:59 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Дмитрий написал:
Да ни к чему здесь динамические программы.
Просто делаешь вложенным цикл по настроечной таблице loop at it_nastr.
В теле цикла:
case it_nastr-pole.
when 'A'. write: it_main-field_A.
when 'B'. write: it_main-field_B.
...
endcase.
По-моему, тривиальное решение...
Можно там всякие приблуды вроде записи имени поля таблицы с данными в "настроечную" таблицу, тогда case не нужен, но идея та же...
По doble click get cursor field отлично отработает.

Лучше использовать FIELD-SYMBOLS и - решение получится более элегантное, чем в случае с case.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 01 2004, 10:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
sy-uname написал(а):
Дмитрий написал:
Да ни к чему здесь динамические программы.
Просто делаешь вложенным цикл по настроечной таблице loop at it_nastr.
В теле цикла:
case it_nastr-pole.
when 'A'. write: it_main-field_A.
when 'B'. write: it_main-field_B.
...
endcase.
По-моему, тривиальное решение...
Можно там всякие приблуды вроде записи имени поля таблицы с данными в "настроечную" таблицу, тогда case не нужен, но идея та же...
По doble click get cursor field отлично отработает.

Лучше использовать FIELD-SYMBOLS и - решение получится более элегантное, чем в случае с case.


вот...вот...так потихоньку-помаленьку к динамике и приползём...то этого захочется, то - того...плавали - знаем )))


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

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
EHOT написал(а):
Честно говоря никогда с ALV не работал (к своему стыду). Где можно почитать о нем ?

Пиши на мэйл - вышлю простенький пример (правда для начала с использованием REUSE_ALV_GRID_DISPLAY), без проблем разберешься. Кстати версия то какая у вас R/3? (а то GRID появился уже после 4.0.)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

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


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

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


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

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