
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesOrderSimulateService 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.salesordersimulate.SalesOrderSimulation;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesordersimulate.SalesOrderSimulationCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesordersimulate.batch.DefaultSalesOrderSimulateServiceBatch;
/**
*
* You can use this service to integrate external applications that simulate the creation of sales orders in SAP S/4HANA
* Cloud. This simulation includes price calculation with results, Available-to- Promise (ATP) check, partner
* determination and credit check.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_SALES_ORDER_SIMULATION_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
*
*
* Business Object:
* SalesOrder
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesOrderSimulateService" )
public class DefaultSalesOrderSimulateService implements SalesOrderSimulateService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link SalesOrderSimulateService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultSalesOrderSimulateService()
{
servicePath = SalesOrderSimulateService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultSalesOrderSimulateService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultSalesOrderSimulateService withServicePath( @Nonnull final String servicePath )
{
return new DefaultSalesOrderSimulateService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultSalesOrderSimulateServiceBatch batch()
{
return new DefaultSalesOrderSimulateServiceBatch(this);
}
@Override
@Nonnull
public SalesOrderSimulationCreateFluentHelper createSalesOrderSimulation(
@Nonnull final SalesOrderSimulation salesOrderSimulation )
{
return new SalesOrderSimulationCreateFluentHelper(servicePath, salesOrderSimulation);
}
}