Текущее время: Вс, июн 22 2025, 00:33

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


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

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


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

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