Текущее время: Пт, июн 27 2025, 06:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: WebDynpro:Обмен данными между компонентами через Context
СообщениеДобавлено: Чт, окт 11 2012, 14:51 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 11 2012, 14:45
Сообщения: 1
Добрый день, коллеги.

Дано:
Компонент А и компонент Б. Компонент А вызывает компонент Б.

Нужно:
Задать данные контекста Б. Вызвать view компонеты Б в отдельном окне.

Решение:
Я так понимаю, что существует 2 решения.
1) Мы задаем у компоненты Б, метод помеченный как интерфейсный, и уже в этом методе,
через параметры устанавливаем значение контекста Б.

2) Мы создаем атрибут в контексте метода Б, помеченный как интерфейсный и доступный для внешнего ввода.
Объявляем использование компоненты Б в А. Перетаскиваем контекст Б в А. Во вьюхе по нажатию, делаем метод,
который и устанавливает контекст. Далее как-то вызываем окно.

Вопросы, на которые очень хочется услышать ответы при много уважаемого сообщества.
1)Правильно ли я понимаю, что лучше делать обмен данными 2х компонент через метод интерфейса, а не через контекст?
2)Как по шагам реализовать метод 2?.
Я объявил компоненту Б в А, перетащил ее контекст(Б) во вьюху и попытался установить атрибут контекста Б, который как интерфейсный, в методе А.
Задать пытался через визард. Получил дамп, подебажил и увидел, что он не может получить ссылку на контекст Б(или что-то типа такого).
В общем я что-то упускаю, но не могу понять что.
Подскажите, пожалуйста, по шагам, как это сделать? Т.е. пожалуйста, прямо по шагам, типа кликаем на компонент контроллер А, там вызываем контроллер Б и т.д.
3) Правильно ли я понимаю, что после того, как у меня получился пункт 2, я могу вызвать вьюху компоненты Б через визард, и если там используются данные контекста, они будут успешно отображены?

Не думайте, что мне лень самому это делать. Я прочел Web Dynpro for ABAP: Tutorial 6 и NET310, но не как не могу понять, где у меня ошибка. Буду очень благодарен за любые подсказки.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: WebDynpro:Обмен данными между компонентами через Context
СообщениеДобавлено: Чт, окт 11 2012, 23:50 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Первое, ИМХО, конечно лучше... Только надо идти еще дальше. И передавать из компонента в компонент ссылки на классы, которые с одной стороны будут общаться между собой и обмениваться данными без привязки к компонентам (обеспечивая тем самым корректную работу и без WebDynpro), с другой - работать с контеском компонент (работая как MAPPER-классы).

Второй метод не всегда конкретно работает - проверено на опыте.
Схема работает примерно так:
View(1)<->Component(1)<->Component(2)<->View(2). Т.е. получаются три независимые связки. У меня не всегда получалось при обновлении контекста View(1) получить те же дынне во View(2). По крайней мере не сразу. Такое оцущение, что данные как-то буфферизуются и переносятся не сразу.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebDynpro:Обмен данными между компонентами через Context
СообщениеДобавлено: Пт, окт 12 2012, 16:22 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
вообще не понятно зачем городить еще один класс для меппинга контекста в другой компонент, если есть интерфейс контроллер, его контекст который для того и существует чтобы меппить свой контекст на другой элемент. Видимо автор поста добавил использование компонента а использование интерфейс контроллера компонента нет - потому и дамп при связывании. К тому же если глючит именно связка ее можно сделать программно в методе инициализации контроллера
целевого контекста. Вообще методы "общения" компонентов описаны в NET311


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebDynpro:Обмен данными между компонентами через Context
СообщениеДобавлено: Пт, окт 12 2012, 23:51 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
dump написал(а):
вообще не понятно зачем городить еще один класс для меппинга контекста в другой компонент

Вы меня неправильно поняли. Есть смысл городить класс который меппит контекст в Object-Layer, который независит от WebDynpro. Посмотрите, как это делает SAP.
http://sapboard.ru/forum/viewtopic.php?f=13&t=74552


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

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


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

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


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

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