I_ProdAssgblToExplctMdlVersTP

DDL: I_PRODASSGBLTOEXPLCTMDLVERSTP Type: view_entity TRANSACTIONAL Package: RFM_ASSORTMENT_RAP_EXPLICIT

Product Assignable to Assortment Module Version

I_ProdAssgblToExplctMdlVersTP is a Transactional CDS View that provides data about "Product Assignable to Assortment Module Version" in SAP S/4HANA. It reads from 3 data sources (I_ProdToExplctAsstmtMdlVersTP, I_ProductRetail, I_ExplicitAsstmtMdlVersionTP) and exposes 13 fields with key fields AssortmentModuleVersionUUID, Product. It has 1 association to related views. Part of development package RFM_ASSORTMENT_RAP_EXPLICIT.

Data Sources (3)

SourceAliasJoin Type
I_ProdToExplctAsstmtMdlVersTP Assignments left_outer
I_ProductRetail I_ProductRetail inner
I_ExplicitAsstmtMdlVersionTP ModuleVersion from

Associations (1)

CardinalityTargetAliasCondition
[1..*] I_AssortmentModuleText _Text _Text.AssortmentModuleUUID = $projection.AssortmentModuleVersionUUID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Product Assignable to Assortment Module Version 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 Product view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY AssortmentModuleVersionUUID I_ExplicitAsstmtMdlVersionTP AssortmentModuleVersionUUID
KEY Product Product Product
AssortmentModuleName I_ExplicitAsstmtMdlVersionTP AssortmentModuleName
ValidityStartDate I_ExplicitAsstmtMdlVersionTP ValidityStartDate
ValidityEndDate I_ExplicitAsstmtMdlVersionTP ValidityEndDate
AssignmentValidityStartDate I_ProdToExplctAsstmtMdlVersTP ValidityStartDate
AssignmentValidityEndDate I_ProdToExplctAsstmtMdlVersTP ValidityEndDate
AuthorizationGroup Product AuthorizationGroup
ProductGroup Product ProductGroup
ProductType Product ProductType
_ProductGroup_2 Product _ProductGroup_2
_ProductType Product _ProductType
_Text _Text
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #BLOCKED_DATA_EXCLUDED
  }

@EndUserText.label: 'Product Assignable to Assortment Module Version'

@VDM: {
  viewType: #TRANSACTIONAL,

  lifecycle: {
    contract: {
      type: #SAP_INTERNAL_API
    }
  }
}

@ObjectModel: {
    usageType: {
        serviceQuality: #C,
        sizeCategory: #L,
        dataClass: #MASTER
   },
   sapObjectNodeType.name: 'Product'
}

define root view entity I_ProdAssgblToExplctMdlVersTP
  as select from    I_ExplicitAsstmtMdlVersionTP  as ModuleVersion
      inner to one join I_AsstmtMdlMgmtSolnGenSetting on I_AsstmtMdlMgmtSolnGenSetting.AsstmtMdlMgmtSolnIsEnbld = 'X'
    cross join    (  I_Product                     as Product
    inner join I_ProductRetail on I_ProductRetail.Product = Product.Product )
    left outer join I_ProdToExplctAsstmtMdlVersTP as Assignments on  ModuleVersion.AssortmentModuleVersionUUID = Assignments.AssortmentModuleUUID
                                                                 and Assignments.Product                       = Product.Product
  association [1..*] to I_AssortmentModuleText as _Text on _Text.AssortmentModuleUUID = $projection.AssortmentModuleVersionUUID
{
  key ModuleVersion.AssortmentModuleVersionUUID,
  key Product.Product,
      ModuleVersion.AssortmentModuleName,
      ModuleVersion.ValidityStartDate, // as VersionValidityStartDate,

      ModuleVersion.ValidityEndDate, // as VersionValidityEndDate,

      Assignments.ValidityStartDate                        as AssignmentValidityStartDate,
      Assignments.ValidityEndDate                          as AssignmentValidityEndDate,
      cast(
         case  coalesce( Assignments.Product  , ' ' )
          when ' ' then ' '
          else 'X' end
        as rfm_asm_is_prod_assgnd_to_mdl preserving type ) as ProductIsAssignedToVersion,
      //for DCL

      Product.AuthorizationGroup,
      Product.ProductGroup,
      Product.ProductType,
      Product._ProductGroup_2,
      Product._ProductType,
      _Text
}
where
       Product.ProductCategory     <> ''
  and(
       Product.ProductCategory     =  '00'
    or Product.ProductCategory     =  '02'
    or Product.ProductCategory     =  '10'
    or Product.ProductCategory     =  '11'
    or Product.ProductCategory     =  '12'
  )
  and  Product.IsMarkedForDeletion =  ' '