SAPфорум.RU
https://sapboard.ru/forum/

Как создать новый список по нажатию F4?
https://sapboard.ru/forum/viewtopic.php?f=13&t=95314
Страница 1 из 5

Автор:  sonics [ Пт, авг 18 2017, 13:05 ]
Заголовок сообщения:  Как создать новый список по нажатию F4?

Подскажите, где посмотреть как создать список для поля по нажатию F4?

Автор:  Кодер [ Пт, авг 18 2017, 13:23 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Что-что создать? F4 - зарезервированная клавиша для вызова search-help.
Если нужно создать search-help - иcпользуйте транзакцию se11, например. Ну или используйте ФМ для формирования окна search-help налету (например F4IF_INT_TABLE_VALUE_REQUEST).

Автор:  sonics [ Пт, авг 18 2017, 13:31 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Кодер написал(а):
Что-что создать? F4 - зарезервированная клавиша для вызова search-help.
Если нужно создать search-help - иcпользуйте транзакцию se11, например. Ну или используйте ФМ для формирования окна search-help налету (например F4IF_INT_TABLE_VALUE_REQUEST).

По факту, есть поле в alv grid Исполнитель, хочу, чтобы по нажатию f4 на этом поле, можно было подгрузить список исполнителей из другой таблицы или создать/дополнить свой.
Такая вот задача.

Автор:  sonics [ Пт, авг 18 2017, 13:41 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Не совсем понимаю, чем мне поможет se11... :(

Автор:  Кодер [ Пт, авг 18 2017, 13:42 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Переопределять поведение F4 - не по фэншую.

Цитата:
одгрузить список исполнителей из другой таблицы

Зачем подгружать? Что бы выбрать из него и подставить выбор в поле? Тогда это именно функция search-help

Создать исполнителя на месте? эм.. Обычно это делается отдельной функцией.

Автор:  Кодер [ Пт, авг 18 2017, 13:44 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

sonics написал(а):
Не совсем понимаю, чем мне поможет se11... :(

В ней можно сделать search-help (средство поиска). Артефакт словаря данных, который позволяет отбирать данные на основе фильтров указнных пользователем

Автор:  LAT [ Пт, авг 18 2017, 18:07 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

sonics написал(а):
Подскажите, где посмотреть как создать список для поля по нажатию F4?
Если для какого-то поля какой-то таблицы уже срабатывает это СП, в филдкаталоге для соответствующего поля надо заполнить ref_table и ref_field и, возможно, f4availabl (не помню, взлетит ли без него).
Если Вы хотите создать свое СП с помощью F4IF_INT_TABLE_VALUE_REQUEST, надо заполнить таблицу типа lvc_s_f4 ( register = 'X', chngeafter = 'X', fieldname = 'нужное_поле'), скормить ее register_f4_for_fields(), создать и зарегистрировать обработчик события f4, в нем вызывать СП и в конце указать САП-у, что СП вызывано: er_event_data->m_event_handled = 'X'.

Автор:  Besa [ Вт, авг 29 2017, 11:27 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

sonics написал(а):
Кодер написал(а):
Что-что создать? F4 - зарезервированная клавиша для вызова search-help.
Если нужно создать search-help - иcпользуйте транзакцию se11, например. Ну или используйте ФМ для формирования окна search-help налету (например F4IF_INT_TABLE_VALUE_REQUEST).

По факту, есть поле в alv grid Исполнитель, хочу, чтобы по нажатию f4 на этом поле, можно было подгрузить список исполнителей из другой таблицы или создать/дополнить свой.
Такая вот задача.

Исходя из того, что Вы написали, у Вас будет основная таблица с ведением справочника (Таб1) и навороченое средство поиска(если его так можно назвать), которое по кнопке будет подгружать (исключительно визуально) записи из другой таблицы(или других таблиц) для возможности выбора, а при необходимости также будет кнопка, которая дает возможность создавать новую запись в таблице (таб1).
На мой взгляд у Вас постановка храмает.
Все это возможно конечно, но все это будет абап, по сути мини программка которая вызывается по F4, то стандартного средства поиска одно название.

Как вариант, создаете справочник, при необходимости мигрируете в него данные из других справочников разделяя записи путем ввода доп атрибута. Генерируете СП к этому справочнику, создаете ракурс ведения, определяете ему место в Zспро для возможности ведения этого справочника. Или если есть возможность все сделать по нормальному через актуальную орг структуру в HR-е.

Автор:  sonics [ Чт, сен 14 2017, 10:44 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Цитата:
Исходя из того, что Вы написали, у Вас будет основная таблица с ведением справочника (Таб1) и навороченое средство поиска(если его так можно назвать), которое по кнопке будет подгружать (исключительно визуально) записи из другой таблицы(или других таблиц) для возможности выбора, а при необходимости также будет кнопка, которая дает возможность создавать новую запись в таблице (таб1).
На мой взгляд у Вас постановка храмает.
Все это возможно конечно, но все это будет абап, по сути мини программка которая вызывается по F4, то стандартного средства поиска одно название.

Как вариант, создаете справочник, при необходимости мигрируете в него данные из других справочников разделяя записи путем ввода доп атрибута. Генерируете СП к этому справочнику, создаете ракурс ведения, определяете ему место в Zспро для возможности ведения этого справочника. Или если есть возможность все сделать по нормальному через актуальную орг структуру в HR-е.

Поле - Поставщики. Подгрузить из Таблицы Поставщики.
Таблица - Поставщики, Столбец - Краткое наименование поставщика. Его и нужно под F4 забиндить.
Чтобы можно было выбрать не набирая вручную.
Постановка достаточно четкая.
Что мне для начала нужно сделать? В чем разобраться ?

Автор:  sonics [ Пт, сен 15 2017, 09:34 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

http://fibed.net/2014/12/14/23-5-ya-programma-v-sap-privyazka-search-help-k-programme/
решил этот вопрос через эту ссылочку

но не понял, как мне выбрать только 4 значения?
к примеру я хочу, чтобы были валюты EUR USD BYN RUB
а не все 100500 в таблице CURR

Автор:  Кодер [ Пт, сен 15 2017, 10:02 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

sonics написал(а):
но не понял, как мне выбрать только 4 значения?

Таблицы CURR не существует. Валюты лежат в таблице TCURC
вариант 1 (простой): сделать ракурс(view) над таблицей TCURC. В условиях отбора перечислить только нужные валюты. Испольовать созданное ср-во поиска
вариант 2 (для вас сложный): в программе вызывать search help вручную с помощью фм F4IF_FIELD_VALUE_REQUEST. В параметрах ФМ указать коллбэк подпрограмму или коллбэк класс. В коллбэке накладывать ограничения на коды валюты

Автор:  sonics [ Пт, сен 15 2017, 11:52 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Кодер написал(а):
Таблицы CURR не существует. Валюты лежат в таблице TCURC
вариант 1 (простой): сделать ракурс(view) над таблицей TCURC. В условиях отбора перечислить только нужные валюты. Испольовать созданное ср-во поиска
вариант 2 (для вас сложный): в программе вызывать search help вручную с помощью фм F4IF_FIELD_VALUE_REQUEST. В параметрах ФМ указать коллбэк подпрограмму или коллбэк класс. В коллбэке накладывать ограничения на коды валюты

Извините, с таблицей ошибся.
Да, вы правы, второй вариант для меня пока что будет достаточно сложный.
Попробую реализовать первый. Спасибо за помощь!

Автор:  sonics [ Пн, сен 18 2017, 13:49 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Поясните пожалуйста как выбрать валюты нужные?
Ракурс сделал. В условия выбора вошел. В таблицу написал TCURC в Имя поля WAERS дальше нужно Оператор = и Значение RUB ?
И так 4 раза сделать только выбрать нужные валюты?

Автор:  Kuranov.Dmitry [ Пн, сен 18 2017, 14:02 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

sonics написал(а):
Поясните пожалуйста как выбрать валюты нужные?
Ракурс сделал. В условия выбора вошел. В таблицу написал TCURC в Имя поля WAERS дальше нужно Оператор = и Значение RUB ?
И так 4 раза сделать только выбрать нужные валюты?

Поля ракурса
Code:
ПолеРакурс  Таблица  Поле
-----------------------------------   
MANDT      TCURC   MANDT
WAERS      TCURC   WAERS
LTEXT      TCURC   ISOCD


условия:

Code:
Условия выбора имя поля оператор Значение    и/Или
--------------------------------------------------------------------------
TCURC   ISOCD   EQ   'RUB'   OR
TCURC   ISOCD   EQ   'EUR'   OR
TCURC   ISOCD   EQ   'KZT'

Автор:  sonics [ Пн, сен 18 2017, 14:12 ]
Заголовок сообщения:  Re: Как создать новый список по нажатию F4?

Kuranov.Dmitry - спасибо за подробную помощь!

Страница 1 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/