
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultOutboundDeliveryV2Service 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.outbounddeliveryv2.ConfirmPickingAllItemsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.ConfirmPickingOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryDocFlow;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryDocFlowByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryDocFlowUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryHeader;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryHeaderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryHeaderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryHeaderDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryHeaderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryHeaderUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.OutbDeliveryPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.PickAllItemsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.PickAndBatchSplitOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.PickOneItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.PickOneItemWithBaseQuantityFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.PickOneItemWithSalesQuantityFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.PostGoodsIssueFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.ReverseGoodsIssueFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.SerialNmbrDeliveryByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.SetPickingQuantityWithBaseQuantityFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.outbounddeliveryv2.batch.DefaultOutboundDeliveryV2ServiceBatch;
/**
*
* 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_0002
*
*
* 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.DefaultOutboundDeliveryV2Service" )
public class DefaultOutboundDeliveryV2Service implements OutboundDeliveryV2Service
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link OutboundDeliveryV2Service#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultOutboundDeliveryV2Service()
{
servicePath = OutboundDeliveryV2Service.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultOutboundDeliveryV2Service( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultOutboundDeliveryV2Service withServicePath( @Nonnull final String servicePath )
{
return new DefaultOutboundDeliveryV2Service(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultOutboundDeliveryV2ServiceBatch batch()
{
return new DefaultOutboundDeliveryV2ServiceBatch(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
OutbDeliveryPartnerByKeyFluentHelper
getOutbDeliveryPartnerByKey( final String partnerFunction, final String sDDocument )
{
return new OutbDeliveryPartnerByKeyFluentHelper(servicePath, partnerFunction, sDDocument);
}
@Override
@Nonnull
public PickAndBatchSplitOneItemFluentHelper pickAndBatchSplitOneItem(
final String deliveryDocument,
final String deliveryDocumentItem,
final String batch,
final BigDecimal splitQuantity,
final String splitQuantityUnit )
{
return new PickAndBatchSplitOneItemFluentHelper(
servicePath,
deliveryDocument,
deliveryDocumentItem,
batch,
splitQuantity,
splitQuantityUnit);
}
@Override
@Nonnull
public SetPickingQuantityWithBaseQuantityFluentHelper setPickingQuantityWithBaseQuantity(
final BigDecimal actualDeliveredQtyInBaseUnit,
final String baseUnit,
final String deliveryDocument,
final String deliveryDocumentItem )
{
return new SetPickingQuantityWithBaseQuantityFluentHelper(
servicePath,
actualDeliveredQtyInBaseUnit,
baseUnit,
deliveryDocument,
deliveryDocumentItem);
}
@Override
@Nonnull
public PostGoodsIssueFluentHelper postGoodsIssue( final String deliveryDocument )
{
return new PostGoodsIssueFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public
ReverseGoodsIssueFluentHelper
reverseGoodsIssue( final String deliveryDocument, final LocalDateTime actualGoodsMovementDate )
{
return new ReverseGoodsIssueFluentHelper(servicePath, deliveryDocument, actualGoodsMovementDate);
}
@Override
@Nonnull
public ConfirmPickingAllItemsFluentHelper confirmPickingAllItems( final String deliveryDocument )
{
return new ConfirmPickingAllItemsFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public
ConfirmPickingOneItemFluentHelper
confirmPickingOneItem( final String deliveryDocumentItem, final String deliveryDocument )
{
return new ConfirmPickingOneItemFluentHelper(servicePath, deliveryDocumentItem, deliveryDocument);
}
@Override
@Nonnull
public PickAllItemsFluentHelper pickAllItems( final String deliveryDocument )
{
return new PickAllItemsFluentHelper(servicePath, deliveryDocument);
}
@Override
@Nonnull
public PickOneItemFluentHelper pickOneItem( final String deliveryDocument, final String deliveryDocumentItem )
{
return new PickOneItemFluentHelper(servicePath, deliveryDocument, deliveryDocumentItem);
}
@Override
@Nonnull
public PickOneItemWithSalesQuantityFluentHelper pickOneItemWithSalesQuantity(
final BigDecimal actualDeliveryQuantity,
final String deliveryDocument,
final String deliveryDocumentItem,
final String deliveryQuantityUnit )
{
return new PickOneItemWithSalesQuantityFluentHelper(
servicePath,
actualDeliveryQuantity,
deliveryDocument,
deliveryDocumentItem,
deliveryQuantityUnit);
}
@Override
@Nonnull
public PickOneItemWithBaseQuantityFluentHelper pickOneItemWithBaseQuantity(
final String deliveryDocument,
final String deliveryDocumentItem,
final BigDecimal actualDeliveredQtyInBaseUnit,
final String baseUnit )
{
return new PickOneItemWithBaseQuantityFluentHelper(
servicePath,
deliveryDocument,
deliveryDocumentItem,
actualDeliveredQtyInBaseUnit,
baseUnit);
}
}