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

Существует заявка, которая генерирует заказ на закупку после полного утверждения, который зависает в статусе "Заказ" после того, как изменение добавления позиций, которое отправляется документом PurchaseOrderChangeAsyncResponsePullRequest, не выполнено с ошибкой CIG-PLT-04641 в управляемом шлюзе для портала Spend Management и 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. Управляемый шлюз для отслеживания транзакций Spend Management и 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. Перейдите на вкладку Операция и выгрузите полезную нагрузку с этапом документа "Предварительная обработка".
  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. Щелкните значок Просмотреть, а затем выберите Тест () или нажмите F8 и Выполнить.
  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

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