Мое требование следующее:
Я показываю записи в сетке alv (CL_GUI_ALV_GRID), где пользователь может добавлять новые.
У меня есть ключевое поле MATNR, которое отключено для существующих записей. Этому действительно не нужно иметь работающий значок F4 SH. У него должна быть точка доступа.
Когда пользователь решает добавить новую запись, я хочу разрешить F4, сделать поле точкой доступа и включить ее.
Однако оказывается, что ни объединение стилей ячеек 1-4 не работает (по-видимому, нет объединения их исходных кодов, приводящего к множественному стилю), ни fieldcat-f4available = abap_true не работает вместе с fieldcat-hotspot = abap_true.
Я должен признать, что я не часто сталкиваюсь с такими требованиями ... поэтому я спрашиваю здесь, знает ли кто-нибудь способ (предпочтительна лучшая практика).
До сих пор я устанавливал стили ячеек в зависимости от содержимого строки, а fieldcat настраивался более или менее статически.
Итак, в fieldcat настроен F4, а в стиле вкладки ячеек - MC_HOTSPOT. Однако это также запрещает ввод значений вручную. Работает только переназначение значения F4.