
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultReservationDocumentService 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.reservationdocument.ReservationDocumentHeader;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.reservationdocument.ReservationDocumentHeaderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.reservationdocument.ReservationDocumentHeaderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.reservationdocument.ReservationDocumentHeaderDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.reservationdocument.ReservationDocumentHeaderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.reservationdocument.ReservationDocumentItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.reservationdocument.ReservationDocumentItemFluentHelper;
/**
*
* This service enables you to retrieve, create and delete reservation documents. For example, a user might create a
* reservation for a material with some quantity and assign that reserved material to a cost center, a sales order or an
* asset. A reservation can also be created for a transfer posting from one plant to another. The service also allows to
* delete existing reservation documents. It can be consumed by external systems and user interfaces.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_RESERVATION_DOCUMENT_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Reservation Integration (SAP_COM_0112)
*
*
* Scope Items:
* Stock Handling - Rework, Scrap, Blocked Stock (BMC)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultReservationDocumentService" )
public class DefaultReservationDocumentService implements ReservationDocumentService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link ReservationDocumentService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultReservationDocumentService()
{
servicePath = ReservationDocumentService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultReservationDocumentService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultReservationDocumentService withServicePath( @Nonnull final String servicePath )
{
return new DefaultReservationDocumentService(servicePath);
}
@Override
@Nonnull
public ReservationDocumentHeaderFluentHelper getAllReservationDocumentHeader()
{
return new ReservationDocumentHeaderFluentHelper(servicePath);
}
@Override
@Nonnull
public ReservationDocumentHeaderByKeyFluentHelper getReservationDocumentHeaderByKey( final String reservation )
{
return new ReservationDocumentHeaderByKeyFluentHelper(servicePath, reservation);
}
@Override
@Nonnull
public ReservationDocumentHeaderCreateFluentHelper createReservationDocumentHeader(
@Nonnull final ReservationDocumentHeader reservationDocumentHeader )
{
return new ReservationDocumentHeaderCreateFluentHelper(servicePath, reservationDocumentHeader);
}
@Override
@Nonnull
public ReservationDocumentHeaderDeleteFluentHelper deleteReservationDocumentHeader(
@Nonnull final ReservationDocumentHeader reservationDocumentHeader )
{
return new ReservationDocumentHeaderDeleteFluentHelper(servicePath, reservationDocumentHeader);
}
@Override
@Nonnull
public ReservationDocumentItemFluentHelper getAllReservationDocumentItem()
{
return new ReservationDocumentItemFluentHelper(servicePath);
}
@Override
@Nonnull
public ReservationDocumentItemByKeyFluentHelper getReservationDocumentItemByKey(
final String reservation,
final String reservationItem,
final String recordType )
{
return new ReservationDocumentItemByKeyFluentHelper(servicePath, reservation, reservationItem, recordType);
}
}