Java 中如何使用 SDK 更新 Planned Independent Requirement

How to use SDK update Planned Independent Requirement in Java

我想更新 SAP S/4Hana Cloud 中的 PIR(计划的独立需求)。我正在使用 Java SDK。 我正在使用 class DefaultExtendedPlannedIndependentRequirementService。

        PlannedIndepRqmtItem pirItem = null;

        try {

            pirItem.setPlannedQuantity(utilities.convertToBigDecimal(anaplanLine.getForecastQuantity()));

            new DefaultExtendedPlannedIndependentRequirementService()
                    .updatePlannedIndepRqmtItem(pirItem)
                    .execute();

我使用 PlannedIndepRqmtItem 填充要更新的字段,如上所示。

我的问题是如何设置条件字段(where 字段)?

where子句的字段为:产品、工厂、MRP区域、PIR类型、PIR版本、PIR周期和周期类型。

BR, 彼得罗

OData 不允许在更新请求中使用 "where clause"。

要更新项目,您首先必须请求特定项目(GET 请求),修改它,然后将其传递给服务 class 的专用 update 方法。

如果您想同时更新多个项目,您可以通过 DefaultExtendedPlannedIndependentRequirementServiceBatch 执行批量请求。但是,这也需要显式传递所有要更新的对象,那里有 "where clause" 可用。

如果您想执行类似于 SQL 方式的更新,即更新所有符合特定条件的项目,您将只获取满足要更新的条件的项目,修改它们并然后通过批量请求更新它们。因此,本质上 SQL 更新的 "where clause" 将通过 getAll() 方法的过滤器来表示。