Текущее время: Чт, апр 18 2024, 15:22

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: функция removeContexts()
СообщениеДобавлено: Пн, мар 18 2013, 08:42 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Уважаемые гуру,
объясните, пожалуйста, зачем используется данная функция. Можно с примером. Как есть с функцией removeContexts() и как было бы без нее.
не могу найти вразумительного объяснения.
ну например: надо смаппить некий документ

ДОК1 1..1
....ГОЛОВА 0..unbounded
........Podrazdelenie string
............Line 0..unbounded
................param1 string
................param2 string

в другой документ

ДОК2 1..1
....DATA 1..1
........item 1..unbounded rfc:XXXXXXXXXXX
............podrazdelenie string
............param1 string
............param2 string

Помогите понять, как это работает?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Пн, мар 18 2013, 09:27 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 25 2012, 13:14
Сообщения: 94
Пол: Мужской
Context change occurs when there is a change in hiearchy. For example:

<item>
....<cost>100</cost>
</item>
<item>
....<cost>200</cost>
</item>

for cost, it will translate to:
start
100
-context change-
200
end

there are 2 contexts in the above.

SUM will act only on 1 context. Therefore, it must be:
start
100
200
end

This is why the context change must be removed.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Ср, мар 20 2013, 13:26 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
chizz написал:
Context change occurs when there is a change in hiearchy. For example:
...
This is why the context change must be removed.

если честно - не понял. почитал в инете - тоже просветление не пришло.
для чего при получении поля результата у поля параметра удаляют контекст?
зачем иногда после этой функции еще и SplitByValue используют?

вот пример: как сделать из первой структуры вторую?
Code:
<home>
  <address>666, Elm street</address>
  <flat>
    <number>1</number>
    <person>Mike</person>
    <person>Molly</person>
  </flat>
  <flat>
    <number>2</number>
    <person>Don</person>
    <person>Terry</person>
  </flat>
  <flat>
    <number>3</number>
    <person>John</person>
  </flat>
</home>

++++++++++++++++++++++++++++++++++


<taxpayer>
   <address>666, Elm street</address>
   <flat>1</flat>
   <person>Mike</person>
</taxpayer>
<taxpayer>
   <address>666, Elm street</address>
   <flat>1</flat>
   <person>Molly</person>
</taxpayer>
<taxpayer>
   <address>666, Elm street</address>
   <flat>2</flat>
   <person>Don</person>
</taxpayer>
<taxpayer>
   <address>666, Elm street</address>
   <flat>2</flat>
   <person>Terry</person>
</taxpayer>
<taxpayer>
   <address>666, Elm street</address>
   <flat>3</flat>
   <person>John</person>
</taxpayer>



Последний раз редактировалось doleynikov Ср, мар 20 2013, 15:32, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Ср, мар 20 2013, 14:49 
Директор
Директор

Зарегистрирован:
Вт, июл 18 2006, 17:44
Сообщения: 1001
Откуда: что и все
Пол: Мужской
читай про графические меппинги в курсе, на контекстах там половина функционала. Это вкратце область видимости и способ немного управлять навигацией по дереву.

_________________
Telegram-chat: PO, CPI-PI, java, groovy


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Ср, мар 20 2013, 15:32 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
а какой курс, подскажите пожалуйста?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Ср, мар 20 2013, 16:24 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 25 2012, 13:14
Сообщения: 94
Пол: Мужской
Пример маппинга:

Тегов <taxplayer> столько, сколько person.

Поэтому мы удаляем контекст у person и маппим их в taxplayer.
Либо можно просто повысить контекст у person до home и будет то же самое.

Изображение

Чтобы смаппить адрес в несколько <taxplayer> используем useOneAsMany + SplitByValue
Изображение
Вот хороший пример с объяснениями http://help.sap.com/saphelp_nw04/helpda ... ontent.htm

person просто маппится по одному ( сначала разбиваем контекст, либо меняем контекст у person, потом
добавляем контекст после каждого person, чтобы правильно вставлялось в taxplayer).
Изображение

Flat маппим почти как адрес, только у person контекст указываем не home, а flat (ну он по умолчанию).
Изображение

Вот что получается в итоге:
Изображение


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()  Тема решена
СообщениеДобавлено: Ср, мар 20 2013, 16:31 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 25 2012, 13:14
Сообщения: 94
Пол: Мужской
doleynikov написал(а):
а какой курс, подскажите пожалуйста?


BIT 460 вроде


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Ср, мар 20 2013, 16:55 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Еще вопрос вдогонку: у меня есть рабочий мапинг, настроенный спецами до меня. там taxpayer действительно получают из person удалением контекста. Но вот адрес просто мапится в тело taxpayer через removecontexts+splitbyvalue[each value]. там нет ни одной функции useoneasmany. как такое возможно?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: функция removeContexts()
СообщениеДобавлено: Чт, мар 21 2013, 09:26 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 25 2012, 13:14
Сообщения: 94
Пол: Мужской
Значит можно и без useOneAsMany.


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

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


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

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


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

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