Текущее время: Ср, июл 23 2025, 01:21

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


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

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


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

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