
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSchedulingAgreementService 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.schedulingagreement.SchAgrmtAcCntByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtAcCntFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtHeader;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtHeaderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtHeaderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtHeaderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtPartnerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtPartnerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtSchLineByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.schedulingagreement.SchAgrmtSchLineFluentHelper;
/**
*
* This service enables you to read and create purchase scheduling agreements through an API call from a source system
* outside SAP S/4HANA Cloud or SAP S/4HANA.
*
* # .
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_SCHED_AGRMT_PROCESS_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Purchase Scheduling Agreement Integration (SAP_COM_0103)
*
*
* Scope Items:
* Scheduling Agreements in Procurement (BMR),
* Consumable Purchasing (BNX),
* Procurement of Direct Materials (J45)
*
*
* Authentication Methods:
* Basic, x509
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultSchedulingAgreementService" )
public class DefaultSchedulingAgreementService implements SchedulingAgreementService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link SchedulingAgreementService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultSchedulingAgreementService()
{
servicePath = SchedulingAgreementService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultSchedulingAgreementService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultSchedulingAgreementService withServicePath( @Nonnull final String servicePath )
{
return new DefaultSchedulingAgreementService(servicePath);
}
@Override
@Nonnull
public SchAgrmtAcCntFluentHelper getAllSchAgrmtAcCnt()
{
return new SchAgrmtAcCntFluentHelper(servicePath);
}
@Override
@Nonnull
public SchAgrmtAcCntByKeyFluentHelper getSchAgrmtAcCntByKey(
final String accountAssignmentNumber,
final String schedulingAgreementItem,
final String schedulingAgreement )
{
return new SchAgrmtAcCntByKeyFluentHelper(
servicePath,
accountAssignmentNumber,
schedulingAgreementItem,
schedulingAgreement);
}
@Override
@Nonnull
public SchAgrmtHeaderFluentHelper getAllSchAgrmtHeader()
{
return new SchAgrmtHeaderFluentHelper(servicePath);
}
@Override
@Nonnull
public SchAgrmtHeaderByKeyFluentHelper getSchAgrmtHeaderByKey( final String schedulingAgreement )
{
return new SchAgrmtHeaderByKeyFluentHelper(servicePath, schedulingAgreement);
}
@Override
@Nonnull
public SchAgrmtHeaderCreateFluentHelper createSchAgrmtHeader( @Nonnull final SchAgrmtHeader schAgrmtHeader )
{
return new SchAgrmtHeaderCreateFluentHelper(servicePath, schAgrmtHeader);
}
@Override
@Nonnull
public SchAgrmtItemFluentHelper getAllSchAgrmtItem()
{
return new SchAgrmtItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
SchAgrmtItemByKeyFluentHelper
getSchAgrmtItemByKey( final String schedulingAgreement, final String schedulingAgreementItem )
{
return new SchAgrmtItemByKeyFluentHelper(servicePath, schedulingAgreement, schedulingAgreementItem);
}
@Override
@Nonnull
public SchAgrmtPartnerFluentHelper getAllSchAgrmtPartner()
{
return new SchAgrmtPartnerFluentHelper(servicePath);
}
@Override
@Nonnull
public SchAgrmtPartnerByKeyFluentHelper getSchAgrmtPartnerByKey(
final String schedulingAgreement,
final String schedulingAgreementItem,
final String purchasingOrganization,
final String supplierSubrange,
final String plant,
final String partnerFunction,
final String partnerCounter )
{
return new SchAgrmtPartnerByKeyFluentHelper(
servicePath,
schedulingAgreement,
schedulingAgreementItem,
purchasingOrganization,
supplierSubrange,
plant,
partnerFunction,
partnerCounter);
}
@Override
@Nonnull
public SchAgrmtSchLineFluentHelper getAllSchAgrmtSchLine()
{
return new SchAgrmtSchLineFluentHelper(servicePath);
}
@Override
@Nonnull
public SchAgrmtSchLineByKeyFluentHelper getSchAgrmtSchLineByKey(
final String schedulingAgreement,
final String schedulingAgreementItem,
final String scheduleLine )
{
return new SchAgrmtSchLineByKeyFluentHelper(
servicePath,
schedulingAgreement,
schedulingAgreementItem,
scheduleLine);
}
}