
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSupplierQuotationService 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.supplierquotation.CancelFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.CompleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.CreateFromRFQFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SubmitFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SubmitForApprovalFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotation;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.SupplierQuotationUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.supplierquotation.batch.DefaultSupplierQuotationServiceBatch;
/**
*
* This service enables a remote system to read, create (with reference to RFQ) and update supplier quotations from / in
* the SAP S/4HANA tenant.
*
*
*
* Reference: SAP API
* Business Hub
*
* Details:
*
*
* OData Service:
* API_QTN_PROCESS_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Distributed Manufacturing Integration (SAP_COM_0077), Purchase Request for Quotation Integration
* (SAP_COM_0113)
*
*
* Scope Items:
* Collaborative on-demand manufacturing with SAP Digital
* Manufacturing Cloud (1NX), Consumable Purchasing (BNX),
* SAP Ariba Sourcing Integration (1A0),
* SAP Ariba Quote Automation Integration (1L2),
* Request for Price (1XF)
*
*
* Authentication Methods:
* Basic, x509
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSupplierQuotationService" )
public class DefaultSupplierQuotationService implements SupplierQuotationService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link SupplierQuotationService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultSupplierQuotationService()
{
servicePath = SupplierQuotationService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultSupplierQuotationService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultSupplierQuotationService withServicePath( @Nonnull final String servicePath )
{
return new DefaultSupplierQuotationService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultSupplierQuotationServiceBatch batch()
{
return new DefaultSupplierQuotationServiceBatch(this);
}
@Override
@Nonnull
public SupplierQuotationFluentHelper getAllSupplierQuotation()
{
return new SupplierQuotationFluentHelper(servicePath);
}
@Override
@Nonnull
public SupplierQuotationByKeyFluentHelper getSupplierQuotationByKey( final String supplierQuotation )
{
return new SupplierQuotationByKeyFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public SupplierQuotationCreateFluentHelper createSupplierQuotation(
@Nonnull final SupplierQuotation supplierQuotation )
{
return new SupplierQuotationCreateFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public SupplierQuotationUpdateFluentHelper updateSupplierQuotation(
@Nonnull final SupplierQuotation supplierQuotation )
{
return new SupplierQuotationUpdateFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public SupplierQuotationDeleteFluentHelper deleteSupplierQuotation(
@Nonnull final SupplierQuotation supplierQuotation )
{
return new SupplierQuotationDeleteFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public SupplierQuotationItemFluentHelper getAllSupplierQuotationItem()
{
return new SupplierQuotationItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
SupplierQuotationItemByKeyFluentHelper
getSupplierQuotationItemByKey( final String supplierQuotation, final String supplierQuotationItem )
{
return new SupplierQuotationItemByKeyFluentHelper(servicePath, supplierQuotation, supplierQuotationItem);
}
@Override
@Nonnull
public SupplierQuotationItemUpdateFluentHelper updateSupplierQuotationItem(
@Nonnull final SupplierQuotationItem supplierQuotationItem )
{
return new SupplierQuotationItemUpdateFluentHelper(servicePath, supplierQuotationItem);
}
@Override
@Nonnull
public SubmitFluentHelper submit( final String supplierQuotation )
{
return new SubmitFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public CompleteFluentHelper complete( final String supplierQuotation )
{
return new CompleteFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public CancelFluentHelper cancel( final String supplierQuotation )
{
return new CancelFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public SubmitForApprovalFluentHelper submitForApproval( final String supplierQuotation )
{
return new SubmitForApprovalFluentHelper(servicePath, supplierQuotation);
}
@Override
@Nonnull
public CreateFromRFQFluentHelper createFromRFQ(
final LocalDateTime quotationSubmissionDate,
final String supplier,
final String requestForQuotation )
{
return new CreateFromRFQFluentHelper(servicePath, quotationSubmissionDate, supplier, requestForQuotation);
}
}