
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesOrderService 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.salesorder.RejectApprovalRequestFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.ReleaseApprovalRequestFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrder;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPrElement;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPrElementByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPrElementDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPrElementFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderHeaderPrElementUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPrElement;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPrElementByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPrElementDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPrElementFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemPrElementUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemText;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemTextByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemTextDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemTextFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemTextUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderScheduleLineByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderScheduleLineFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderText;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderTextByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderTextDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderTextFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderTextUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SalesOrderUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SlsOrdPaymentPlanItemDetails;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SlsOrdPaymentPlanItemDetailsByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SlsOrdPaymentPlanItemDetailsDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SlsOrdPaymentPlanItemDetailsFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.SlsOrdPaymentPlanItemDetailsUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesorder.batch.DefaultSalesOrderServiceBatch;
/**
*
* You can use this service to integrate external applications with sales order processing in SAP S/4HANA Cloud. In
* every API call, you can make use of the following operations: - You can retrieve sales orders. Apply any of the
* filters provided or retrieve all existing data. - You can create sales orders. Note that you must use “deep insert”
* requests (a header plus the following entities: header partner, header pricing element, header text, payment details,
* item, item partner, item pricing element, and item text). You cannot create entities without including any related
* entities. - For existing sales orders, you can create new items. Note that you must use “deep insert” requests (with
* the following entities: item partner, item pricing element, and item text). You cannot create entities without
* including any related entities. - For existing sales orders, you can update the header, header partner, header
* pricing element, header text, payment details, item, item partner, item pricing element, and item text. - For
* existing sales orders, you can delete the header, header partner, header pricing element, header text, payment
* details, item, item partner, item pricing element, and item text. - You can accept or deny approval requests for
* sales orders that cannot be processed without the consent of an approver..
*
*
*
* Reference: SAP API
* Business Hub
*
* Details:
*
*
* OData Service:
* API_SALES_ORDER_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Sales Order Integration (SAP_COM_0109)
*
*
* Scope Items:
* Sell from Stock (BD9),
* Opportunity-to-Order with Third-Party Sales Force Automation Apps
* (1QI)
*
*
* Authentication Methods:
* Basic, x509, OAuth2
*
*
* Business Object:
* SalesOrder
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesOrderService" )
public class DefaultSalesOrderService implements SalesOrderService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link SalesOrderService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultSalesOrderService()
{
servicePath = SalesOrderService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultSalesOrderService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultSalesOrderService withServicePath( @Nonnull final String servicePath )
{
return new DefaultSalesOrderService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultSalesOrderServiceBatch batch()
{
return new DefaultSalesOrderServiceBatch(this);
}
@Override
@Nonnull
public SalesOrderFluentHelper getAllSalesOrder()
{
return new SalesOrderFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesOrderByKeyFluentHelper getSalesOrderByKey( final String salesOrder )
{
return new SalesOrderByKeyFluentHelper(servicePath, salesOrder);
}
@Override
@Nonnull
public SalesOrderCreateFluentHelper createSalesOrder( @Nonnull final SalesOrder salesOrder )
{
return new SalesOrderCreateFluentHelper(servicePath, salesOrder);
}
@Override
@Nonnull
public SalesOrderUpdateFluentHelper updateSalesOrder( @Nonnull final SalesOrder salesOrder )
{
return new SalesOrderUpdateFluentHelper(servicePath, salesOrder);
}
@Override
@Nonnull
public SalesOrderDeleteFluentHelper deleteSalesOrder( @Nonnull final SalesOrder salesOrder )
{
return new SalesOrderDeleteFluentHelper(servicePath, salesOrder);
}
@Override
@Nonnull
public SalesOrderHeaderPartnerFluentHelper getAllSalesOrderHeaderPartner()
{
return new SalesOrderHeaderPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public
SalesOrderHeaderPartnerByKeyFluentHelper
getSalesOrderHeaderPartnerByKey( final String salesOrder, final String partnerFunction )
{
return new SalesOrderHeaderPartnerByKeyFluentHelper(servicePath, salesOrder, partnerFunction);
}
@Override
@Nonnull
public SalesOrderHeaderPartnerUpdateFluentHelper updateSalesOrderHeaderPartner(
@Nonnull final SalesOrderHeaderPartner salesOrderHeaderPartner )
{
return new SalesOrderHeaderPartnerUpdateFluentHelper(servicePath, salesOrderHeaderPartner);
}
@Override
@Nonnull
public SalesOrderHeaderPartnerDeleteFluentHelper deleteSalesOrderHeaderPartner(
@Nonnull final SalesOrderHeaderPartner salesOrderHeaderPartner )
{
return new SalesOrderHeaderPartnerDeleteFluentHelper(servicePath, salesOrderHeaderPartner);
}
@Override
@Nonnull
public SalesOrderHeaderPrElementFluentHelper getAllSalesOrderHeaderPrElement()
{
return new SalesOrderHeaderPrElementFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesOrderHeaderPrElementByKeyFluentHelper getSalesOrderHeaderPrElementByKey(
final String salesOrder,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new SalesOrderHeaderPrElementByKeyFluentHelper(
servicePath,
salesOrder,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public SalesOrderHeaderPrElementUpdateFluentHelper updateSalesOrderHeaderPrElement(
@Nonnull final SalesOrderHeaderPrElement salesOrderHeaderPrElement )
{
return new SalesOrderHeaderPrElementUpdateFluentHelper(servicePath, salesOrderHeaderPrElement);
}
@Override
@Nonnull
public SalesOrderHeaderPrElementDeleteFluentHelper deleteSalesOrderHeaderPrElement(
@Nonnull final SalesOrderHeaderPrElement salesOrderHeaderPrElement )
{
return new SalesOrderHeaderPrElementDeleteFluentHelper(servicePath, salesOrderHeaderPrElement);
}
@Override
@Nonnull
public SalesOrderItemFluentHelper getAllSalesOrderItem()
{
return new SalesOrderItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
SalesOrderItemByKeyFluentHelper
getSalesOrderItemByKey( final String salesOrder, final String salesOrderItem )
{
return new SalesOrderItemByKeyFluentHelper(servicePath, salesOrder, salesOrderItem);
}
@Override
@Nonnull
public SalesOrderItemCreateFluentHelper createSalesOrderItem( @Nonnull final SalesOrderItem salesOrderItem )
{
return new SalesOrderItemCreateFluentHelper(servicePath, salesOrderItem);
}
@Override
@Nonnull
public SalesOrderItemUpdateFluentHelper updateSalesOrderItem( @Nonnull final SalesOrderItem salesOrderItem )
{
return new SalesOrderItemUpdateFluentHelper(servicePath, salesOrderItem);
}
@Override
@Nonnull
public SalesOrderItemDeleteFluentHelper deleteSalesOrderItem( @Nonnull final SalesOrderItem salesOrderItem )
{
return new SalesOrderItemDeleteFluentHelper(servicePath, salesOrderItem);
}
@Override
@Nonnull
public SalesOrderItemPartnerFluentHelper getAllSalesOrderItemPartner()
{
return new SalesOrderItemPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesOrderItemPartnerByKeyFluentHelper getSalesOrderItemPartnerByKey(
final String salesOrder,
final String salesOrderItem,
final String partnerFunction )
{
return new SalesOrderItemPartnerByKeyFluentHelper(servicePath, salesOrder, salesOrderItem, partnerFunction);
}
@Override
@Nonnull
public SalesOrderItemPartnerUpdateFluentHelper updateSalesOrderItemPartner(
@Nonnull final SalesOrderItemPartner salesOrderItemPartner )
{
return new SalesOrderItemPartnerUpdateFluentHelper(servicePath, salesOrderItemPartner);
}
@Override
@Nonnull
public SalesOrderItemPartnerDeleteFluentHelper deleteSalesOrderItemPartner(
@Nonnull final SalesOrderItemPartner salesOrderItemPartner )
{
return new SalesOrderItemPartnerDeleteFluentHelper(servicePath, salesOrderItemPartner);
}
@Override
@Nonnull
public SalesOrderItemPrElementFluentHelper getAllSalesOrderItemPrElement()
{
return new SalesOrderItemPrElementFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesOrderItemPrElementByKeyFluentHelper getSalesOrderItemPrElementByKey(
final String salesOrder,
final String salesOrderItem,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new SalesOrderItemPrElementByKeyFluentHelper(
servicePath,
salesOrder,
salesOrderItem,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public SalesOrderItemPrElementUpdateFluentHelper updateSalesOrderItemPrElement(
@Nonnull final SalesOrderItemPrElement salesOrderItemPrElement )
{
return new SalesOrderItemPrElementUpdateFluentHelper(servicePath, salesOrderItemPrElement);
}
@Override
@Nonnull
public SalesOrderItemPrElementDeleteFluentHelper deleteSalesOrderItemPrElement(
@Nonnull final SalesOrderItemPrElement salesOrderItemPrElement )
{
return new SalesOrderItemPrElementDeleteFluentHelper(servicePath, salesOrderItemPrElement);
}
@Override
@Nonnull
public SalesOrderItemTextFluentHelper getAllSalesOrderItemText()
{
return new SalesOrderItemTextFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesOrderItemTextByKeyFluentHelper getSalesOrderItemTextByKey(
final String salesOrder,
final String salesOrderItem,
final String language,
final String longTextID )
{
return new SalesOrderItemTextByKeyFluentHelper(servicePath, salesOrder, salesOrderItem, language, longTextID);
}
@Override
@Nonnull
public SalesOrderItemTextUpdateFluentHelper updateSalesOrderItemText(
@Nonnull final SalesOrderItemText salesOrderItemText )
{
return new SalesOrderItemTextUpdateFluentHelper(servicePath, salesOrderItemText);
}
@Override
@Nonnull
public SalesOrderItemTextDeleteFluentHelper deleteSalesOrderItemText(
@Nonnull final SalesOrderItemText salesOrderItemText )
{
return new SalesOrderItemTextDeleteFluentHelper(servicePath, salesOrderItemText);
}
@Override
@Nonnull
public SalesOrderScheduleLineFluentHelper getAllSalesOrderScheduleLine()
{
return new SalesOrderScheduleLineFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesOrderScheduleLineByKeyFluentHelper getSalesOrderScheduleLineByKey(
final String salesOrder,
final String salesOrderItem,
final String scheduleLine )
{
return new SalesOrderScheduleLineByKeyFluentHelper(servicePath, salesOrder, salesOrderItem, scheduleLine);
}
@Override
@Nonnull
public SalesOrderTextFluentHelper getAllSalesOrderText()
{
return new SalesOrderTextFluentHelper(servicePath);
}
@Override
@Nonnull
public
SalesOrderTextByKeyFluentHelper
getSalesOrderTextByKey( final String salesOrder, final String language, final String longTextID )
{
return new SalesOrderTextByKeyFluentHelper(servicePath, salesOrder, language, longTextID);
}
@Override
@Nonnull
public SalesOrderTextUpdateFluentHelper updateSalesOrderText( @Nonnull final SalesOrderText salesOrderText )
{
return new SalesOrderTextUpdateFluentHelper(servicePath, salesOrderText);
}
@Override
@Nonnull
public SalesOrderTextDeleteFluentHelper deleteSalesOrderText( @Nonnull final SalesOrderText salesOrderText )
{
return new SalesOrderTextDeleteFluentHelper(servicePath, salesOrderText);
}
@Override
@Nonnull
public SlsOrdPaymentPlanItemDetailsFluentHelper getAllSlsOrdPaymentPlanItemDetails()
{
return new SlsOrdPaymentPlanItemDetailsFluentHelper(servicePath);
}
@Override
@Nonnull
public
SlsOrdPaymentPlanItemDetailsByKeyFluentHelper
getSlsOrdPaymentPlanItemDetailsByKey( final String salesOrder, final String paymentPlanItem )
{
return new SlsOrdPaymentPlanItemDetailsByKeyFluentHelper(servicePath, salesOrder, paymentPlanItem);
}
@Override
@Nonnull
public SlsOrdPaymentPlanItemDetailsUpdateFluentHelper updateSlsOrdPaymentPlanItemDetails(
@Nonnull final SlsOrdPaymentPlanItemDetails slsOrdPaymentPlanItemDetails )
{
return new SlsOrdPaymentPlanItemDetailsUpdateFluentHelper(servicePath, slsOrdPaymentPlanItemDetails);
}
@Override
@Nonnull
public SlsOrdPaymentPlanItemDetailsDeleteFluentHelper deleteSlsOrdPaymentPlanItemDetails(
@Nonnull final SlsOrdPaymentPlanItemDetails slsOrdPaymentPlanItemDetails )
{
return new SlsOrdPaymentPlanItemDetailsDeleteFluentHelper(servicePath, slsOrdPaymentPlanItemDetails);
}
@Override
@Nonnull
public RejectApprovalRequestFluentHelper rejectApprovalRequest( final String salesOrder )
{
return new RejectApprovalRequestFluentHelper(servicePath, salesOrder);
}
@Override
@Nonnull
public ReleaseApprovalRequestFluentHelper releaseApprovalRequest( final String salesOrder )
{
return new ReleaseApprovalRequestFluentHelper(servicePath, salesOrder);
}
}