
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultPurchaseOrderService 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.purchaseorder.PurOrdAccountAssignment;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurOrdAccountAssignmentByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurOrdAccountAssignmentFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurOrdAccountAssignmentUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurOrdPricingElementByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurOrdPricingElementFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrder;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderScheduleLine;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderScheduleLineByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderScheduleLineFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderScheduleLineUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.PurchaseOrderUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.purchaseorder.batch.DefaultPurchaseOrderServiceBatch;
/**
*
* This synchronous inbound service enables you to create, update, and delete purchase orders with the data provided in
* a payload. 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_PURCHASEORDER_PROCESS_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Distributed Manufacturing Integration (SAP_COM_0077), Purchase Order Integration (SAP_COM_0053)
*
*
* Scope Items:
* Integration with SAP Distributed Manufacturing with SAP
* S/4HANA Cloud (1NX), Consumable Purchasing (BNX),
* Service and Material Procurement - Project-Based Services
* (J13), Procurement of Direct Materials (J45)
*
*
* Authentication Methods:
* Basic, x509
*
*
* Business Object:
* PurchaseOrder
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultPurchaseOrderService" )
public class DefaultPurchaseOrderService implements PurchaseOrderService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link PurchaseOrderService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultPurchaseOrderService()
{
servicePath = PurchaseOrderService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultPurchaseOrderService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultPurchaseOrderService withServicePath( @Nonnull final String servicePath )
{
return new DefaultPurchaseOrderService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultPurchaseOrderServiceBatch batch()
{
return new DefaultPurchaseOrderServiceBatch(this);
}
@Override
@Nonnull
public PurchaseOrderFluentHelper getAllPurchaseOrder()
{
return new PurchaseOrderFluentHelper(servicePath);
}
@Override
@Nonnull
public PurchaseOrderByKeyFluentHelper getPurchaseOrderByKey( final String purchaseOrder )
{
return new PurchaseOrderByKeyFluentHelper(servicePath, purchaseOrder);
}
@Override
@Nonnull
public PurchaseOrderCreateFluentHelper createPurchaseOrder( @Nonnull final PurchaseOrder purchaseOrder )
{
return new PurchaseOrderCreateFluentHelper(servicePath, purchaseOrder);
}
@Override
@Nonnull
public PurchaseOrderUpdateFluentHelper updatePurchaseOrder( @Nonnull final PurchaseOrder purchaseOrder )
{
return new PurchaseOrderUpdateFluentHelper(servicePath, purchaseOrder);
}
@Override
@Nonnull
public PurchaseOrderDeleteFluentHelper deletePurchaseOrder( @Nonnull final PurchaseOrder purchaseOrder )
{
return new PurchaseOrderDeleteFluentHelper(servicePath, purchaseOrder);
}
@Override
@Nonnull
public PurchaseOrderItemFluentHelper getAllPurchaseOrderItem()
{
return new PurchaseOrderItemFluentHelper(servicePath);
}
@Override
@Nonnull
public
PurchaseOrderItemByKeyFluentHelper
getPurchaseOrderItemByKey( final String purchaseOrder, final String purchaseOrderItem )
{
return new PurchaseOrderItemByKeyFluentHelper(servicePath, purchaseOrder, purchaseOrderItem);
}
@Override
@Nonnull
public PurchaseOrderItemCreateFluentHelper createPurchaseOrderItem(
@Nonnull final PurchaseOrderItem purchaseOrderItem )
{
return new PurchaseOrderItemCreateFluentHelper(servicePath, purchaseOrderItem);
}
@Override
@Nonnull
public PurchaseOrderItemUpdateFluentHelper updatePurchaseOrderItem(
@Nonnull final PurchaseOrderItem purchaseOrderItem )
{
return new PurchaseOrderItemUpdateFluentHelper(servicePath, purchaseOrderItem);
}
@Override
@Nonnull
public PurchaseOrderItemDeleteFluentHelper deletePurchaseOrderItem(
@Nonnull final PurchaseOrderItem purchaseOrderItem )
{
return new PurchaseOrderItemDeleteFluentHelper(servicePath, purchaseOrderItem);
}
@Override
@Nonnull
public PurchaseOrderScheduleLineFluentHelper getAllPurchaseOrderScheduleLine()
{
return new PurchaseOrderScheduleLineFluentHelper(servicePath);
}
@Override
@Nonnull
public PurchaseOrderScheduleLineByKeyFluentHelper getPurchaseOrderScheduleLineByKey(
final String purchasingDocument,
final String purchasingDocumentItem,
final String scheduleLine )
{
return new PurchaseOrderScheduleLineByKeyFluentHelper(
servicePath,
purchasingDocument,
purchasingDocumentItem,
scheduleLine);
}
@Override
@Nonnull
public PurchaseOrderScheduleLineUpdateFluentHelper updatePurchaseOrderScheduleLine(
@Nonnull final PurchaseOrderScheduleLine purchaseOrderScheduleLine )
{
return new PurchaseOrderScheduleLineUpdateFluentHelper(servicePath, purchaseOrderScheduleLine);
}
@Override
@Nonnull
public PurOrdAccountAssignmentFluentHelper getAllPurOrdAccountAssignment()
{
return new PurOrdAccountAssignmentFluentHelper(servicePath);
}
@Override
@Nonnull
public PurOrdAccountAssignmentByKeyFluentHelper getPurOrdAccountAssignmentByKey(
final String purchaseOrder,
final String purchaseOrderItem,
final String accountAssignmentNumber )
{
return new PurOrdAccountAssignmentByKeyFluentHelper(
servicePath,
purchaseOrder,
purchaseOrderItem,
accountAssignmentNumber);
}
@Override
@Nonnull
public PurOrdAccountAssignmentUpdateFluentHelper updatePurOrdAccountAssignment(
@Nonnull final PurOrdAccountAssignment purOrdAccountAssignment )
{
return new PurOrdAccountAssignmentUpdateFluentHelper(servicePath, purOrdAccountAssignment);
}
@Override
@Nonnull
public PurOrdPricingElementFluentHelper getAllPurOrdPricingElement()
{
return new PurOrdPricingElementFluentHelper(servicePath);
}
@Override
@Nonnull
public PurOrdPricingElementByKeyFluentHelper getPurOrdPricingElementByKey(
final String purchaseOrder,
final String purchaseOrderItem,
final String pricingDocument,
final String pricingDocumentItem,
final String pricingProcedureStep,
final String pricingProcedureCounter )
{
return new PurOrdPricingElementByKeyFluentHelper(
servicePath,
purchaseOrder,
purchaseOrderItem,
pricingDocument,
pricingDocumentItem,
pricingProcedureStep,
pricingProcedureCounter);
}
}