
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultMaterialPlanningDataService 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 javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialplanningdata.MRPMaterialByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialplanningdata.MRPMaterialFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialplanningdata.MaterialCoverageByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialplanningdata.MaterialCoverageFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialplanningdata.SupplyDemandItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialplanningdata.batch.DefaultMaterialPlanningDataServiceBatch;
/**
*
* This service enables you to read planning data for materials in Material Requirements Planning (MRP).
*
* This includes material master data as well as supply and demand information for a certain period of time and
* information about the coverage of materials..
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_MRP_MATERIALS_SRV_01
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Production Planning Integration (SAP_COM_0104)
*
*
* Scope Items:
* Make-to-Stock Production - Discrete Manufacturing (BJ5),
* Make-to-Stock - Process Manufacturing Based on Process Order
* (BJ8), Material Requirements Planning (J44)
*
*
* Authentication Methods:
* Basic, x509
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultMaterialPlanningDataService" )
public class DefaultMaterialPlanningDataService implements MaterialPlanningDataService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link MaterialPlanningDataService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultMaterialPlanningDataService()
{
servicePath = MaterialPlanningDataService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultMaterialPlanningDataService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultMaterialPlanningDataService withServicePath( @Nonnull final String servicePath )
{
return new DefaultMaterialPlanningDataService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultMaterialPlanningDataServiceBatch batch()
{
return new DefaultMaterialPlanningDataServiceBatch(this);
}
@Override
@Nonnull
public MaterialCoverageFluentHelper getAllMaterialCoverage()
{
return new MaterialCoverageFluentHelper(servicePath);
}
@Override
@Nonnull
public MaterialCoverageByKeyFluentHelper getMaterialCoverageByKey(
final String material,
final String materialShortageProfile,
final String materialShortageProfileCount,
final String mRPArea,
final String mRPPlanningSegmentNumber,
final String mRPPlanningSegmentType,
final String mRPPlant )
{
return new MaterialCoverageByKeyFluentHelper(
servicePath,
material,
materialShortageProfile,
materialShortageProfileCount,
mRPArea,
mRPPlanningSegmentNumber,
mRPPlanningSegmentType,
mRPPlant);
}
@Override
@Nonnull
public SupplyDemandItemFluentHelper getAllSupplyDemandItem()
{
return new SupplyDemandItemFluentHelper(servicePath);
}
@Override
@Nonnull
public MRPMaterialFluentHelper getAllMRPMaterial()
{
return new MRPMaterialFluentHelper(servicePath);
}
@Override
@Nonnull
public
MRPMaterialByKeyFluentHelper
getMRPMaterialByKey( final String material, final String mRPPlant, final String mRPArea )
{
return new MRPMaterialByKeyFluentHelper(servicePath, material, mRPPlant, mRPArea);
}
}