Информация от службы поддержки KB0408144
Электронная почта
Заказ на закупку застрял в заказе после добавления новых позиций с кодом ошибки CIG-PLT-04641
Для Вашего удобства эта статья базы знаний переведена машинными средствами. SAP не предоставляет никаких гарантий правильности или полноты машинного перевода. Исходное содержимое можно увидеть, переключившись на английский язык с помощью селектора языка.
Симптом

Существует заявка, которая создает заказ на закупку после полного утверждения, который застрял в состоянии "Заказ" после изменения добавления позиций, которое отправляется документом PurchaseOrderChangeAsyncResponsePullRequest с ошибкой CIG-PLT-04641 на портале управляемого шлюза для управления расходами и SAP Business Network.

Эту проблему также можно найти в файле Validator.dat, который в данном сценарии содержит: Неполное содержимое элемента 'urn:item'. Ожидается один из вариантов '{"urn:Ariba:Buyer:vsap":NumberInCollection, "urn:Ariba:Buyer:vsap":ServiceMapKey, "urn:Ariba:Buyer:vsap":custom}'.


Причина

Поскольку ERP и P2P имеют разные представления для позиций в определенном заказе на закупку, необходимо правильно соотнести, что при каждом изменении создается PurchaseOrderChangeAsyncresponsePullRequest. Трекер транзакций управляемого шлюза для управления расходами и SAP Business Network имеет встроенное средство проверки синтаксиса, которое проверяет правильность заполнения каждой позиции. В этом случае инициируется ошибка CIG-PLT-04641, поскольку коду ERP не удалось добавить соответствующее поле <AribaItemID>.


Разрешение

Чтобы решить эту проблему для новых документов, примените SAP-ноту 3050686 - SAP ERP или SAP S/4HANA создавала дубликаты позиций, когда новая позиция в заказах на изменение заказов на поставку была повторно инициирована из управляемого шлюза SAP Integration Suite для управления расходами и SAP Business Network.

Чтобы исправить старые заказы, можно отменить затронутые заказы, создать новые вместо них после применения SAP-ноты или выполнить следующие шаги для затронутых документов по отдельности:

1. Открытие справочной таблицы:

  1. Перейдите в управляемый шлюз для Spend Management и SAP Business Network > Отслеживание транзакций и найдите затронутый документ.
  2. В столбце Номер транзакции щелкните ссылку документа PurchaseOrderChangeAsyncResponsePullRequest.
  3. Перейдите на вкладку Операция и выгрузите полезную нагрузку с помощью этапа документа PreProcess (Предварительная обработка).
  4. Вызовите систему ERP и перейдите к транзакции SE16.
  5. В поле Имя таблицы вставьте ARBCIG_POHISTORY и выполните его.
  6. В поле EBELN вставьте значение <SAPDocumentId> из выгруженной полезной нагрузки предварительной обработки и выполните его

Откроется таблица ARBCIG_POHISTORY для соответствующего заказа на поставку.

2. Исправление полезной нагрузки:

  1. Откройте полезную нагрузку в любом текстовом редакторе/редакторе кода.
  2. Для каждой <Item> убедитесь, что <SAPItemId> коррелирует с <AribaItemID>, представленным в таблице, добавив значение таблицы в качестве новой строки в полезной нагрузке ниже <SAPItemId>: <AribaItemID>XXX</AribaItemID>. См. пример ниже:
Верно.Неверно (отсутствует <AribaItemID> для корреляции):

<Позиция>
<SAPItemID>0010</SAPItemID>
<AribaItemID>1</AribaItemID>
(...)
</позиция>

<Позиция>
<SAPItemID>0010</SAPItemID>
(...)
</позиция>

3. После исправления и убедитесь, что каждая позиция имеет корректную корреляцию полей, сохраните этот отредактированный вручную документ как файл ".xml".

3. Проводка исправленной полезной нагрузки в CIG:

  1. Откройте новое окно ERP в транзакции SPROXY.
  2. Щелкните значок Открыть (), а затем выберите Внешний ключ.
  3. В поле Имя вставьте ERPToAribaBuyerResponse_Async_Out, нажмите кнопку поиска в конце этого поля () и нажмите кнопку Дальше или клавишу ENTER.
  4. Выполните те же действия для нового окна, и теперь вы заметите, что поле Область имен также заполнено.
  5. Щелкните в области Display (Просмотр), а затем в Test () или нажмите F8 и Execute.
  6. В этом новом окне щелкните Загрузить файл () или нажмите клавишу F5 и найдите измененный файл .xml, созданный вручную, и нажмите Выполнить.
  7. Выберите Дополнительная информация > Инициировать COMMIT WORK.

Вы успешно отправили измененную полезную нагрузку через управляемый шлюз для управления расходами и SAP Business Network. Его можно просмотреть в трекере транзакций, и если все было сделано правильно, теперь транзакция завершена.

Дополнительная информация

В транзакции SE16 для таблицы ARBCIG_POHISTORY отображается следующая информация:

В поле EBELN отображается номер заказа на поставку в ERP.
В поле EBELP отображается номер позиции в ERP.
В поле ITEMONREQ отображается номер позиции AribaItemId в P2P.
Поле REQ_ID представляет заявку, из которой создан этот документ.
В поле ERPORDERID отображается идентификационный номер документа в трекере транзакций управляемого шлюза для управления расходами и SAP Business Network.



Применимо к

Управляемый шлюз SAP Integration Suite > Управляемый шлюз для Business Network SCC > Управляемый шлюз для Buyer Business Network SCC

Условия использования  |  Авторские права  |  Безопасность  |  Конфиденциальность