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

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


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

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


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

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