Текущее время: Ср, апр 24 2024, 06:01

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


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

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


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

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