
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultOutboundDeliveryService 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.math.BigDecimal;
import java.time.LocalDateTime;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.ConfirmPickingAllItemsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.ConfirmPickingOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryDocFlow;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryDocFlowByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryDocFlowUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryHeader;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryHeaderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryHeaderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryHeaderDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryHeaderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryHeaderUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.OutbDeliveryItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.PickAllItemsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.PickAndBatchSplitOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.PickOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.PickOneItemWithBaseQuantityFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.PickOneItemWithSalesQuantityFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.PostGoodsIssueFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.ReverseGoodsIssueFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.SerialNmbrDeliveryByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddelivery.batch.DefaultOutboundDeliveryServiceBatch;
/**
*
* This service enables you to read, create, update and delete outbound 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_OUTBOUND_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:
* OutboundDelivery
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultOutboundDeliveryService" )
public class DefaultOutboundDeliveryService implements OutboundDeliveryService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link OutboundDeliveryService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultOutboundDeliveryService()
{
servicePath = OutboundDeliveryService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultOutboundDeliveryService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultOutboundDeliveryService withServicePath( @Nonnull final String servicePath )
{
return new DefaultOutboundDeliveryService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultOutboundDeliveryServiceBatch batch()
{
return new DefaultOutboundDeliveryServiceBatch(this);
}
@Override
@Nonnull
public OutbDeliveryItemFluentHelper getAllOutbDeliveryItem()
{
return new OutbDeliveryItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
OutbDeliveryItemByKeyFluentHelper
getOutbDeliveryItemByKey( final String deliveryDocument, final String deliveryDocumentItem )
{
return new OutbDeliveryItemByKeyFluentHelper(servicePath, deliveryDocument, deliveryDocumentItem);
}
@Override
@Nonnull
public OutbDeliveryItemUpdateFluentHelper updateOutbDeliveryItem( @Nonnull final OutbDeliveryItem outbDeliveryItem )
{
return new OutbDeliveryItemUpdateFluentHelper(servicePath, outbDeliveryItem);
}
@Override
@Nonnull
public OutbDeliveryItemDeleteFluentHelper deleteOutbDeliveryItem( @Nonnull final OutbDeliveryItem outbDeliveryItem )
{
return new OutbDeliveryItemDeleteFluentHelper(servicePath, outbDeliveryItem);
}
@Override
@Nonnull
public OutbDeliveryHeaderFluentHelper getAllOutbDeliveryHeader()
{
return new OutbDeliveryHeaderFluentHelper(servicePath);
}
@Override
@Nonnull
public OutbDeliveryHeaderByKeyFluentHelper getOutbDeliveryHeaderByKey( final String deliveryDocument )
{
return new OutbDeliveryHeaderByKeyFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public OutbDeliveryHeaderCreateFluentHelper createOutbDeliveryHeader(
@Nonnull final OutbDeliveryHeader outbDeliveryHeader )
{
return new OutbDeliveryHeaderCreateFluentHelper(servicePath, outbDeliveryHeader);
}
@Override
@Nonnull
public OutbDeliveryHeaderUpdateFluentHelper updateOutbDeliveryHeader(
@Nonnull final OutbDeliveryHeader outbDeliveryHeader )
{
return new OutbDeliveryHeaderUpdateFluentHelper(servicePath, outbDeliveryHeader);
}
@Override
@Nonnull
public OutbDeliveryHeaderDeleteFluentHelper deleteOutbDeliveryHeader(
@Nonnull final OutbDeliveryHeader outbDeliveryHeader )
{
return new OutbDeliveryHeaderDeleteFluentHelper(servicePath, outbDeliveryHeader);
}
@Override
@Nonnull
public OutbDeliveryDocFlowByKeyFluentHelper getOutbDeliveryDocFlowByKey(
final String precedingDocument,
final String precedingDocumentItem,
final String subsequentDocumentCategory )
{
return new OutbDeliveryDocFlowByKeyFluentHelper(
servicePath,
precedingDocument,
precedingDocumentItem,
subsequentDocumentCategory);
}
@Override
@Nonnull
public OutbDeliveryDocFlowUpdateFluentHelper updateOutbDeliveryDocFlow(
@Nonnull final OutbDeliveryDocFlow outbDeliveryDocFlow )
{
return new OutbDeliveryDocFlowUpdateFluentHelper(servicePath, outbDeliveryDocFlow);
}
@Override
@Nonnull
public SerialNmbrDeliveryByKeyFluentHelper getSerialNmbrDeliveryByKey( final Long maintenanceItemObjectList )
{
return new SerialNmbrDeliveryByKeyFluentHelper(servicePath, maintenanceItemObjectList);
}
@Override
@Nonnull
public PickAndBatchSplitOneItemFluentHelper pickAndBatchSplitOneItem(
final String splitQuantityUnit,
final BigDecimal splitQuantity,
final String batch,
final String deliveryDocumentItem,
final String deliveryDocument )
{
return new PickAndBatchSplitOneItemFluentHelper(
servicePath,
splitQuantityUnit,
splitQuantity,
batch,
deliveryDocumentItem,
deliveryDocument);
}
@Override
@Nonnull
public PostGoodsIssueFluentHelper postGoodsIssue( final String deliveryDocument )
{
return new PostGoodsIssueFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public
ReverseGoodsIssueFluentHelper
reverseGoodsIssue( final LocalDateTime actualGoodsMovementDate, final String deliveryDocument )
{
return new ReverseGoodsIssueFluentHelper(servicePath, actualGoodsMovementDate, deliveryDocument);
}
@Override
@Nonnull
public ConfirmPickingAllItemsFluentHelper confirmPickingAllItems( final String deliveryDocument )
{
return new ConfirmPickingAllItemsFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public
ConfirmPickingOneItemFluentHelper
confirmPickingOneItem( final String deliveryDocument, final String deliveryDocumentItem )
{
return new ConfirmPickingOneItemFluentHelper(servicePath, deliveryDocument, deliveryDocumentItem);
}
@Override
@Nonnull
public PickAllItemsFluentHelper pickAllItems( final String deliveryDocument )
{
return new PickAllItemsFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public PickOneItemFluentHelper pickOneItem( final String deliveryDocumentItem, final String deliveryDocument )
{
return new PickOneItemFluentHelper(servicePath, deliveryDocumentItem, deliveryDocument);
}
@Override
@Nonnull
public PickOneItemWithSalesQuantityFluentHelper pickOneItemWithSalesQuantity(
final String deliveryQuantityUnit,
final String deliveryDocumentItem,
final String deliveryDocument,
final BigDecimal actualDeliveryQuantity )
{
return new PickOneItemWithSalesQuantityFluentHelper(
servicePath,
deliveryQuantityUnit,
deliveryDocumentItem,
deliveryDocument,
actualDeliveryQuantity);
}
@Override
@Nonnull
public PickOneItemWithBaseQuantityFluentHelper pickOneItemWithBaseQuantity(
final String baseUnit,
final BigDecimal actualDeliveredQtyInBaseUnit,
final String deliveryDocumentItem,
final String deliveryDocument )
{
return new PickOneItemWithBaseQuantityFluentHelper(
servicePath,
baseUnit,
actualDeliveredQtyInBaseUnit,
deliveryDocumentItem,
deliveryDocument);
}
}