Как выполнить Create с навигацией в S / 4 HANA SDK - PullRequest
1 голос
/ 08 июля 2019

Мы пытаемся выполнить операцию POST, используя S4 HANA SDK. Наш вариант использования - добавить дочернюю сущность в уже созданную родительскую сущность.

Мы стараемся в этом направлении

final BusinessPartnerService service; // your BusinessPartner service
final BusinessPartner abcBusinessPartner; // fetched businessPartner
final BusinessPartnerRole newRole; // your role, for example created by: BusinessPartnerRole.builder(). ... .build();

abcBusinessPartner.addBusinessPartnerRole(newRole);

service.updateBusinessPartner(abcBusinessPartner);

Мы возвращаем следующую ошибку из локальной системы.

{
  "error": {
    "code": "/IWFND/CM_MGW/096",
    "message": {
      "lang": "en",
      "value": "PATCH requests require components to be updated"
    },
    "innererror": {
      "application": {
        "component_id": "MM-PUR-REQ",
        "service_namespace": "/SAP/",
        "service_id": "MMPUR_REQ_SSP_MAINTAIN_SRV",
        "service_version": "0001"
      },
      "transactionid": "94EEA58F4E630230E005D1A751652A34",
      "timestamp": "20190708061130.8418390",
      "Error_Resolution": {
        "SAP_Transaction": "For backend administrators: run transaction /IWFND/ERROR_LOG on SAP Gateway hub system and search for entries with the timestamp above for more details",
        "SAP_Note": "See SAP Note 1797736 for error analysis (https://service.sap.com/sap/support/notes/1797736)"
      },
      "errordetails": []
    }
  }
}

1 Ответ

1 голос
/ 08 июля 2019

По материалам блога :: https://blogs.sap.com/2018/09/17/sap-s4hana-cloud-sdk-version-2.4.1-is-available/

В случае использования при создании дочерней сущности мы должны использовать квалификатор .asChildOf при создании.

Например: новый DefaultBusinessPartnerService () .createBusinessPartnerAddress (addressToCreate) .asChildOf (parentBusinessPartner, BusinessPartner.TO_BUSINESS_PARTNER_ADDRESS) .Execute ();

...