
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultDebitMemoRequestService 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.debitmemorequest.DebitMemoReqItemPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPrcgElmnt;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPrcgElmntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPrcgElmntDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPrcgElmntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqItemPrcgElmntUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPrcgElmnt;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPrcgElmntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPrcgElmntDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPrcgElmntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoReqPrcgElmntUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequest;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.DebitMemoRequestUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.debitmemorequest.batch.DefaultDebitMemoRequestServiceBatch;
/**
*
* You can use this service to integrate external applications with debit memo request processing in SAP S/4HANA Cloud.
* In every API call, you can make use of the following operations: - You can retrieve debit memo requests. Apply any of
* the filters provided or retrieve all existing data. - You can create debit memo requests. 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
* debit memo requests, 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 debit memo requests, you can update the header, header partner, header pricing element, item, item
* partner, and item pricing element. - For existing debit memo requests, 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_DEBIT_MEMO_REQUEST_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Debit Memo Request Integration (SAP_COM_0159)
*
*
* Scope Items:
* Debit Memo Processing (1F1),
* Invoice Correction Process with Debit Memo (BDQ)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* DebitMemoRequest
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultDebitMemoRequestService" )
public class DefaultDebitMemoRequestService implements DebitMemoRequestService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link DebitMemoRequestService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultDebitMemoRequestService()
{
servicePath = DebitMemoRequestService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultDebitMemoRequestService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultDebitMemoRequestService withServicePath( @Nonnull final String servicePath )
{
return new DefaultDebitMemoRequestService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultDebitMemoRequestServiceBatch batch()
{
return new DefaultDebitMemoRequestServiceBatch(this);
}
@Override
@Nonnull
public DebitMemoReqItemPartnerFluentHelper getAllDebitMemoReqItemPartner()
{
return new DebitMemoReqItemPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public DebitMemoReqItemPartnerByKeyFluentHelper getDebitMemoReqItemPartnerByKey(
final String debitMemoRequest,
final String debitMemoRequestItem,
final String partnerFunction )
{
return new DebitMemoReqItemPartnerByKeyFluentHelper(
servicePath,
debitMemoRequest,
debitMemoRequestItem,
partnerFunction);
}
@Override
@Nonnull
public DebitMemoReqItemPartnerUpdateFluentHelper updateDebitMemoReqItemPartner(
@Nonnull final DebitMemoReqItemPartner debitMemoReqItemPartner )
{
return new DebitMemoReqItemPartnerUpdateFluentHelper(servicePath, debitMemoReqItemPartner);
}
@Override
@Nonnull
public DebitMemoReqItemPartnerDeleteFluentHelper deleteDebitMemoReqItemPartner(
@Nonnull final DebitMemoReqItemPartner debitMemoReqItemPartner )
{
return new DebitMemoReqItemPartnerDeleteFluentHelper(servicePath, debitMemoReqItemPartner);
}
@Override
@Nonnull
public DebitMemoReqItemPrcgElmntFluentHelper getAllDebitMemoReqItemPrcgElmnt()
{
return new DebitMemoReqItemPrcgElmntFluentHelper(servicePath);
}
@Override
@Nonnull
public DebitMemoReqItemPrcgElmntByKeyFluentHelper getDebitMemoReqItemPrcgElmntByKey(
final String debitMemoRequest,
final String debitMemoRequestItem,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new DebitMemoReqItemPrcgElmntByKeyFluentHelper(
servicePath,
debitMemoRequest,
debitMemoRequestItem,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public DebitMemoReqItemPrcgElmntUpdateFluentHelper updateDebitMemoReqItemPrcgElmnt(
@Nonnull final DebitMemoReqItemPrcgElmnt debitMemoReqItemPrcgElmnt )
{
return new DebitMemoReqItemPrcgElmntUpdateFluentHelper(servicePath, debitMemoReqItemPrcgElmnt);
}
@Override
@Nonnull
public DebitMemoReqItemPrcgElmntDeleteFluentHelper deleteDebitMemoReqItemPrcgElmnt(
@Nonnull final DebitMemoReqItemPrcgElmnt debitMemoReqItemPrcgElmnt )
{
return new DebitMemoReqItemPrcgElmntDeleteFluentHelper(servicePath, debitMemoReqItemPrcgElmnt);
}
@Override
@Nonnull
public DebitMemoReqPartnerFluentHelper getAllDebitMemoReqPartner()
{
return new DebitMemoReqPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public
DebitMemoReqPartnerByKeyFluentHelper
getDebitMemoReqPartnerByKey( final String debitMemoRequest, final String partnerFunction )
{
return new DebitMemoReqPartnerByKeyFluentHelper(servicePath, debitMemoRequest, partnerFunction);
}
@Override
@Nonnull
public DebitMemoReqPartnerUpdateFluentHelper updateDebitMemoReqPartner(
@Nonnull final DebitMemoReqPartner debitMemoReqPartner )
{
return new DebitMemoReqPartnerUpdateFluentHelper(servicePath, debitMemoReqPartner);
}
@Override
@Nonnull
public DebitMemoReqPartnerDeleteFluentHelper deleteDebitMemoReqPartner(
@Nonnull final DebitMemoReqPartner debitMemoReqPartner )
{
return new DebitMemoReqPartnerDeleteFluentHelper(servicePath, debitMemoReqPartner);
}
@Override
@Nonnull
public DebitMemoReqPrcgElmntFluentHelper getAllDebitMemoReqPrcgElmnt()
{
return new DebitMemoReqPrcgElmntFluentHelper(servicePath);
}
@Override
@Nonnull
public DebitMemoReqPrcgElmntByKeyFluentHelper getDebitMemoReqPrcgElmntByKey(
final String debitMemoRequest,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new DebitMemoReqPrcgElmntByKeyFluentHelper(
servicePath,
debitMemoRequest,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public DebitMemoReqPrcgElmntUpdateFluentHelper updateDebitMemoReqPrcgElmnt(
@Nonnull final DebitMemoReqPrcgElmnt debitMemoReqPrcgElmnt )
{
return new DebitMemoReqPrcgElmntUpdateFluentHelper(servicePath, debitMemoReqPrcgElmnt);
}
@Override
@Nonnull
public DebitMemoReqPrcgElmntDeleteFluentHelper deleteDebitMemoReqPrcgElmnt(
@Nonnull final DebitMemoReqPrcgElmnt debitMemoReqPrcgElmnt )
{
return new DebitMemoReqPrcgElmntDeleteFluentHelper(servicePath, debitMemoReqPrcgElmnt);
}
@Override
@Nonnull
public DebitMemoRequestFluentHelper getAllDebitMemoRequest()
{
return new DebitMemoRequestFluentHelper(servicePath);
}
@Override
@Nonnull
public DebitMemoRequestByKeyFluentHelper getDebitMemoRequestByKey( final String debitMemoRequest )
{
return new DebitMemoRequestByKeyFluentHelper(servicePath, debitMemoRequest);
}
@Override
@Nonnull
public DebitMemoRequestCreateFluentHelper createDebitMemoRequest( @Nonnull final DebitMemoRequest debitMemoRequest )
{
return new DebitMemoRequestCreateFluentHelper(servicePath, debitMemoRequest);
}
@Override
@Nonnull
public DebitMemoRequestUpdateFluentHelper updateDebitMemoRequest( @Nonnull final DebitMemoRequest debitMemoRequest )
{
return new DebitMemoRequestUpdateFluentHelper(servicePath, debitMemoRequest);
}
@Override
@Nonnull
public DebitMemoRequestDeleteFluentHelper deleteDebitMemoRequest( @Nonnull final DebitMemoRequest debitMemoRequest )
{
return new DebitMemoRequestDeleteFluentHelper(servicePath, debitMemoRequest);
}
@Override
@Nonnull
public DebitMemoRequestItemFluentHelper getAllDebitMemoRequestItem()
{
return new DebitMemoRequestItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
DebitMemoRequestItemByKeyFluentHelper
getDebitMemoRequestItemByKey( final String debitMemoRequest, final String debitMemoRequestItem )
{
return new DebitMemoRequestItemByKeyFluentHelper(servicePath, debitMemoRequest, debitMemoRequestItem);
}
@Override
@Nonnull
public DebitMemoRequestItemCreateFluentHelper createDebitMemoRequestItem(
@Nonnull final DebitMemoRequestItem debitMemoRequestItem )
{
return new DebitMemoRequestItemCreateFluentHelper(servicePath, debitMemoRequestItem);
}
@Override
@Nonnull
public DebitMemoRequestItemUpdateFluentHelper updateDebitMemoRequestItem(
@Nonnull final DebitMemoRequestItem debitMemoRequestItem )
{
return new DebitMemoRequestItemUpdateFluentHelper(servicePath, debitMemoRequestItem);
}
@Override
@Nonnull
public DebitMemoRequestItemDeleteFluentHelper deleteDebitMemoRequestItem(
@Nonnull final DebitMemoRequestItem debitMemoRequestItem )
{
return new DebitMemoRequestItemDeleteFluentHelper(servicePath, debitMemoRequestItem);
}
}