
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultMaterialStockDisplayService 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.materialstockdisplay.MaterialStockByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialstockdisplay.MaterialStockFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialstockdisplay.MatlStkInAcctModByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialstockdisplay.MatlStkInAcctModFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.materialstockdisplay.batch.DefaultMaterialStockDisplayServiceBatch;
/**
*
* This service enables you to retrieve material stock information using the OData protocol with filter data provided in
* the payload. It can be consumed by external warehouse applications.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_MATERIAL_STOCK_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Material Stock Integration (SAP_COM_0164)
*
*
* Scope Items:
* Core Inventory Management (BMC)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultMaterialStockDisplayService" )
public class DefaultMaterialStockDisplayService implements MaterialStockDisplayService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link MaterialStockDisplayService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultMaterialStockDisplayService()
{
servicePath = MaterialStockDisplayService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultMaterialStockDisplayService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultMaterialStockDisplayService withServicePath( @Nonnull final String servicePath )
{
return new DefaultMaterialStockDisplayService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultMaterialStockDisplayServiceBatch batch()
{
return new DefaultMaterialStockDisplayServiceBatch(this);
}
@Override
@Nonnull
public MaterialStockFluentHelper getAllMaterialStock()
{
return new MaterialStockFluentHelper(servicePath);
}
@Override
@Nonnull
public MaterialStockByKeyFluentHelper getMaterialStockByKey( final String material )
{
return new MaterialStockByKeyFluentHelper(servicePath, material);
}
@Override
@Nonnull
public MatlStkInAcctModFluentHelper getAllMatlStkInAcctMod()
{
return new MatlStkInAcctModFluentHelper(servicePath);
}
@Override
@Nonnull
public MatlStkInAcctModByKeyFluentHelper getMatlStkInAcctModByKey(
final String material,
final String inventorySpecialStockType,
final String inventoryStockType,
final String plant,
final String storageLocation,
final String batch,
final String supplier,
final String customer,
final String wBSElementInternalID,
final String sDDocument,
final String sDDocumentItem )
{
return new MatlStkInAcctModByKeyFluentHelper(
servicePath,
material,
inventorySpecialStockType,
inventoryStockType,
plant,
storageLocation,
batch,
supplier,
customer,
wBSElementInternalID,
sDDocument,
sDDocumentItem);
}
}