
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultInboundDeliveryService 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.inbounddelivery.ConfirmPutawayAllItemsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.ConfirmPutawayOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryDocFlow;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryDocFlowByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryDocFlowUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryHeader;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryHeaderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryHeaderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryHeaderDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryHeaderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryHeaderUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.InbDeliveryItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.PostGoodsReceiptFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.PutawayAllItemsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.PutawayOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.inbounddelivery.ReverseGoodsReceiptFluentHelper;
/**
*
* This service enables you to read, create, update, and delete inbound deliveries in an API call. It can be consumed in
* Fiori apps and on other user interfaces.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_INBOUND_DELIVERY_SRV
*
*
* API Version:
* 2
*
*
* Communication Scenario:
* Delivery Processing Integration (SAP_COM_0106)
*
*
* Scope Items:
* Delivery Processing without Order Reference (1MI),
* Sell from Stock (BD9),
* Free of Charge Delivery (BDA),
* Accelerated Customer Returns (BKP),
* Procurement of Direct Materials (J45)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* InboundDelivery
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultInboundDeliveryService" )
public class DefaultInboundDeliveryService implements InboundDeliveryService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link InboundDeliveryService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultInboundDeliveryService()
{
servicePath = InboundDeliveryService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultInboundDeliveryService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultInboundDeliveryService withServicePath( @Nonnull final String servicePath )
{
return new DefaultInboundDeliveryService(servicePath);
}
@Override
@Nonnull
public InbDeliveryDocFlowByKeyFluentHelper getInbDeliveryDocFlowByKey(
final String precedingDocument,
final String precedingDocumentItem,
final String subsequentDocumentCategory )
{
return new InbDeliveryDocFlowByKeyFluentHelper(
servicePath,
precedingDocument,
precedingDocumentItem,
subsequentDocumentCategory);
}
@Override
@Nonnull
public InbDeliveryDocFlowUpdateFluentHelper updateInbDeliveryDocFlow(
@Nonnull final InbDeliveryDocFlow inbDeliveryDocFlow )
{
return new InbDeliveryDocFlowUpdateFluentHelper(servicePath, inbDeliveryDocFlow);
}
@Override
@Nonnull
public InbDeliveryHeaderFluentHelper getAllInbDeliveryHeader()
{
return new InbDeliveryHeaderFluentHelper(servicePath);
}
@Override
@Nonnull
public InbDeliveryHeaderByKeyFluentHelper getInbDeliveryHeaderByKey( final String deliveryDocument )
{
return new InbDeliveryHeaderByKeyFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public InbDeliveryHeaderCreateFluentHelper createInbDeliveryHeader(
@Nonnull final InbDeliveryHeader inbDeliveryHeader )
{
return new InbDeliveryHeaderCreateFluentHelper(servicePath, inbDeliveryHeader);
}
@Override
@Nonnull
public InbDeliveryHeaderUpdateFluentHelper updateInbDeliveryHeader(
@Nonnull final InbDeliveryHeader inbDeliveryHeader )
{
return new InbDeliveryHeaderUpdateFluentHelper(servicePath, inbDeliveryHeader);
}
@Override
@Nonnull
public InbDeliveryHeaderDeleteFluentHelper deleteInbDeliveryHeader(
@Nonnull final InbDeliveryHeader inbDeliveryHeader )
{
return new InbDeliveryHeaderDeleteFluentHelper(servicePath, inbDeliveryHeader);
}
@Override
@Nonnull
public InbDeliveryItemFluentHelper getAllInbDeliveryItem()
{
return new InbDeliveryItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
InbDeliveryItemByKeyFluentHelper
getInbDeliveryItemByKey( final String deliveryDocument, final String deliveryDocumentItem )
{
return new InbDeliveryItemByKeyFluentHelper(servicePath, deliveryDocument, deliveryDocumentItem);
}
@Override
@Nonnull
public InbDeliveryItemUpdateFluentHelper updateInbDeliveryItem( @Nonnull final InbDeliveryItem inbDeliveryItem )
{
return new InbDeliveryItemUpdateFluentHelper(servicePath, inbDeliveryItem);
}
@Override
@Nonnull
public InbDeliveryItemDeleteFluentHelper deleteInbDeliveryItem( @Nonnull final InbDeliveryItem inbDeliveryItem )
{
return new InbDeliveryItemDeleteFluentHelper(servicePath, inbDeliveryItem);
}
@Override
@Nonnull
public ConfirmPutawayAllItemsFluentHelper confirmPutawayAllItems( final String deliveryDocument )
{
return new ConfirmPutawayAllItemsFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public
ConfirmPutawayOneItemFluentHelper
confirmPutawayOneItem( final String deliveryDocument, final String deliveryDocumentItem )
{
return new ConfirmPutawayOneItemFluentHelper(servicePath, deliveryDocument, deliveryDocumentItem);
}
@Override
@Nonnull
public PostGoodsReceiptFluentHelper postGoodsReceipt( final String deliveryDocument )
{
return new PostGoodsReceiptFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public PutawayAllItemsFluentHelper putawayAllItems( final String deliveryDocument )
{
return new PutawayAllItemsFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public PutawayOneItemFluentHelper putawayOneItem( final String deliveryDocument, final String deliveryDocumentItem )
{
return new PutawayOneItemFluentHelper(servicePath, deliveryDocument, deliveryDocumentItem);
}
@Override
@Nonnull
public
ReverseGoodsReceiptFluentHelper
reverseGoodsReceipt( final String deliveryDocument, final LocalDateTime actualGoodsMovementDate )
{
return new ReverseGoodsReceiptFluentHelper(servicePath, deliveryDocument, actualGoodsMovementDate);
}
}