
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesDocumentWithCreditBlocksService 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.salesdocumentwithcreditblocks.CheckCreditBlockFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.CreditBlockedSalesDocumentByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.CreditBlockedSalesDocumentFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.RejectCreditBlockFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.ReleaseCreditBlockFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.SalesDocumentRjcnReasonByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.SalesDocumentRjcnReasonFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.salesdocumentwithcreditblocks.batch.DefaultSalesDocumentWithCreditBlocksServiceBatch;
/**
*
* This synchronous inbound service enables you to retrieve sales documents that contain credit blocks, check, release
* and reject the blocked sales documents with data provided in a sales document. It is based on the OData protocol and
* can be consumed in Fiori apps and on other user interfaces.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_SLS_DOC_WITH_CREDIT_BLOCK
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Sales Credit Management Integration (SAP_COM_0325)
*
*
* Scope Items:
* Basic Credit Management (BD6)
*
*
* Authentication Methods:
* Basic, x509, OAuth2
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSalesDocumentWithCreditBlocksService" )
public class DefaultSalesDocumentWithCreditBlocksService implements SalesDocumentWithCreditBlocksService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link SalesDocumentWithCreditBlocksService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultSalesDocumentWithCreditBlocksService()
{
servicePath = SalesDocumentWithCreditBlocksService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultSalesDocumentWithCreditBlocksService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultSalesDocumentWithCreditBlocksService withServicePath( @Nonnull final String servicePath )
{
return new DefaultSalesDocumentWithCreditBlocksService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultSalesDocumentWithCreditBlocksServiceBatch batch()
{
return new DefaultSalesDocumentWithCreditBlocksServiceBatch(this);
}
@Override
@Nonnull
public CreditBlockedSalesDocumentFluentHelper getAllCreditBlockedSalesDocument()
{
return new CreditBlockedSalesDocumentFluentHelper(servicePath);
}
@Override
@Nonnull
public CreditBlockedSalesDocumentByKeyFluentHelper getCreditBlockedSalesDocumentByKey( final String salesDocument )
{
return new CreditBlockedSalesDocumentByKeyFluentHelper(servicePath, salesDocument);
}
@Override
@Nonnull
public SalesDocumentRjcnReasonFluentHelper getAllSalesDocumentRjcnReason()
{
return new SalesDocumentRjcnReasonFluentHelper(servicePath);
}
@Override
@Nonnull
public SalesDocumentRjcnReasonByKeyFluentHelper getSalesDocumentRjcnReasonByKey(
final String salesDocumentRjcnReason )
{
return new SalesDocumentRjcnReasonByKeyFluentHelper(servicePath, salesDocumentRjcnReason);
}
@Override
@Nonnull
public CheckCreditBlockFluentHelper checkCreditBlock( final String salesDocument, final String sDDocumentCategory )
{
return new CheckCreditBlockFluentHelper(servicePath, salesDocument, sDDocumentCategory);
}
@Override
@Nonnull
public
RejectCreditBlockFluentHelper
rejectCreditBlock( final String salesDocument, final String rejectionCode, final String sDDocumentCategory )
{
return new RejectCreditBlockFluentHelper(servicePath, salesDocument, rejectionCode, sDDocumentCategory);
}
@Override
@Nonnull
public
ReleaseCreditBlockFluentHelper
releaseCreditBlock( final String sDDocumentCategory, final String salesDocument )
{
return new ReleaseCreditBlockFluentHelper(servicePath, sDDocumentCategory, salesDocument);
}
}