Текущее время: Чт, дек 11 2025, 02:01

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


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

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


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

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