Текущее время: Пн, июн 30 2025, 09:55

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


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

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


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

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