
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultPlannedIndependentRequirementService Maven / Gradle / Ivy
/*
* Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
*/
package com.sap.cloud.sdk.s4hana.datamodel.odata.services;
import java.time.LocalDateTime;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.plannedindependentrequirement.MaintainYearsPeriod;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.plannedindependentrequirement.MaintainYearsPeriodByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.plannedindependentrequirement.MaintainYearsPeriodFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.plannedindependentrequirement.MaintainYearsPeriodUpdateFluentHelper;
/**
*
* This inbound/outbound service enables you to read and update planned independent requirements (PIRs). Use this API if
* you want to work with the Manage PIRs app and not the Change PIRs app. If you work with the Change PIRs app as you
* require the additional flexibility provided in this app, you are recommended to use the following API:
*
* https://api.sap.com/shell/discover/contentp ackage/SAPS4HANACloud/api/API_PLND_INDE P_RQMT_SRV .
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_FORECAST_DEMAND_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Production Planning Integration (SAP_COM_0104)
*
*
* Scope Items:
* Make-to-Stock Production - Discrete Manufacturing (BJ5),
* Make-to-Stock Production - Process Manufacturing (BJ8),
* Material Requirements Planning (J44)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultPlannedIndependentRequirementService" )
public class DefaultPlannedIndependentRequirementService implements PlannedIndependentRequirementService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link PlannedIndependentRequirementService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultPlannedIndependentRequirementService()
{
servicePath = PlannedIndependentRequirementService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultPlannedIndependentRequirementService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultPlannedIndependentRequirementService withServicePath( @Nonnull final String servicePath )
{
return new DefaultPlannedIndependentRequirementService(servicePath);
}
@Override
@Nonnull
public MaintainYearsPeriodFluentHelper getAllMaintainYearsPeriod()
{
return new MaintainYearsPeriodFluentHelper(servicePath);
}
@Override
@Nonnull
public MaintainYearsPeriodByKeyFluentHelper getMaintainYearsPeriodByKey(
final String material,
final String plant,
final String mRPArea,
final String requirementsType,
final String forecastDemandVersion,
final LocalDateTime forecastPeriodStartDate )
{
return new MaintainYearsPeriodByKeyFluentHelper(
servicePath,
material,
plant,
mRPArea,
requirementsType,
forecastDemandVersion,
forecastPeriodStartDate);
}
@Override
@Nonnull
public MaintainYearsPeriodUpdateFluentHelper updateMaintainYearsPeriod(
@Nonnull final MaintainYearsPeriod maintainYearsPeriod )
{
return new MaintainYearsPeriodUpdateFluentHelper(servicePath, maintainYearsPeriod);
}
}