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

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


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

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


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

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