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

Помощь с Selection-screen
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96444
Страница 1 из 1

Автор:  exotik [ Пн, май 28 2018, 14:08 ]
Заголовок сообщения:  Помощь с Selection-screen

Добрый день!
Необходимо при выборе параметра на селекционном экрана выводилось его полное имя. К примеру, выбирает параметр XXX - справа выводиться текст "параметр ХХХ".

Автор:  Bimit [ Пн, май 28 2018, 14:15 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Да вроде самое простое "Перейти к->Текстовые элементы->Тексты критериев выбора" :)

Автор:  Kuranov.Dmitry [ Пн, май 28 2018, 14:16 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Code:
"Нарисуем экран выбора
"блок означает, что все параметры в одну строку надо выводить
SELECTION-SCREEN BEGIN OF LINE.
" название параметра будет лежать в тексте-001
  SELECTION-SCREEN COMMENT 1(10)  text-001 .
"Затем будет сам параметр p_param
  PARAMETERS p_param(20).
"Тут выведем название выбранного значения
  PARAMETERS t_text(30) .
SELECTION-SCREEN END OF LINE.

"При отрисовке экрана установим параметры вывода поля с названием выбранного параметра
AT SELECTION-SCREEN OUTPUT.
"Перебираем поля экрана
  LOOP AT SCREEN.
   "нашли параметр T_TEXT
    IF screen-name = 'T_TEXT'.
     "Убираем рамку у поля, чтобы выглядело как обычная метка
      screen-DISPLAY_3D = 0.
    " запрещаем ввод
      screen-input = 0.
      MODIFY SCREEN.   
   ENDIF.
  ENDLOOP.


AT SELECTION-SCREEN.
"при обработке PAI селекционника заполняем T_TEXT

  CONCATENATE 'Вы ввели:' p_param INTO t_text.


end-of-SELECTION.

Автор:  exotik [ Пн, май 28 2018, 14:58 ]
Заголовок сообщения:  Re: Помощь с Selection-screen  Тема решена

Kuranov.Dmitry написал(а):
Code:
"Нарисуем экран выбора
"блок означает, что все параметры в одну строку надо выводить
SELECTION-SCREEN BEGIN OF LINE.
" название параметра будет лежать в тексте-001
  SELECTION-SCREEN COMMENT 1(10)  text-001 .
"Затем будет сам параметр p_param
  PARAMETERS p_param(20).
"Тут выведем название выбранного значения
  PARAMETERS t_text(30) .
SELECTION-SCREEN END OF LINE.

"При отрисовке экрана установим параметры вывода поля с названием выбранного параметра
AT SELECTION-SCREEN OUTPUT.
"Перебираем поля экрана
  LOOP AT SCREEN.
   "нашли параметр T_TEXT
    IF screen-name = 'T_TEXT'.
     "Убираем рамку у поля, чтобы выглядело как обычная метка
      screen-DISPLAY_3D = 0.
    " запрещаем ввод
      screen-input = 0.
      MODIFY SCREEN.   
   ENDIF.
  ENDLOOP.


AT SELECTION-SCREEN.
"при обработке PAI селекционника заполняем T_TEXT

  CONCATENATE 'Вы ввели:' p_param INTO t_text.


end-of-SELECTION.


Спасибо!!!
А есть возможность добавления нижнего подчеркивания?

Автор:  Kuranov.Dmitry [ Пн, май 28 2018, 15:12 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

exotik написал(а):

Спасибо!!!
А есть возможность добавления нижнего подчеркивания?

в смысле сделать подчеркнутый шрифт? насколько я знаю нет.
можно горизонтальную линию сделать, SELECTION-SCREEN ULINE, но не уверен, что это то что вам нужно.

Можно синим сделать

Автор:  exotik [ Пн, май 28 2018, 16:46 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Kuranov.Dmitry написал(а):
exotik написал(а):

Спасибо!!!
А есть возможность добавления нижнего подчеркивания?

в смысле сделать подчеркнутый шрифт? насколько я знаю нет.
можно горизонтальную линию сделать, SELECTION-SCREEN ULINE, но не уверен, что это то что вам нужно.

Можно синим сделать


Имел ввиду SELECTION-SCREEN COMMENT ... FOR FIELD ....

Автор:  Kuranov.Dmitry [ Пн, май 28 2018, 17:22 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Code:
SELECTION-SCREEN BEGIN OF LINE.
" название параметра будет лежать в тексте-001
  SELECTION-SCREEN COMMENT 1(11)  text-001 for  FIELD P_PARAM .
"Затем будет сам параметр p_param
  PARAMETERS p_param(20).
  SELECTION-SCREEN COMMENT 35(5)  text-002 FOR FIELD t_text.
"Тут выведем название выбранного значения
  PARAMETERS t_text(30) .
SELECTION-SCREEN END OF LINE.


так что-ли?

Автор:  Serge69 [ Ср, май 30 2018, 05:26 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Code:
PARAMETER p_bukrs LIKE t001-bukrs OBLIGATORY MEMORY ID buk.
SELECTION-SCREEN COMMENT 45(25) gf_name FOR FIELD p_bukrs VISIBLE LENGTH 25 MODIF ID md1.

AT SELECTION-SCREEN OUTPUT.
  SELECT SINGLE butxt INTO gf_name FROM t001 WHERE bukrs = p_bukrs.
  IF sy-subrc <> 0.
    CLEAR gf_name.
  ENDIF.
  LOOP AT SCREEN.
    IF screen-group1 = 'MD1'.
      screen-intensified = '1'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

Автор:  Kuranov.Dmitry [ Ср, май 30 2018, 09:34 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Не знал, что в комментарий можно переменную запихать, так будет короче даже. спасибо

Автор:  RikoNw [ Чт, сен 06 2018, 11:59 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

А не знаете случайно как подавить этот OBLIGATORY MEMORY ID buk ?
Зашел в стандартную транзакцию, ввел в поле значение БЕ (buk), вышел, зашел в другую, даже z-ную транзакцию, а там это значение за меня система уже ввела, это благо конечно, но это мешает.
Спасибо!

Автор:  UKY [ Пт, сен 07 2018, 09:18 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

Нужно просто убрать "MEMORY ID buk" и тогда БЕ не будет автоматически проставляться.

Автор:  Besa [ Пт, сен 07 2018, 09:23 ]
Заголовок сообщения:  Re: Помощь с Selection-screen

RikoNw написал:
А не знаете случайно как подавить этот OBLIGATORY MEMORY ID buk ?
Зашел в стандартную транзакцию, ввел в поле значение БЕ (buk), вышел, зашел в другую, даже z-ную транзакцию, а там это значение за меня система уже ввела, это благо конечно, но это мешает.
Спасибо!

Создать вариант запуска программы, при этом у поля БЕ указать опцию "Отключить GPA"(само поле на экране конечно должно быть пустое), далее можно например создать транзакцию с запуском варианта, в таком случае селективный экран будет запускаться всегда с пустым полем БЕ, даже если у него указано дополнение MEMORY ID buk и SET/GET parameter BUK будет не пустой в памяти.

Ну и понятно если это допустимо, то просто В Z транзакции убрать у поля MEMORY ID или дописать DEFAULT и присвоить какое-то постоянное значение(возможно и не существующее)

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