Текущее время: Ср, июл 23 2025, 07:38

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по графическому экрану ABAP
СообщениеДобавлено: Пт, июл 11 2008, 15:46 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2008, 13:12
Сообщения: 4
Господа, подскажите плиз. Есть графический экран. На нем несколько полей ввода. Есть обязательное для воода поле, которое может принимать строго одно значение из фиксированного набора, допустим (1, 2 или 3). Как сделать так, чтобы другое поле на этом экране становилось активным только в случае выбора какого-то определенного значения первого поля, например 2? Во всех остальных случаях было задизэйблено.
Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по графическому экрану ABAP
СообщениеДобавлено: Пт, июл 11 2008, 15:56 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
boban написал(а):
Господа, подскажите плиз. Есть графический экран. На нем несколько полей ввода. Есть обязательное для воода поле, которое может принимать строго одно значение из фиксированного набора, допустим (1, 2 или 3). Как сделать так, чтобы другое поле на этом экране становилось активным только в случае выбора какого-то определенного значения первого поля, например 2? Во всех остальных случаях было задизэйблено.
Заранее спасибо.

в PBO-логике вручную проверять значение поля с фиксир. знач. на знчание 2. Если совпадает, делать

Code:
LOOP AT SCREEN.
IF SCREEN-NAME = 'FIELD2' OR SCREEN-NAME = 'FIELD3'..
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.


еще лучше в PAI прописать код


Code:
FIELD field1 MODULE field1_rq ON REQUEST.


в модуле field1_rq проверку первого поля и ставить какой-нить флаг, чтобы потом в PBO проверять флаг и открывать поля для ввода.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 11 2008, 16:14 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2008, 13:12
Сообщения: 4
Насколько я понимаю, PAI-логика работать начинает, когда я нажимаю на кнопку выполнить. А так чтоб до процесса выполнения нельзя? Выбрал 2 -> стало доступным для ввода. Выбрал что-то другое -> задизэйблилось. Аналогично как JavaScrpt без перезагрузки страницы работает


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 11 2008, 16:16 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Можно. Оформите первое поле в виде листбокса.
Цитата:
To make an input/output field into a listbox, you must set the value L or LISTBOX in the Dropdown attribute in the Screen Painter. The visLg attribute determines the output width of the list box and the field. You can assign a function code to a listbox field. In this case, the PAI event is triggered immediately when the user chooses a value from the list, and the function code is placed in the SY-UCOMM and OK_CODE fields. If you do not assign a function code, the PAI event must be triggered in the usual way, that is, when the user chooses a pushbutton or an element from the GUI status.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 11 2008, 16:30 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
boban написал(а):
Насколько я понимаю, PAI-логика работать начинает, когда я нажимаю на кнопку выполнить. А так чтоб до процесса выполнения нельзя? Выбрал 2 -> стало доступным для ввода. Выбрал что-то другое -> задизэйблилось. Аналогично как JavaScrpt без перезагрузки страницы работает


Не обязательно на выполнить. Энтер по ячейке ввода вызовет проваливание в PAI.

Можете вторым советом воспользоваться, оно тоже ПАИ вызовет, только не забудьте на ListBox назначить код функции.
У вас фикс. значения из домена берутся?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 11 2008, 16:35 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2008, 13:12
Сообщения: 4
toAval: Спасибо, буду ппробовать.
toArt386: Да, из домена


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 11 2008, 16:37 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
boban написал(а):
toAval: Спасибо, буду ппробовать.
toArt386: Да, из домена

это так, вопрос из интереса :)
а вобще - никаких проблем, делайте листбокс, остальное - как я советовал.
про код функции не забудьте :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 11 2008, 16:46 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
boban написал(а):
Насколько я понимаю, PAI-логика работать начинает, когда я нажимаю на кнопку выполнить. А так чтоб до процесса выполнения нельзя? Выбрал 2 -> стало доступным для ввода. Выбрал что-то другое -> задизэйблилось. Аналогично как JavaScrpt без перезагрузки страницы работает

Добавлю: экран низя изменить без захода в PBO-логику, так уж система устроена. Код функции нужен именно, чтобы свалиться в PAI, а затем в PBO. НО! листбокс удобен тем, что при назначении кода ф. вызовет PAI без лишних телодвижений. А по обычному полю надо будет еще Энтер нажать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 14 2008, 11:55 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2008, 13:12
Сообщения: 4
Всем спасибо! Получилось! :D


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

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


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

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


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

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