Приведите 'IDOCTYPE_READ_COMPLETE' к 'RfcRepository' [.Net Connector 3]
Я работаю над приложением C# для одного из наших клиентов. Мы уже определили некоторые структуры IDOC. Все характеристики приведены в листе Excel.
Таким образом, вопрос заключается в следующем: можно ли получить всю структуру IDOC из функции 'IDOCTYPE_READ_COMPLETE' и как-то проанализировать / загрузить ее в объект 'RfcStructureMetadata'?
Дополнительная информация: мне разрешено отправлять IDOC на сервер ABAB только с помощью функции 'IDOC_INBOUND_ASYNCHRONOUS'> таблицы 'IDOC_DATA_REC_40'> поля 'SDATA'. Но я не могу создать какую-либо структуру, поскольку у меня еще нет метаданных.
Надеюсь, имеет смысл, спасибо в совет
2 ответа
Нет простого / сложного способа добиться этого с помощью коннектора SAP NCO 3. Являются ли задачи, если кто-то хочет общаться с SAP только с IDOC_INBOUND_ASYNCHRONOU
RFC функция.
- Получить структуру IDoc с
IDOCTYPE_READ_COMPLETE
функция. - Напишите функции, которые могут приводиться от и к
SDATA
поле изIDOC_DATA_REC_40
стол для ваших собственных "бизнес" объектов. "Вырезать"SDATA
поле вам понадобитсяEXTLEN
поле (IDOCTYPE_READ_COMPLETE
функцияPT_FIELDS
Таблица). Это что-то вроде смещения символа. - Помните, что IDOC может содержать несколько сегментов и / или список сегментов. И то же самое для сегментов (рекрусия). Ссылки поддерживаются с
SEGNUM
а такжеPARNO
Вы должны установить это вIDOC_INBOUND_ASYNCHRONOUS
функцияIDOC_DATA_REC_40
Таблица. Вы можете получить эти значения вIDOCTYPE_READ_COMPLETE
функция иPT_SEGMENTS
Таблица.
Эта тема может быть интересна для вас:
SAP.Net Connector 3.0 - Как я могу отправить idoc из системы не-SAP?
То, что обсуждалось там, остается в силе.
Если у вас есть выбор, я бы порекомендовал переключиться на Java и использовать SAP Java Connector, а также надстройку библиотеки классов IDoc для работы с IDoc. При этом вам больше не нужно разбираться со всеми техническими вещами IDoc, и вы можете непосредственно начать с реализации бизнес-логики для обработки ваших IDoc.