
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultCreditMemoRequestService 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.creditmemorequest.CreditMemoReqItemPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPrcgElmnt;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPrcgElmntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPrcgElmntDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPrcgElmntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqItemPrcgElmntUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPartner;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPartnerDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPartnerUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPrcgElmnt;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPrcgElmntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPrcgElmntDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPrcgElmntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoReqPrcgElmntUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequest;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.CreditMemoRequestUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.RejectApprovalRequestFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.ReleaseApprovalRequestFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.creditmemorequest.batch.DefaultCreditMemoRequestServiceBatch;
/**
*
* You can use this service to integrate external applications with credit memo request processing in SAP S/4HANA Cloud.
* In every API call, you can make use of the following operations: - You can retrieve credit memo requests. Apply any
* of the filters provided or retrieve all existing data. - You can create credit 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
* credit 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 credit memo requests, you can update the header, header partner, header pricing element, item, item
* partner, and item pricing element. - For existing credit 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_CREDIT_MEMO_REQUEST_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Credit Memo Request Integration (SAP_COM_0158)
*
*
* Scope Items:
* Credit Memo Processing (1EZ),
* Invoice Correction Process with Credit Memo (BKL)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* CreditMemoRequest
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultCreditMemoRequestService" )
public class DefaultCreditMemoRequestService implements CreditMemoRequestService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link CreditMemoRequestService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultCreditMemoRequestService()
{
servicePath = CreditMemoRequestService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultCreditMemoRequestService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultCreditMemoRequestService withServicePath( @Nonnull final String servicePath )
{
return new DefaultCreditMemoRequestService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultCreditMemoRequestServiceBatch batch()
{
return new DefaultCreditMemoRequestServiceBatch(this);
}
@Override
@Nonnull
public CreditMemoReqItemPartnerFluentHelper getAllCreditMemoReqItemPartner()
{
return new CreditMemoReqItemPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public CreditMemoReqItemPartnerByKeyFluentHelper getCreditMemoReqItemPartnerByKey(
final String creditMemoRequest,
final String creditMemoRequestItem,
final String partnerFunction )
{
return new CreditMemoReqItemPartnerByKeyFluentHelper(
servicePath,
creditMemoRequest,
creditMemoRequestItem,
partnerFunction);
}
@Override
@Nonnull
public CreditMemoReqItemPartnerUpdateFluentHelper updateCreditMemoReqItemPartner(
@Nonnull final CreditMemoReqItemPartner creditMemoReqItemPartner )
{
return new CreditMemoReqItemPartnerUpdateFluentHelper(servicePath, creditMemoReqItemPartner);
}
@Override
@Nonnull
public CreditMemoReqItemPartnerDeleteFluentHelper deleteCreditMemoReqItemPartner(
@Nonnull final CreditMemoReqItemPartner creditMemoReqItemPartner )
{
return new CreditMemoReqItemPartnerDeleteFluentHelper(servicePath, creditMemoReqItemPartner);
}
@Override
@Nonnull
public CreditMemoReqItemPrcgElmntFluentHelper getAllCreditMemoReqItemPrcgElmnt()
{
return new CreditMemoReqItemPrcgElmntFluentHelper(servicePath);
}
@Override
@Nonnull
public CreditMemoReqItemPrcgElmntByKeyFluentHelper getCreditMemoReqItemPrcgElmntByKey(
final String creditMemoRequest,
final String creditMemoRequestItem,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new CreditMemoReqItemPrcgElmntByKeyFluentHelper(
servicePath,
creditMemoRequest,
creditMemoRequestItem,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public CreditMemoReqItemPrcgElmntUpdateFluentHelper updateCreditMemoReqItemPrcgElmnt(
@Nonnull final CreditMemoReqItemPrcgElmnt creditMemoReqItemPrcgElmnt )
{
return new CreditMemoReqItemPrcgElmntUpdateFluentHelper(servicePath, creditMemoReqItemPrcgElmnt);
}
@Override
@Nonnull
public CreditMemoReqItemPrcgElmntDeleteFluentHelper deleteCreditMemoReqItemPrcgElmnt(
@Nonnull final CreditMemoReqItemPrcgElmnt creditMemoReqItemPrcgElmnt )
{
return new CreditMemoReqItemPrcgElmntDeleteFluentHelper(servicePath, creditMemoReqItemPrcgElmnt);
}
@Override
@Nonnull
public CreditMemoReqPartnerFluentHelper getAllCreditMemoReqPartner()
{
return new CreditMemoReqPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public
CreditMemoReqPartnerByKeyFluentHelper
getCreditMemoReqPartnerByKey( final String creditMemoRequest, final String partnerFunction )
{
return new CreditMemoReqPartnerByKeyFluentHelper(servicePath, creditMemoRequest, partnerFunction);
}
@Override
@Nonnull
public CreditMemoReqPartnerUpdateFluentHelper updateCreditMemoReqPartner(
@Nonnull final CreditMemoReqPartner creditMemoReqPartner )
{
return new CreditMemoReqPartnerUpdateFluentHelper(servicePath, creditMemoReqPartner);
}
@Override
@Nonnull
public CreditMemoReqPartnerDeleteFluentHelper deleteCreditMemoReqPartner(
@Nonnull final CreditMemoReqPartner creditMemoReqPartner )
{
return new CreditMemoReqPartnerDeleteFluentHelper(servicePath, creditMemoReqPartner);
}
@Override
@Nonnull
public CreditMemoReqPrcgElmntFluentHelper getAllCreditMemoReqPrcgElmnt()
{
return new CreditMemoReqPrcgElmntFluentHelper(servicePath);
}
@Override
@Nonnull
public CreditMemoReqPrcgElmntByKeyFluentHelper getCreditMemoReqPrcgElmntByKey(
final String creditMemoRequest,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new CreditMemoReqPrcgElmntByKeyFluentHelper(
servicePath,
creditMemoRequest,
pricingProcedureStep,
pricingProcedureCounter);
}
@Override
@Nonnull
public CreditMemoReqPrcgElmntUpdateFluentHelper updateCreditMemoReqPrcgElmnt(
@Nonnull final CreditMemoReqPrcgElmnt creditMemoReqPrcgElmnt )
{
return new CreditMemoReqPrcgElmntUpdateFluentHelper(servicePath, creditMemoReqPrcgElmnt);
}
@Override
@Nonnull
public CreditMemoReqPrcgElmntDeleteFluentHelper deleteCreditMemoReqPrcgElmnt(
@Nonnull final CreditMemoReqPrcgElmnt creditMemoReqPrcgElmnt )
{
return new CreditMemoReqPrcgElmntDeleteFluentHelper(servicePath, creditMemoReqPrcgElmnt);
}
@Override
@Nonnull
public CreditMemoRequestFluentHelper getAllCreditMemoRequest()
{
return new CreditMemoRequestFluentHelper(servicePath);
}
@Override
@Nonnull
public CreditMemoRequestByKeyFluentHelper getCreditMemoRequestByKey( final String creditMemoRequest )
{
return new CreditMemoRequestByKeyFluentHelper(servicePath, creditMemoRequest);
}
@Override
@Nonnull
public CreditMemoRequestCreateFluentHelper createCreditMemoRequest(
@Nonnull final CreditMemoRequest creditMemoRequest )
{
return new CreditMemoRequestCreateFluentHelper(servicePath, creditMemoRequest);
}
@Override
@Nonnull
public CreditMemoRequestUpdateFluentHelper updateCreditMemoRequest(
@Nonnull final CreditMemoRequest creditMemoRequest )
{
return new CreditMemoRequestUpdateFluentHelper(servicePath, creditMemoRequest);
}
@Override
@Nonnull
public CreditMemoRequestDeleteFluentHelper deleteCreditMemoRequest(
@Nonnull final CreditMemoRequest creditMemoRequest )
{
return new CreditMemoRequestDeleteFluentHelper(servicePath, creditMemoRequest);
}
@Override
@Nonnull
public CreditMemoRequestItemFluentHelper getAllCreditMemoRequestItem()
{
return new CreditMemoRequestItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
CreditMemoRequestItemByKeyFluentHelper
getCreditMemoRequestItemByKey( final String creditMemoRequest, final String creditMemoRequestItem )
{
return new CreditMemoRequestItemByKeyFluentHelper(servicePath, creditMemoRequest, creditMemoRequestItem);
}
@Override
@Nonnull
public CreditMemoRequestItemCreateFluentHelper createCreditMemoRequestItem(
@Nonnull final CreditMemoRequestItem creditMemoRequestItem )
{
return new CreditMemoRequestItemCreateFluentHelper(servicePath, creditMemoRequestItem);
}
@Override
@Nonnull
public CreditMemoRequestItemUpdateFluentHelper updateCreditMemoRequestItem(
@Nonnull final CreditMemoRequestItem creditMemoRequestItem )
{
return new CreditMemoRequestItemUpdateFluentHelper(servicePath, creditMemoRequestItem);
}
@Override
@Nonnull
public CreditMemoRequestItemDeleteFluentHelper deleteCreditMemoRequestItem(
@Nonnull final CreditMemoRequestItem creditMemoRequestItem )
{
return new CreditMemoRequestItemDeleteFluentHelper(servicePath, creditMemoRequestItem);
}
@Override
@Nonnull
public ReleaseApprovalRequestFluentHelper releaseApprovalRequest( final String creditMemoRequest )
{
return new ReleaseApprovalRequestFluentHelper(servicePath, creditMemoRequest);
}
@Override
@Nonnull
public RejectApprovalRequestFluentHelper rejectApprovalRequest( final String creditMemoRequest )
{
return new RejectApprovalRequestFluentHelper(servicePath, creditMemoRequest);
}
}