I_ExplctAssMdlUsrProdExclsnTP

DDL: I_EXPLCTASSMDLUSRPRODEXCLSNTP Type: view_entity TRANSACTIONAL Package: RFM_ASSORTMENT_RAP_EXPLICIT

Product Exclusion from Assortment Module for Assortment User

I_ExplctAssMdlUsrProdExclsnTP is a Transactional CDS View that provides data about "Product Exclusion from Assortment Module for Assortment User" in SAP S/4HANA. It reads from 2 data sources (I_AsstmtMdlUserProductExclsn, I_ExplicitAssortmentModule) and exposes 11 fields with key fields AssortmentModuleObjectUUID, Product, AssortmentModuleUser. It has 3 associations to related views. Part of development package RFM_ASSORTMENT_RAP_EXPLICIT.

Data Sources (2)

SourceAliasJoin Type
I_AsstmtMdlUserProductExclsn Exclusions from
I_ExplicitAssortmentModule ExplicitModules inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_ExplicitAssortmentModuleTP _ExplicitAssortmentModule $projection.AssortmentModuleObjectUUID = _ExplicitAssortmentModule.AssortmentModuleUUID
[1..1] I_Customer _Customer $projection.AssortmentModuleUser = _Customer.Customer
[0..1] I_ProdToExplicitAsstmtMdlTP _ModuleProduct $projection.Product = _ModuleProduct.Product and $projection.AssortmentModuleObjectUUID = _ModuleProduct.AssortmentModuleUUID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Product Exclusion from Assortment Module for Assortment User view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.sapObjectNodeType.name ListingCondition view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY AssortmentModuleObjectUUID I_AsstmtMdlUserProductExclsn AssortmentModuleObjectUUID
KEY Product I_AsstmtMdlUserProductExclsn Product
KEY AssortmentModuleUser I_AsstmtMdlUserProductExclsn AssortmentModuleUser
LastChangeDate I_AsstmtMdlUserProductExclsn LastChangeDate
LastChangeDateTime I_AsstmtMdlUserProductExclsn LastChangeDateTime
SalesOrganization I_AsstmtMdlUserProductExclsn SalesOrganization
DistributionChannel I_AsstmtMdlUserProductExclsn DistributionChannel
ProductIsAssignedToVersion
ValidityEndDate
_ExplicitAssortmentModule _ExplicitAssortmentModule
_Customer _Customer
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@EndUserText.label: 'Product Exclusion from Assortment Module for Assortment User'

@VDM: {
  viewType: #TRANSACTIONAL,

  lifecycle: {
    contract: {
      type: #SAP_INTERNAL_API
    }
  }
}
@ObjectModel: {
    usageType: {
        serviceQuality: #C,
        sizeCategory: #L,
        dataClass: #MASTER
   },
   sapObjectNodeType.name: 'ListingCondition'
}
//This view is deprecated, use "I_AsstmtMdlUsrProdExclsnTP_2" instead

define root view entity I_ExplctAssMdlUsrProdExclsnTP
  as select from I_AsstmtMdlUserProductExclsn as Exclusions
    inner to one join I_AsstmtMdlMgmtSolnGenSetting on I_AsstmtMdlMgmtSolnGenSetting.AsstmtMdlMgmtSolnIsEnbld = 'X'
    inner join   I_ExplicitAssortmentModule   as ExplicitModules on Exclusions.AssortmentModuleObjectUUID = ExplicitModules.AssortmentModuleUUID

  association [1..1] to I_ExplicitAssortmentModuleTP as _ExplicitAssortmentModule on  $projection.AssortmentModuleObjectUUID = _ExplicitAssortmentModule.AssortmentModuleUUID
  association [1..1] to I_Customer                   as _Customer                 on  $projection.AssortmentModuleUser = _Customer.Customer
  association [0..1] to I_ProdToExplicitAsstmtMdlTP  as _ModuleProduct            on  $projection.Product                    = _ModuleProduct.Product
                                                                                  and $projection.AssortmentModuleObjectUUID = _ModuleProduct.AssortmentModuleUUID
{
  key Exclusions.AssortmentModuleObjectUUID,
  key Exclusions.Product,
  key Exclusions.AssortmentModuleUser                                                as AssortmentModuleUser,
      Exclusions.LastChangeDate,
      Exclusions.LastChangeDateTime,
      /*For DCL*/
      Exclusions.SalesOrganization,
      Exclusions.DistributionChannel,
      case when coalesce( _ModuleProduct.Product, ' ' ) <> ' ' then 'X' else ' ' end as ProductIsAssignedToVersion,
      max(_ModuleProduct.ValidityEndDate) as ValidityEndDate,
      _ExplicitAssortmentModule,
      _Customer
}
group by Exclusions.AssortmentModuleObjectUUID, 
         Exclusions.Product,
         Exclusions.AssortmentModuleUser,
         Exclusions.LastChangeDate,
         Exclusions.LastChangeDateTime,
         Exclusions.SalesOrganization,
         Exclusions.DistributionChannel,
         _ModuleProduct.Product