Текущее время: Пт, авг 01 2025, 14:31

Часовой пояс: 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 часа


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

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


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

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