
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultPersonnelSettlementDocumentService 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.personnelsettlementdocument.PersCompnElmntCostAssgmtByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.personnelsettlementdocument.PersCompnElmntCostAssgmtFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.personnelsettlementdocument.PersonnelCompensationElementByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.personnelsettlementdocument.PersonnelCompensationElementFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.personnelsettlementdocument.batch.DefaultPersonnelSettlementDocumentServiceBatch;
/**
*
* You can use this inbound service to integrate settlements of employee related payments such as bonuses, commissions
* or deductions made in SAP S/4HANA Cloud with external applications. The service enables you to read the transactional
* data of personnel settlement documents.
*
* It is based on the OData protocol and it is intended for consumption in background by remote interfaces for
* application integration scenarios.
*
* In every API call, you can make use of the following operations: - You can retrieve an individual personnel
* settlement document by document number - You can retrieve multiple documents by filtering on the available properties
* - You can request additional information on the assignment of settled amounts to cost centers - You can retrieve
* delta information by filtering on date and time to only get documents which have been created after that point in
* time.
*
*
*
* Reference: SAP API
* Business Hub
*
* Details:
*
*
* OData Service:
* API_PERS_SETTLMT_DOC
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Logistics - Employee Central Personnel Settlement Document Integration (SAP_COM_0469)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* PersonnelSettlementDocument
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultPersonnelSettlementDocumentService" )
public class DefaultPersonnelSettlementDocumentService implements PersonnelSettlementDocumentService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link PersonnelSettlementDocumentService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultPersonnelSettlementDocumentService()
{
servicePath = PersonnelSettlementDocumentService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultPersonnelSettlementDocumentService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultPersonnelSettlementDocumentService withServicePath( @Nonnull final String servicePath )
{
return new DefaultPersonnelSettlementDocumentService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultPersonnelSettlementDocumentServiceBatch batch()
{
return new DefaultPersonnelSettlementDocumentServiceBatch(this);
}
@Override
@Nonnull
public PersCompnElmntCostAssgmtFluentHelper getAllPersCompnElmntCostAssgmt()
{
return new PersCompnElmntCostAssgmtFluentHelper(servicePath);
}
@Override
@Nonnull
public PersCompnElmntCostAssgmtByKeyFluentHelper getPersCompnElmntCostAssgmtByKey(
final String personnelSettlementDocument,
final String controllingArea,
final String costCenter )
{
return new PersCompnElmntCostAssgmtByKeyFluentHelper(
servicePath,
personnelSettlementDocument,
controllingArea,
costCenter);
}
@Override
@Nonnull
public PersonnelCompensationElementFluentHelper getAllPersonnelCompensationElement()
{
return new PersonnelCompensationElementFluentHelper(servicePath);
}
@Override
@Nonnull
public PersonnelCompensationElementByKeyFluentHelper getPersonnelCompensationElementByKey(
final String personnelSettlementDocument )
{
return new PersonnelCompensationElementByKeyFluentHelper(servicePath, personnelSettlementDocument);
}
}