Текущее время: Сб, июл 05 2025, 04:38

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Подскажите BAPI
СообщениеДобавлено: Ср, янв 14 2015, 16:24 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Приветствую, соседи!

Подскажите, есть ли в SAP BAPI-шку для поиска IDOC. Это нужно, чтобы внешняя система, передающая в САП данные для создания IDOC, знала состояние переданного документа.
Фактически нужно найти IDOC по некоему полю и вернуть статус и текст ошибки, если есть.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Ср, янв 14 2015, 17:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
по полю врядли найдёте просто так, данные сегментов хранятся в виде bytestring (LRAW)
в табл edid4, но если есть номер idoc, то можно вызвать rfc модуль EDI_DOCUMENT_STATUS_DISPLAY


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Ср, янв 14 2015, 17:25 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Я правильно понял, что легче сделать самим:

так как внешняя система не знает номер IDOC, то нужно его найти по имеющейся информации: например по номеру накладной.

1) искать в EDIDС документы по дате CREDAT+CRETIM, направлению DIRECT=2 и типу MESTYP+IDOCTP (там же есть статус STATUS, который можно вернуть, если нет ошибки)
2) в EDID4 искать в поле SDATA для выбранных в шаге 1 нужное значение и имени SEGNAM
3) по найденному номеру IDOC искать в EDIDS запись с наибольшим COUNTR и вернуть STATUS и STATXT


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Ср, янв 14 2015, 18:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
можно в 2 местах, чтобы не ковырять edid4
- когда idoc залетает записать ид. в z таблицу (docnum, ид.)
- написать rfc модуль который вытаскивает статус docnum по ид. из z табл.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Ср, янв 14 2015, 22:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
doleynikov написал(а):
Это нужно, чтобы внешняя система, передающая в САП данные для создания IDOC, знала состояние переданного документа.

Обычно для этого используется обратный IDOC со статусом операции. Передавать IDOC в SAP, а затем использовать RFC для проверки статуса нелогично.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Чт, янв 15 2015, 08:34 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
:cry:


Последний раз редактировалось doleynikov Чт, янв 15 2015, 09:14, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Чт, янв 15 2015, 09:11 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Удав написал(а):
для этого используется обратный IDOC

Спасибо. Я читал про это, но моего разумения не хватает, чтобы понять, есть ли механизм, чтобы настроить автоматическую передачу ALEAUD в ответ на IDOC без написания своего кода? Как это сделать? и как быть, если IDOC "проводится" не сразу, а по расписанию, например дважды в сутки независимо от времени его прихода в систему? и еще вот что: передающая система не знает номера IDOC, который присвоен в ERP. Как сопоставить передаваемый документ и ответ? Хорошо, если в текстовом сообщении будет передан нужный идентификатор, например номер накладной.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Чт, янв 15 2015, 09:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
doleynikov написал(а):
есть ли механизм, чтобы настроить автоматическую передачу ALEAUD в ответ на IDOC без написания своего кода?

А вызов BAPI - это не свой код? Поверьте, это не так сложно. ;)
doleynikov написал(а):
передающая система не знает номера IDOC, который присвоен в ERP.

И не нужно. При передаче IDOC должен передаваться идентификатор документа из внешней системы.
В обратном IDOC используете его. И формировать его можно несколькими способами:
1. Расширить стандартный модуль обработки
2. Создать свой модуль обработки с последовательным вызовом стандартной обработки и отправки результата.
3. Вызвать отправку IDOC при сохранении документа. Но при этом естественно придется просматривать входящие IDOC в EDID*

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Пт, янв 16 2015, 08:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
а внешняя система sap или не sap, может есть смысл через pi если есть?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Пт, янв 16 2015, 09:15 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
PI есть, но хочется универсальный механизм.
В принципе, ALEAUD устраивает, если удастся настроить. Там система должна отправлять ответ просто по обратному адресу из IDOC.
Другое дело, что хотелось бы через SOAP отправлять IDOC и точно знать, пришел он в целевую систему или нет. А уж во вторую очередь статус обработки (ошибка-неошибка)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Пт, янв 16 2015, 13:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
даже в single stack pi есть idoc адаптеры и aleaud можно прокинуть куда угодно


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите BAPI
СообщениеДобавлено: Пт, янв 16 2015, 15:17 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
что-то не получается отправить IDOC ALEAUD на SOAP канал, который используется внешней системой для приема данных.


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

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


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

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


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

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