Текущее время: Пн, июл 21 2025, 17:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: ALE. Репликация HRMD_A между SAP системами. Передача пустых полей сегмента Z1Q*
СообщениеДобавлено: Пт, июл 20 2012, 16:24 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
Здравствуйте! Столкнулся с такой проблемой. Передаётся Z1Q0022 сегмент из одной SAP системы в другую. Тип сообщения HRMD_A. Тип собщения расширен данным сегментовм в одной и в другой системе, структура естественно совпадает. При передаче данных данные съезжают из-за отсутствия пустых полей. Поясню на примере:

Система источник (содержимое полей сегмента Z1Q0022):

Code:
PERNR                01800012
INFTY                0022
SUBTY                18
OBJPS
SPRPS
ENDDA                20110630
BEGDA                20070901
SEQNR                000
ZZ_KVALIF            менеджер
ZZ_KVALIF2
ZZ_SPECIALIZAT       менеджмент организации

Я смотрю исходящий iDoc в we05 и вижу что там всё заполнилось верно, единственное в списке полей отсутствуют поля OBJPS, SPRPS, ZZ_KVALIF2 т.к. они пустые. При попытке открыть iDoc через we19 вижу что он корректен, поля которые должны быть пустыми - пустые, которые должны быть заполненными - заполнены. Значит exit на стороне системы отправителя отработал корректно, сформировался корректный iDoc и отправился в систему получателя.

Но при передаче получается как-буд то пустые поля игнорируются. Вот что я получаю в результате на входе ситсемы №2:
Система приёмник (содержимое полей сегмента Z1Q0022):

Code:
PERNR                01800012                                       
INFTY                0022                                           
SUBTY                18     2                                       
OBJPS                0140                                           
SPRPS                63                                             
ENDDA                02009010                                       
BEGDA                1000инже                                       
SEQNR                нер сист                                       
ZZ_KVALIF            емотехник                                       
ZZ_KVALIF2                                 
ZZ_SPECIALIZAT                             


Некорректно обработал входящий iDoc несмотря на то, что сегменты совпадают один в один. Похоже надо что-то докрутить на стороне получателя, но что я не знаю. Может кто-нибудь сталкивался с такой проблемой?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALE. Репликация HRMD_A между SAP системами. Передача пустых полей сегмента Z1Q*
СообщениеДобавлено: Пт, июл 20 2012, 16:33 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
Разобрался :)
Перепроверил сегменты в we31, оказалось почему-то длинна некоторых полей в системе получателе отличалась от длинны в системе отправителе, несмотря на то что тип данных был указан одинаковый. Из-за этого всё съехало. Видимо кто-то руками правил длинну в этом сегменте на стороне системы получателя (там этот сегмент уже существовал). Так что я просто удалил длинну, нажал энтер, подставилась правильная длинна из типа данных и всё перенеслось один в один. Проблема оказалась банальной и простой.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALE. Репликация HRMD_A между SAP системами. Передача пустых полей сегмента Z1Q*
СообщениеДобавлено: Пт, июл 20 2012, 16:38 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
Теперь следующая проблема. iDoc пришёл корректно, но данные из Z1Q0022 сегмента в PA0022 не попали и соответственно в PA20 они так же не видны. При этом из E1P0022 всё перенеслось. Похоже надо всё-таки какую-то обработку писать на стороне системы получателя..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALE. Репликация HRMD_A между SAP системами. Передача пустых полей сегмента Z1Q*
СообщениеДобавлено: Пт, июл 20 2012, 16:55 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
Разобрался :)
Для передачи Z1QXXXX сегмента на стороне системы получателя необходимо создать ФМ CONVERT_E1PXXXX_TO_PXXXX который преобразует данные из формата sdata и sdata2 пришедшего с iDoc-ом, в формат нормальной структуры инфотипа pXXXX.
Таким образом создание ФМа CONVERT_E1P0022_TO_P0022 по аналогии с CONVERT_E1P0028_TO_P0028 решило проблему.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALE. Репликация HRMD_A между SAP системами. Передача пустых полей сегмента Z1Q*
СообщениеДобавлено: Пт, июл 20 2012, 17:18 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
вот и поговорил сам с собой :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALE. Репликация HRMD_A между SAP системами. Передача пустых полей сегмента Z1Q*
СообщениеДобавлено: Сб, июл 21 2012, 17:24 
Специалист
Специалист

Зарегистрирован:
Ср, дек 27 2006, 19:19
Сообщения: 230
printfalex написал(а):
вот и поговорил сам с собой :)

бывает :)
кому-нибудь потом тоже опыт пригодится


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

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


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

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


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

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