C_MaterialBySlsOrgDistrChnl

DDL: C_MATERIALBYSLSORGDISTRCHNL SQL: CMATBYSLSORGDNCL Type: view CONSUMPTION Package: ODATA_SD_S4H_COMMON

Materials By Sales Org and Distr Channel

C_MaterialBySlsOrgDistrChnl is a Consumption CDS View that provides data about "Materials By Sales Org and Distr Channel" in SAP S/4HANA. It reads from 2 data sources (I_Product, I_ProductSalesDelivery) and exposes 17 fields with key fields SalesOrganization, DistributionChannel, Material. It has 2 associations to related views. Part of development package ODATA_SD_S4H_COMMON.

Data Sources (2)

SourceAliasJoin Type
I_Product Product from
I_ProductSalesDelivery ProductSalesDelivery inner

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_UnitOfMeasure _BaseUnit $projection.BaseUnit = _BaseUnit.UnitOfMeasure
[0..1] I_UnitOfMeasure _SalesMeasureUnit $projection.SalesMeasureUnit = _SalesMeasureUnit.UnitOfMeasure

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName CMATBYSLSORGDNCL view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Materials By Sales Org and Distr Channel view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
Search.searchable true view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.representativeKey Material view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY SalesOrganization I_ProductSalesDelivery ProductSalesOrg
KEY DistributionChannel I_ProductSalesDelivery ProductDistributionChnl
KEY Material I_Product Product
MaterialName
ProductOldID I_Product ProductOldID
ProductSalesStatus I_ProductSalesDelivery ProductSalesStatus
ProductSalesStatusValidityDate I_ProductSalesDelivery ProductSalesStatusValidityDate
BaseUnit I_Product BaseUnit
SalesMeasureUnit I_ProductSalesDelivery SalesMeasureUnit
ItemCategoryGroup I_ProductSalesDelivery ItemCategoryGroup
ProductGroup I_Product ProductGroup
_ProductGroup_2 I_Product _ProductGroup_2
_SalesOrganization _SalesOrganization
_DistributionChannel _DistributionChannel
_BaseUnit _BaseUnit
_ProductSalesStatus I_ProductSalesDelivery _ProductSalesStatus
_SalesMeasureUnit _SalesMeasureUnit
@AbapCatalog.sqlViewName: 'CMATBYSLSORGDNCL'
@AbapCatalog.compiler.compareFilter: true
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}

@EndUserText.label: 'Materials By Sales Org and Distr Channel'

@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION

@Search: {
  searchable: true
}

@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XXL

@ObjectModel.representativeKey: 'Material'

define view C_MaterialBySlsOrgDistrChnl
  as select from I_Product              as Product

    inner join   I_ProductSalesDelivery as ProductSalesDelivery on Product.Product = ProductSalesDelivery.Product

  association [0..1] to I_UnitOfMeasure           as _BaseUnit                on $projection.BaseUnit         = _BaseUnit.UnitOfMeasure

  association [0..1] to I_UnitOfMeasure           as _SalesMeasureUnit        on $projection.SalesMeasureUnit = _SalesMeasureUnit.UnitOfMeasure
  
{

      @ObjectModel.foreignKey.association: '_SalesOrganization'
  key ProductSalesDelivery.ProductSalesOrg                                                                            as SalesOrganization,

      @ObjectModel.foreignKey.association: '_DistributionChannel'
  key ProductSalesDelivery.ProductDistributionChnl                                                                    as DistributionChannel,

      //      @UI: {

      //        lineItem: { position:10, importance:#HIGH }

      //      }

      // @UI.selectionField: [{exclude: true}]

      @Search: {
       defaultSearchElement: true,
       fuzzinessThreshold: 0.8,
       ranking: #HIGH }
      @ObjectModel.text.element:  [ 'MaterialName' ]
  key Product.Product                                                                                                 as Material,

      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 0.8
      }
      @Semantics.text:true
      Product._Text[1:Language=$session.system_language].ProductName                                                  as MaterialName,

      @UI.hidden: true
      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 1
      }
      Product.ProductOldID,
      
      @UI.hidden: true
      @ObjectModel.foreignKey.association: '_ProductSalesStatus'
      ProductSalesDelivery.ProductSalesStatus,
      
      @UI.hidden: true
      ProductSalesDelivery.ProductSalesStatusValidityDate,

      @Consumption.hidden: true
      @ObjectModel.foreignKey.association: '_BaseUnit'
      Product.BaseUnit,

      @Consumption.hidden: true
      @ObjectModel.foreignKey.association: '_SalesMeasureUnit'
      ProductSalesDelivery.SalesMeasureUnit,

      @Consumption.filter.hidden: true
      //      @UI: {

      //        lineItem: { position:30, importance:#HIGH },

      //        selectionField: { position: 30 }

      //      }

      @EndUserText.label: 'Sales Unit'
      cast( case when
                ProductSalesDelivery.SalesMeasureUnit = ''
            then
                Product.BaseUnit
            else
                ProductSalesDelivery.SalesMeasureUnit
            end as reqd_qty_unit )                                                                                    as RequestedQuantityUnit,

      @Consumption.hidden: true
      ProductSalesDelivery.ItemCategoryGroup,
      
      Product.ProductGroup,
      
     @Consumption.hidden: true
      Product._ProductGroup_2,

      _SalesOrganization,
      _DistributionChannel,
      _BaseUnit,
      ProductSalesDelivery._ProductSalesStatus,
      _SalesMeasureUnit
} where Product.IsMarkedForDeletion is initial and ProductSalesDelivery.IsMarkedForDeletion is initial