
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesContractService 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.salescontract.SalesContract;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPrcgElmnt;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPrcgElmntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPrcgElmntDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPrcgElmntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemPrcgElmntUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPrcgElmnt;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPrcgElmntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPrcgElmntDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPrcgElmntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractPrcgElmntUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salescontract.SalesContractUpdateFluentHelper;
/**
*
* You can use this service to integrate external applications with sales contract processing in SAP S/4HANA Cloud. In
* every API call, you can make use of the following operations: - You can retrieve sales contracts. Apply any of the
* filters provided or retrieve all existing data. - You can create sales contracts. Note that you must use “deep
* insert” requests (a header plus the following entities: header partner, header pricing element, item, item partner,
* and item pricing element). You cannot create entities without including any related entities. - For existing sales
* contracts, you can create new items. Note that you must use “deep insert” requests (with the following entities: item
* partner and item pricing element). You cannot create entities without including any related entities. - For existing
* sales contracts, you can update the header, header partner, header pricing element, item, item partner, and item
* pricing element. - For existing sales contracts, you can delete the header, header partner, header pricing element,
* item, item partner, and item pricing element..
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_SALES_CONTRACT_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Sales Contract Integration (SAP_COM_0119)
*
*
* Scope Items:
* Sales Contract Management (I9I)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* SalesContract
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesContractService" )
public class DefaultSalesContractService implements SalesContractService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link SalesContractService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultSalesContractService()
{
servicePath = SalesContractService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultSalesContractService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultSalesContractService withServicePath( @Nonnull final String servicePath )
{
return new DefaultSalesContractService(servicePath);
}
@Override
@Nonnull
public SalesContractFluentHelper getAllSalesContract()
{
return new SalesContractFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesContractByKeyFluentHelper getSalesContractByKey( final String salesContract )
{
return new SalesContractByKeyFluentHelper(servicePath, salesContract);
}
@Override
@Nonnull
public SalesContractCreateFluentHelper createSalesContract( @Nonnull final SalesContract salesContract )
{
return new SalesContractCreateFluentHelper(servicePath, salesContract);
}
@Override
@Nonnull
public SalesContractUpdateFluentHelper updateSalesContract( @Nonnull final SalesContract salesContract )
{
return new SalesContractUpdateFluentHelper(servicePath, salesContract);
}
@Override
@Nonnull
public SalesContractDeleteFluentHelper deleteSalesContract( @Nonnull final SalesContract salesContract )
{
return new SalesContractDeleteFluentHelper(servicePath, salesContract);
}
@Override
@Nonnull
public SalesContractItemFluentHelper getAllSalesContractItem()
{
return new SalesContractItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
SalesContractItemByKeyFluentHelper
getSalesContractItemByKey( final String salesContract, final String salesContractItem )
{
return new SalesContractItemByKeyFluentHelper(servicePath, salesContract, salesContractItem);
}
@Override
@Nonnull
public SalesContractItemCreateFluentHelper createSalesContractItem(
@Nonnull final SalesContractItem salesContractItem )
{
return new SalesContractItemCreateFluentHelper(servicePath, salesContractItem);
}
@Override
@Nonnull
public SalesContractItemUpdateFluentHelper updateSalesContractItem(
@Nonnull final SalesContractItem salesContractItem )
{
return new SalesContractItemUpdateFluentHelper(servicePath, salesContractItem);
}
@Override
@Nonnull
public SalesContractItemDeleteFluentHelper deleteSalesContractItem(
@Nonnull final SalesContractItem salesContractItem )
{
return new SalesContractItemDeleteFluentHelper(servicePath, salesContractItem);
}
@Override
@Nonnull
public SalesContractItemPartnerFluentHelper getAllSalesContractItemPartner()
{
return new SalesContractItemPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesContractItemPartnerByKeyFluentHelper getSalesContractItemPartnerByKey(
final String salesContract,
final String salesContractItem,
final String partnerFunction )
{
return new SalesContractItemPartnerByKeyFluentHelper(
servicePath,
salesContract,
salesContractItem,
partnerFunction);
}
@Override
@Nonnull
public SalesContractItemPartnerUpdateFluentHelper updateSalesContractItemPartner(
@Nonnull final SalesContractItemPartner salesContractItemPartner )
{
return new SalesContractItemPartnerUpdateFluentHelper(servicePath, salesContractItemPartner);
}
@Override
@Nonnull
public SalesContractItemPartnerDeleteFluentHelper deleteSalesContractItemPartner(
@Nonnull final SalesContractItemPartner salesContractItemPartner )
{
return new SalesContractItemPartnerDeleteFluentHelper(servicePath, salesContractItemPartner);
}
@Override
@Nonnull
public SalesContractItemPrcgElmntFluentHelper getAllSalesContractItemPrcgElmnt()
{
return new SalesContractItemPrcgElmntFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesContractItemPrcgElmntByKeyFluentHelper getSalesContractItemPrcgElmntByKey(
final String salesContract,
final String salesContractItem,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new SalesContractItemPrcgElmntByKeyFluentHelper(
servicePath,
salesContract,
salesContractItem,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public SalesContractItemPrcgElmntUpdateFluentHelper updateSalesContractItemPrcgElmnt(
@Nonnull final SalesContractItemPrcgElmnt salesContractItemPrcgElmnt )
{
return new SalesContractItemPrcgElmntUpdateFluentHelper(servicePath, salesContractItemPrcgElmnt);
}
@Override
@Nonnull
public SalesContractItemPrcgElmntDeleteFluentHelper deleteSalesContractItemPrcgElmnt(
@Nonnull final SalesContractItemPrcgElmnt salesContractItemPrcgElmnt )
{
return new SalesContractItemPrcgElmntDeleteFluentHelper(servicePath, salesContractItemPrcgElmnt);
}
@Override
@Nonnull
public SalesContractPartnerFluentHelper getAllSalesContractPartner()
{
return new SalesContractPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public
SalesContractPartnerByKeyFluentHelper
getSalesContractPartnerByKey( final String salesContract, final String partnerFunction )
{
return new SalesContractPartnerByKeyFluentHelper(servicePath, salesContract, partnerFunction);
}
@Override
@Nonnull
public SalesContractPartnerUpdateFluentHelper updateSalesContractPartner(
@Nonnull final SalesContractPartner salesContractPartner )
{
return new SalesContractPartnerUpdateFluentHelper(servicePath, salesContractPartner);
}
@Override
@Nonnull
public SalesContractPartnerDeleteFluentHelper deleteSalesContractPartner(
@Nonnull final SalesContractPartner salesContractPartner )
{
return new SalesContractPartnerDeleteFluentHelper(servicePath, salesContractPartner);
}
@Override
@Nonnull
public SalesContractPrcgElmntFluentHelper getAllSalesContractPrcgElmnt()
{
return new SalesContractPrcgElmntFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesContractPrcgElmntByKeyFluentHelper getSalesContractPrcgElmntByKey(
final String salesContract,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new SalesContractPrcgElmntByKeyFluentHelper(
servicePath,
salesContract,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public SalesContractPrcgElmntUpdateFluentHelper updateSalesContractPrcgElmnt(
@Nonnull final SalesContractPrcgElmnt salesContractPrcgElmnt )
{
return new SalesContractPrcgElmntUpdateFluentHelper(servicePath, salesContractPrcgElmnt);
}
@Override
@Nonnull
public SalesContractPrcgElmntDeleteFluentHelper deleteSalesContractPrcgElmnt(
@Nonnull final SalesContractPrcgElmnt salesContractPrcgElmnt )
{
return new SalesContractPrcgElmntDeleteFluentHelper(servicePath, salesContractPrcgElmnt);
}
}