
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultBufferSizingService 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 java.util.UUID;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ActualStockByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ActualStockFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.AdoptFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.DemandAdjustments;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.DemandAdjustmentsByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.DemandAdjustmentsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.DemandAdjustmentsUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.DiscardFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.LongestPathInBOMByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.LongestPathInBOMFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ProposalHeader;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ProposalHeaderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ProposalHeaderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ProposalHeaderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ResumeFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.SuspendFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ZoneAdjustments;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ZoneAdjustmentsByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ZoneAdjustmentsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.ZoneAdjustmentsUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.buffersizing.batch.DefaultBufferSizingServiceBatch;
/**
*
* This synchronous inbound service enables external systems to read, create, and update buffer sizing data through API
* calls. You can use it to let external systems retrieve or create data, such as, buffer proposals, average daily usage
* (ADU), decoupled lead time (DLT), demand and zone adjustments. It also lets external systems to update demand and
* zone adjustment factors.
*
*
*
* Reference: SAP API
* Business Hub
*
* Details:
*
*
* OData Service:
* API_BUFFERSIZING_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Buffer Sizing Integration (SAP_COM_0359)
*
*
* Scope Items:
* Demand-Driven Buffer Level Management (1Y2)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* Product
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultBufferSizingService" )
public class DefaultBufferSizingService implements BufferSizingService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link BufferSizingService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultBufferSizingService()
{
servicePath = BufferSizingService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultBufferSizingService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultBufferSizingService withServicePath( @Nonnull final String servicePath )
{
return new DefaultBufferSizingService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultBufferSizingServiceBatch batch()
{
return new DefaultBufferSizingServiceBatch(this);
}
@Override
@Nonnull
public DemandAdjustmentsFluentHelper getAllDemandAdjustments()
{
return new DemandAdjustmentsFluentHelper(servicePath);
}
@Override
@Nonnull
public DemandAdjustmentsByKeyFluentHelper getDemandAdjustmentsByKey(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion,
final LocalDateTime proposalDmndAdjmtFctrStartDate )
{
return new DemandAdjustmentsByKeyFluentHelper(
servicePath,
material,
plant,
mRPArea,
proposalStartDate,
proposalVersion,
proposalDmndAdjmtFctrStartDate);
}
@Override
@Nonnull
public DemandAdjustmentsUpdateFluentHelper updateDemandAdjustments(
@Nonnull final DemandAdjustments demandAdjustments )
{
return new DemandAdjustmentsUpdateFluentHelper(servicePath, demandAdjustments);
}
@Override
@Nonnull
public ZoneAdjustmentsFluentHelper getAllZoneAdjustments()
{
return new ZoneAdjustmentsFluentHelper(servicePath);
}
@Override
@Nonnull
public ZoneAdjustmentsByKeyFluentHelper getZoneAdjustmentsByKey(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion,
final LocalDateTime bufPrpslZoneAdjmtFctrStartDate )
{
return new ZoneAdjustmentsByKeyFluentHelper(
servicePath,
material,
plant,
mRPArea,
proposalStartDate,
proposalVersion,
bufPrpslZoneAdjmtFctrStartDate);
}
@Override
@Nonnull
public ZoneAdjustmentsUpdateFluentHelper updateZoneAdjustments( @Nonnull final ZoneAdjustments zoneAdjustments )
{
return new ZoneAdjustmentsUpdateFluentHelper(servicePath, zoneAdjustments);
}
@Override
@Nonnull
public ProposalHeaderFluentHelper getAllProposalHeader()
{
return new ProposalHeaderFluentHelper(servicePath);
}
@Override
@Nonnull
public ProposalHeaderByKeyFluentHelper getProposalHeaderByKey(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion )
{
return new ProposalHeaderByKeyFluentHelper(
servicePath,
material,
plant,
mRPArea,
proposalStartDate,
proposalVersion);
}
@Override
@Nonnull
public ProposalHeaderCreateFluentHelper createProposalHeader( @Nonnull final ProposalHeader proposalHeader )
{
return new ProposalHeaderCreateFluentHelper(servicePath, proposalHeader);
}
@Override
@Nonnull
public ActualStockFluentHelper getAllActualStock()
{
return new ActualStockFluentHelper(servicePath);
}
@Override
@Nonnull
public ActualStockByKeyFluentHelper getActualStockByKey(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime bufferLevelStartDate )
{
return new ActualStockByKeyFluentHelper(servicePath, material, plant, mRPArea, bufferLevelStartDate);
}
@Override
@Nonnull
public LongestPathInBOMFluentHelper getAllLongestPathInBOM()
{
return new LongestPathInBOMFluentHelper(servicePath);
}
@Override
@Nonnull
public LongestPathInBOMByKeyFluentHelper getLongestPathInBOMByKey(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion,
final UUID billOfMaterialUUID,
final String parentComponent,
final String parentPlant,
final String billOfMaterialComponent,
final String componentPlant )
{
return new LongestPathInBOMByKeyFluentHelper(
servicePath,
material,
plant,
mRPArea,
proposalStartDate,
proposalVersion,
billOfMaterialUUID,
parentComponent,
parentPlant,
billOfMaterialComponent,
componentPlant);
}
@Override
@Nonnull
public AdoptFluentHelper adopt(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion )
{
return new AdoptFluentHelper(servicePath, material, plant, mRPArea, proposalStartDate, proposalVersion);
}
@Override
@Nonnull
public DiscardFluentHelper discard(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion )
{
return new DiscardFluentHelper(servicePath, material, plant, mRPArea, proposalStartDate, proposalVersion);
}
@Override
@Nonnull
public ResumeFluentHelper resume(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion )
{
return new ResumeFluentHelper(servicePath, material, plant, mRPArea, proposalStartDate, proposalVersion);
}
@Override
@Nonnull
public SuspendFluentHelper suspend(
final String material,
final String plant,
final String mRPArea,
final LocalDateTime proposalStartDate,
final String proposalVersion,
final String stockLevelProposalStatus,
final LocalDateTime proposalRunSuspendedFromDate,
final LocalDateTime proposalRunSuspendedToDate )
{
return new SuspendFluentHelper(
servicePath,
material,
plant,
mRPArea,
proposalStartDate,
proposalVersion,
stockLevelProposalStatus,
proposalRunSuspendedFromDate,
proposalRunSuspendedToDate);
}
}