
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultBillOfMaterialsService 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 java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.UUID;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BOMItemCategoryByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BOMItemCategoryFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BOMItemCategoryTextByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BOMItemCategoryTextFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterial;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialItemUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialUsageByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialUsageFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialUsageTextByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.BillOfMaterialUsageTextFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.ExplodeBOMFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.billofmaterials.ReleaseVersionBOMFluentHelper;
/**
*
* This asynchronous inbound service enables you to read, create and update Bills of Material and Version Bills of
* Material. It is based on the OData protocol and can be consumed in SAP Fiori apps and on other user interfaces.
*
* The service contains either no header, one header or multiple headers for the specified material and zero or more
* items for each header. .
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_BILL_OF_MATERIAL_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Product Lifecycle Management - Master Data Integration (SAP_COM_0105)
*
*
* Scope Items:
* Engineering Bill of Material - Versions Management (1NR),
* Engineering Bill of Material - Change Master Management
* (1R3)
*
*
* Authentication Methods:
* Basic, x509
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultBillOfMaterialsService" )
public class DefaultBillOfMaterialsService implements BillOfMaterialsService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link BillOfMaterialsService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultBillOfMaterialsService()
{
servicePath = BillOfMaterialsService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultBillOfMaterialsService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultBillOfMaterialsService withServicePath( @Nonnull final String servicePath )
{
return new DefaultBillOfMaterialsService(servicePath);
}
@Override
@Nonnull
public BillOfMaterialFluentHelper getAllBillOfMaterial()
{
return new BillOfMaterialFluentHelper(servicePath);
}
@Override
@Nonnull
public BillOfMaterialByKeyFluentHelper getBillOfMaterialByKey( final UUID billOfMaterialHeaderUUID )
{
return new BillOfMaterialByKeyFluentHelper(servicePath, billOfMaterialHeaderUUID);
}
@Override
@Nonnull
public BillOfMaterialCreateFluentHelper createBillOfMaterial( @Nonnull final BillOfMaterial billOfMaterial )
{
return new BillOfMaterialCreateFluentHelper(servicePath, billOfMaterial);
}
@Override
@Nonnull
public BillOfMaterialUpdateFluentHelper updateBillOfMaterial( @Nonnull final BillOfMaterial billOfMaterial )
{
return new BillOfMaterialUpdateFluentHelper(servicePath, billOfMaterial);
}
@Override
@Nonnull
public BillOfMaterialItemFluentHelper getAllBillOfMaterialItem()
{
return new BillOfMaterialItemFluentHelper(servicePath);
}
@Override
@Nonnull
public BillOfMaterialItemByKeyFluentHelper getBillOfMaterialItemByKey( final UUID billOfMaterialItemUUID )
{
return new BillOfMaterialItemByKeyFluentHelper(servicePath, billOfMaterialItemUUID);
}
@Override
@Nonnull
public BillOfMaterialItemCreateFluentHelper createBillOfMaterialItem(
@Nonnull final BillOfMaterialItem billOfMaterialItem )
{
return new BillOfMaterialItemCreateFluentHelper(servicePath, billOfMaterialItem);
}
@Override
@Nonnull
public BillOfMaterialItemUpdateFluentHelper updateBillOfMaterialItem(
@Nonnull final BillOfMaterialItem billOfMaterialItem )
{
return new BillOfMaterialItemUpdateFluentHelper(servicePath, billOfMaterialItem);
}
@Override
@Nonnull
public BillOfMaterialUsageFluentHelper getAllBillOfMaterialUsage()
{
return new BillOfMaterialUsageFluentHelper(servicePath);
}
@Override
@Nonnull
public BillOfMaterialUsageByKeyFluentHelper getBillOfMaterialUsageByKey( final String billOfMaterialVariantUsage )
{
return new BillOfMaterialUsageByKeyFluentHelper(servicePath, billOfMaterialVariantUsage);
}
@Override
@Nonnull
public BillOfMaterialUsageTextFluentHelper getAllBillOfMaterialUsageText()
{
return new BillOfMaterialUsageTextFluentHelper(servicePath);
}
@Override
@Nonnull
public
BillOfMaterialUsageTextByKeyFluentHelper
getBillOfMaterialUsageTextByKey( final String language, final String billOfMaterialVariantUsage )
{
return new BillOfMaterialUsageTextByKeyFluentHelper(servicePath, language, billOfMaterialVariantUsage);
}
@Override
@Nonnull
public BOMItemCategoryFluentHelper getAllBOMItemCategory()
{
return new BOMItemCategoryFluentHelper(servicePath);
}
@Override
@Nonnull
public BOMItemCategoryByKeyFluentHelper getBOMItemCategoryByKey( final String billOfMaterialItemCategory )
{
return new BOMItemCategoryByKeyFluentHelper(servicePath, billOfMaterialItemCategory);
}
@Override
@Nonnull
public BOMItemCategoryTextFluentHelper getAllBOMItemCategoryText()
{
return new BOMItemCategoryTextFluentHelper(servicePath);
}
@Override
@Nonnull
public
BOMItemCategoryTextByKeyFluentHelper
getBOMItemCategoryTextByKey( final String language, final String billOfMaterialItemCategory )
{
return new BOMItemCategoryTextByKeyFluentHelper(servicePath, language, billOfMaterialItemCategory);
}
@Override
@Nonnull
public ExplodeBOMFluentHelper explodeBOM(
final UUID billOfMaterialHeaderUUID,
final String material,
final String plant,
final String billOfMaterialVariant,
final String bOMExplosionApplication,
final BigDecimal requiredQuantity,
final String engineeringChangeDocument,
final Boolean bOMExplosionIsLimited,
final String bOMItmQtyIsScrapRelevant,
final String billOfMaterialItemCategory,
final String bOMExplosionAssembly,
final LocalDateTime bOMExplosionDate,
final BigDecimal bOMExplosionLevel,
final Boolean bOMExplosionIsMultilevel,
final String materialProvisionFltrType,
final String sparePartFltrType )
{
return new ExplodeBOMFluentHelper(
servicePath,
billOfMaterialHeaderUUID,
material,
plant,
billOfMaterialVariant,
bOMExplosionApplication,
requiredQuantity,
engineeringChangeDocument,
bOMExplosionIsLimited,
bOMItmQtyIsScrapRelevant,
billOfMaterialItemCategory,
bOMExplosionAssembly,
bOMExplosionDate,
bOMExplosionLevel,
bOMExplosionIsMultilevel,
materialProvisionFltrType,
sparePartFltrType);
}
@Override
@Nonnull
public ReleaseVersionBOMFluentHelper releaseVersionBOM(
final UUID billOfMaterialHeaderUUID,
final String stlnr,
final String stlty,
final String stlal,
final String bomVersn,
final String versnst,
final Boolean versnlastind )
{
return new ReleaseVersionBOMFluentHelper(
servicePath,
billOfMaterialHeaderUUID,
stlnr,
stlty,
stlal,
bomVersn,
versnst,
versnlastind);
}
}