Текущее время: Чт, июл 31 2025, 17:13

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Ср, июл 22 2009, 20:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, апр 24 2007, 15:56
Сообщения: 1402
Есть экран вот с такой PBO:
Code:
PROCESS BEFORE OUTPUT.
...
  CALL SUBSCREEN subscr INCLUDING gv_prog gv_sub.
  MODULE modify_screen.

Code:
MODULE modify_screen OUTPUT.
    LOOP AT SCREEN.
        screen-input = 0.
        MODIFY SCREEN.
    ENDLOOP.
ENDMODULE.     


Поля на подэкране "subscr" остаются доступными для ввода.
Что делать??


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Ср, июл 22 2009, 21:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Вызвать modify_screen в PBO-логике подэкрана.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 09:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, апр 24 2007, 15:56
Сообщения: 1402
Удав написал(а):
Вызвать modify_screen в PBO-логике подэкрана.

Нет, я не настолько плох :D
Подэкран "не мой", да еще и динамический, - в его PBO я добавить ничего не могу...

На экран динамически подгружаются разные данные, в зависимости от вида документа.
Смысл в следующем - когда документ открывается в режиме просмотра, все поля должны быть закрыты.
...В общем случае, мне нужно модифицировать поля подэкрана в соответствии с логикой главного экрана.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 10:03 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
А в PBO подэкрана есть вызовы каких нибудь методов или подпрограмм?
Можно попробовать использовать inhancement point в одном из них.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 10:04 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Так как сделано у Вас - это работать не будет.
Что значит динамический экран ?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 10:04 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
troy написал(а):
Удав написал(а):
Вызвать modify_screen в PBO-логике подэкрана.

Нет, я не настолько плох :D
Подэкран "не мой", да еще и динамический, - в его PBO я добавить ничего не могу...

На экран динамически подгружаются разные данные, в зависимости от вида документа.
Смысл в следующем - когда документ открывается в режиме просмотра, все поля должны быть закрыты.
...В общем случае, мне нужно модифицировать поля подэкрана в соответствии с логикой главного экрана.

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

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 10:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, апр 24 2007, 15:56
Сообщения: 1402
Марик написал:
А в PBO подэкрана есть вызовы каких нибудь методов или подпрограмм?
Можно попробовать использовать inhancement point в одном из них.

В принципе можно, но это придется делать для каждого подэкрана, который может загружаться на мой главный экран.
Не очень гут, согласитесь... Неужели никак? :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 10:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, апр 24 2007, 15:56
Сообщения: 1402
Lars написал:
Что значит динамический экран ?

Имеется ввиду что подэкраны все время разыне: INCLUDING gv_prog gv_sub.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Чт, июл 23 2009, 11:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
troy написал(а):
В принципе можно, но это придется делать для каждого подэкрана, который может загружаться на мой главный экран.
Не очень гут, согласитесь... Неужели никак? :(

Увы, так работает SCREEN processor...
Вот выдержка из курса BC410:
    The system table SCREEN is initialized at the start of the PBO event for the current screen. To do this, a system program copies the statically defined attributes of the individual screen elements into the table.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LOOP AT SCREEN на подэкране
СообщениеДобавлено: Пт, июл 24 2009, 13:46 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Так по какой причине Вы не можете менять логику этих экранов? Потому что они не Ваши или потому что они динамические?

Просто если эти подэкраны созданы с помощью SELECTION-SCREEN BEGIN OF SCREEN 9000 AS SUBSCREEN, то менять свойства полей надо в AT SELECTION-SCREEN OUTPUT.

_________________
Вежливость - лучшее оружие чайника :-)


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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