I_ProductToAssortmentModule

DDL: I_PRODUCTTOASSORTMENTMODULE SQL: IPRODTOASMMOD Type: view BASIC Package: RFM_ASSORTMENT_VDM

Product Assignment to Assortment Object

I_ProductToAssortmentModule is a Basic CDS View that provides data about "Product Assignment to Assortment Object" in SAP S/4HANA. It reads from 2 data sources (mara, rfm_asm_article) and exposes 10 fields with key fields AssortmentModuleUUID, Product, ProductOfSuprordLstgCondition, ValidityStartDate, ValidityEndDate. It has 2 associations to related views. Part of development package RFM_ASSORTMENT_VDM.

Data Sources (2)

SourceAliasJoin Type
mara mara inner
rfm_asm_article rfm_asm_article from

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[1..1] E_ProductToAssortmentModule _Extension $projection.AssortmentModuleUUID = _Extension.AssortmentModuleUUID and $projection.Product = _Extension.Product and $projection.ProductOfSuprordLstgCondition = _Extension.ProductOfSuprordLstgCondition and $projection.ValidityEndDate = _Extension.ValidityEndDate and $projection.ValidityStartDate = _Extension.ValidityStartDate

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPRODTOASMMOD view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Assignment to Assortment Object view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MASTER view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY AssortmentModuleUUID object_guid
KEY Product article
KEY ProductOfSuprordLstgCondition struct_article
KEY ValidityStartDate valid_from
KEY ValidityEndDate valid_to
ProductIsMandatoryInAssortment mandatory
LastChangedByUserName last_changed_by
LastChangeDateTime last_changed_at
LastChangeDate
_Product _Product
@AbapCatalog.sqlViewName: 'IPRODTOASMMOD'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Assignment to Assortment Object'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
  viewType: #BASIC,

  lifecycle: {
    contract: {
      type: #PUBLIC_LOCAL_API
    }
  }
}
@ObjectModel: {
    usageType: {
        serviceQuality: #A,
        sizeCategory: #M,
        dataClass: #MASTER
   }
}

define view I_ProductToAssortmentModule
  as select from rfm_asm_article
    inner join   mara on  rfm_asm_article.article = mara.matnr
                      and mara.lvorm              is initial

  association [1..1] to I_Product                   as _Product   on  $projection.Product = _Product.Product
  association [1..1] to E_ProductToAssortmentModule as _Extension on  $projection.AssortmentModuleUUID          = _Extension.AssortmentModuleUUID
                                                                  and $projection.Product                       = _Extension.Product
                                                                  and $projection.ProductOfSuprordLstgCondition = _Extension.ProductOfSuprordLstgCondition
                                                                  and $projection.ValidityEndDate               = _Extension.ValidityEndDate
                                                                  and $projection.ValidityStartDate             = _Extension.ValidityStartDate
{
  key object_guid                                                                       as AssortmentModuleUUID,
      @ObjectModel.foreignKey.association: '_Product'
  key article                                                                           as Product,
  key struct_article                                                                    as ProductOfSuprordLstgCondition,
  key valid_from                                                                        as ValidityStartDate,
  key valid_to                                                                          as ValidityEndDate,

      mandatory                                                                         as ProductIsMandatoryInAssortment,
      @Semantics.user.lastChangedBy: true
      last_changed_by                                                                   as LastChangedByUserName,
      @Semantics.systemDateTime.lastChangedAt:true
      last_changed_at                                                                   as LastChangeDateTime,
      TSTMP_TO_DATS( last_changed_at, $session.user_timezone, $session.client, 'NULL' ) as LastChangeDate,

      _Product

}