Текущее время: Сб, июл 19 2025, 22:19

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: ПРо экран
СообщениеДобавлено: Пт, ноя 10 2006, 14:52 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
К примеру есть стандартное средство поиска, в результате работы которого появляется экран с таблицей значений.
Как создать подобный экран??
Делал модальный экран, но его размеры не изменяются (мышью). а как сделать чтоб изменялись?
(на моем экране данные выводятся в алв-грид)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 10 2006, 15:59 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Сделай свой SH и навесь его на поле на базе которого строиться ALV


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 10 2006, 16:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 25 2005, 15:06
Сообщения: 143
Посмотри ФМ F4IF_INT_TABLE_VALUE_REQUEST


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 10 2006, 16:21 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
По моему меня не так поняли:
мое средство поиска:
метод выбора ракурс
ПользСрПоиска - мой ФМ.
сделал функц. группу (в которую входит ФМ). экран там же. и стандартную выборку из ракурса (callcontrol-step = 'DISP') и вывожу в алв на своем экране.
В идеале хотелось бы чтоб размер формы адаптировался под размер выводимой таблицы, но устроило бы если пользователю можно было бы изменять размер экрана.
Экран вывожу
CALL screen 2000 starting ar 1 1.

p.s. присуствие alv обязательно


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 10 2006, 20:42 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
см cl_gui_dialogbox_container


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 13 2006, 10:56 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Спасибо Boger'у да это то что мне нужно, но возникла еще одна загвоздка: создание объекта происходит в подпрограмме (пусть Form display)? ее я вызываю из ФМ:

Code:
FUNCTION  ...
*действия
perform display.


* действия
ENDFUNCTION.

так вот получается что сначала выполняется весь ФМ и только потом вызывается диалоговое окно, несмотря на то что вызов стоит среди кода.
В чем дело? как сделать чтоб выполнение ФМ приостановилось , а продолжилось после закрытия диалогового окна???

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

Code:
FUNCTION  ...
*действия
CALL screen 2000 STARTING AT 1 1.

* действия
ENDFUNCTION.




, но некрасиво когда висит пустой экран.


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

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
имхо никак не приостановить.
Есть событие on_close - в нем надо делать всю логику после вывода, см фм SHOW_TABLE_BY_TEXTEDIT.
А вообще никогда не наблюдал маленькое окошечко слева от стандартного средства поиска? ;) Оно не всегда видно, но время от времени проскакивает. Теперь я понял что это такое и зачем нужно ;))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 13 2006, 12:34 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
только я в момент закрытия делаю set screen 0.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 13 2006, 13:06 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Boger написал(а):
имхо никак не приостановить.

А если попробовать CL_GUI_CFW=>FLUSH?

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 13 2006, 14:39 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Цитата:
А если попробовать CL_GUI_CFW=>FLUSH?

И что с ним делать??? Вообще нигде не нашел хорошего описания. ЧТо вообще делает flush?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 13 2006, 23:46 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
bossjohn написал(а):
Цитата:
А если попробовать CL_GUI_CFW=>FLUSH?

И что с ним делать??? Вообще нигде не нашел хорошего описания. ЧТо вообще делает flush?

Могу и ошибаться, но если я правильно понял исходный код cl_gui_dialogbox_container, он юзает Frontend компонент, с которым общается посредством OLE.

Связь между Aplication Server и OLE компонентом на Frontend'е осуществяется с использованием очереди Automation.
Т.е. вызовы буферизуются и потом скопом посылаются на Frontend
Flush собственно и заставляет очередь выполниться.
Подробнее SAP Enjoy controls - кажется BC412.

Самому попробовать не удалось.
Напиши, что получилось, плз.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 11:05 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Значит делал так:
в ФМ вызывал подпрограмму display.
в которой последовательно создавался контейнер, создавался алв грид,
CALL METHOD gr_alvgrid->set_table_for_first_display (или refresh_table_display) и после этого ставил
CALL METHOD cl_gui_cfw=>flush( )..
Эффекта никакого.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 23 2006, 11:09 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
А такой вопрос 6
как сделать чтоб окно раскрывалось на весь экран. Какой метод вызвать?
Есть мысль что надо воспользоваться SET_WINDOW_PROPERTY но не нашел подходящих параметров.


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

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


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

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


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

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