Текущее время: Пт, апр 26 2024, 20:12

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Вывод ключа со значением из домена в ALV editable listbox
СообщениеДобавлено: Сб, мар 20 2021, 18:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
Всем привет!!!
Помогите старику-консультанту с некоторым опытом разработки, пусть и не очень обширным. Уперся чего-то.
Нарисовал ALV-ху c редактируемым столбцом. В столбце listbox.
В филдкаталоге назначил номер (drdn_hndl). Заполнил возможные значения, назначил таблицу для дриллдауна.
Все как обычно. Все работает.
Но у меня столбец имеет тип CHAR 1, со значениями в домене он создан.
1 - Основной долг, 2 - Платежи и пр.
Мне бы хотелось, чтобы в листбоксе отображались не только ключи, но и значения.
Сейчас я накидал чаровые значения, но только они и выводятся в списке. Конечно, без значения ключа неясно.
Мне бы хотелось (или - или, буду рад любому варианту):
- в листбоксе автоматически разместить все доменные ключи вместе со значениями
- я могу сам набирать ключи и назначать таблицу через set_drop_down_table, но чтобы они отображались со значениями из домена.

Можно конечно сделать второй столбец с конкатенацией ключа и значения, а потом при обработке таблицы брать символ спереди и помещать его в мой целевой столбец, но это маразм. На дворе 21 век!

Помогите, братцы.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод ключа со значением из домена в ALV editable listbox
СообщениеДобавлено: Вс, мар 21 2021, 21:43 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 475
Программа BCALV_EDIT_06

Пример ветки:
https://sapforum.pro/forum/viewtopic.php?f=13&t=41521

Смысл:
в методе SET_DROP_DOWN_TABLE есть параметр IT_DROP_DOWN_ALIAS

через него можно указать
Code:
    ls_dral-handle = '1'.
    ls_dral-int_value = '1'.
    ls_dral-value = '1 - Основной долг'.
    append ls_dral to lt_dral.

    ls_dral-handle = '1'.
    ls_dral-int_value = '2'.
    ls_dral-value = '2 - Платежи'.
    append ls_dral to lt_dral.


g_grid->set_drop_down_table(
      it_drop_down_alias = lt_dral ).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод ключа со значением из домена в ALV editable listbox
СообщениеДобавлено: Пн, мар 22 2021, 11:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
olegbash, спасибо!
я за выходные перепробовал и drop, и dral.
Проблема с dral в том, что значение value создано все же искусственно: в нем ключ воспроизведен как кусок текста.
И дальше начинается самое интересное. После выбора в ячейке хранится уже именно этот длинный кусок текста как единое целое. Это плохо для моей последующей обработки, например, в PAI. Если при этом в филдкаталоге врубить drdn_alias, то после выбора хранится и отображается ключ, но уже без текста. То есть в момент выбора из листбокса человек выбирает значение 11 Платежи, но потом хранится там уже только 11. Если значений много, то их надо заучить, что само по себе нехорошо.
А мне хотелось бы реализовать так, как сделано в стандарте с параметрами визуализации гуя. То есть стоит галка "отображать ключ" - отображается вместе с ключом как при выборе, так и после вставки в поле. При этом обрабатывается именно сам ключ, то есть 11 в моем примере.
Мне пришлось пока сделать так:
1. Считать доменные значения.
2. Пробежаться по ним, динамически сформировать таблицу для дрилдауна через drop, а не через dral. Value сделать конкатенацией ключа и текста доменного значения через пробел.
3. В филдкаталоге настоящее поле сделать техническим, новое псевдополе вывести.
4. В PAI считать введенное значение, забрать ключ до пробела, обновить скрытое поле внутренней таблицы и выполнить нужную обработку.

Чисто визуально это ничем не отличается от настоящего списка с ключами и значениями, но это суррогат)) я это решение оставлю до лучших времен, потом уже оптимизирую.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод ключа со значением из домена в ALV editable listbox
СообщениеДобавлено: Пн, мар 22 2021, 16:47 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
В инете видел решение через CONVERSION EXIT для домена.
Возможно, можно написать функцию не указывая её в домене, но указать в филдкаталоге, в поле CONVEXIT.

UPD. Попробовал. Работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод ключа со значением из домена в ALV editable listbox
СообщениеДобавлено: Пн, мар 22 2021, 17:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
baboon, спасибо.
Всем спасибо за идеи. Тоже буду пробовать.

_________________
Алё, это Пакистан? Нам нужен один килограмм


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

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


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

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


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

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