I_Site

DDL: I_SITE Type: view BASIC Package: VDM_RFM_SITE

Retail Site

I_Site is a Basic CDS View that provides data about "Retail Site" in SAP S/4HANA. It reads from 1 data source (I_Plant) and exposes 33 fields with key field Site. It has 15 associations to related views. Part of development package VDM_RFM_SITE.

Data Sources (1)

SourceAliasJoin Type
I_Plant I_Plant from

Associations (15)

CardinalityTargetAliasCondition
[0..1] I_SiteOpeningHours _SiteOpeningHours $projection.SiteCustomer = _SiteOpeningHours.SiteCustomer
[0..1] I_SitePointOfSale _SitePointOfSale $projection.SiteCustomer = _SitePointOfSale.SiteCustomer
[0..1] I_SiteBlocking _SiteBlocking $projection.SiteCustomer = _SiteBlocking.SiteCustomer
[1..1] I_SalesOrganization _SalesOrganization $projection.SalesOrganization = _SalesOrganization.SalesOrganization
[1..1] I_DistributionChannel _DistributionChannel $projection.DistributionChannel = _DistributionChannel.DistributionChannel
[1..1] I_PurchasingOrganization _DefaultPurchasingOrganization $projection.DefaultPurchasingOrganization = _DefaultPurchasingOrganization.PurchasingOrganization
[0..1] I_FactoryCalendar _FactoryCalendar $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
[0..1] I_AddressEmailAddress _AddressEmailAddress $projection.AddressID = _AddressEmailAddress.AddressID and _AddressEmailAddress.Person = ' ' and _AddressEmailAddress.IsDefaultEmailAddress = 'X'
[0..*] I_SiteProductGroup _SiteProductGroup $projection.SiteCustomer = _SiteProductGroup.SiteCustomer
[0..*] I_SiteSupplyingSite _SiteSupplyingSite $projection.SiteCustomer = _SiteSupplyingSite.SiteCustomer
[0..*] I_AssortmentUser _AssortmentUser $projection.SiteCustomer = _AssortmentUser.SiteCustomer
[1..1] I_SiteReferenceSite _SiteReferenceSite $projection.Site = _SiteReferenceSite.Site
[1..1] I_SiteCategory _SiteCategory $projection.SiteCategory = _SiteCategory.SiteCategory
[0..1] I_SiteMasterAdministrativeData _SiteMasterAdminFields $projection.SiteCustomer = _SiteMasterAdminFields.SiteCustomer
[0..1] I_SiteValnAndInvtryManagement _SiteInventory $projection.SiteCustomer = _SiteInventory.SiteCustomer

Annotations (15)

NameValueLevelField
EndUserText.label Retail Site view
AbapCatalog.sqlViewName ISITE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
AbapCatalog.preserveKey true view
Metadata.ignorePropagatedAnnotations true view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #BASIC view
ObjectModel.compositionRoot true view
ObjectModel.semanticKey Site view
ObjectModel.representativeKey Site view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MASTER view

Fields (33)

KeyFieldSource TableSource FieldDescription
KEY Site Plant
SiteName
SiteCustomer PlantCustomer
SiteSupplier PlantSupplier
AddressID AddressID
SiteCategory
SalesOrganization
DistributionChannel
DefaultPurchasingOrganization
FactoryCalendar FactoryCalendar
ValuationArea ValuationArea
IsMarkedForArchiving IsMarkedForArchiving
Division Division
_SiteOpeningHours _SiteOpeningHours
_SitePointOfSale _SitePointOfSale
_SiteBlocking _SiteBlocking
_Address _Address
_OrganizationAddress _OrganizationAddress
_Customer _Customer
_Supplier _Supplier
_SiteCategoryText _PlantCategoryText
_SalesOrganization _SalesOrganization
_DistributionChannel _DistributionChannel
_DefaultPurchasingOrganization _DefaultPurchasingOrganization
_FactoryCalendar _FactoryCalendar
_AddressEmailAddress _AddressEmailAddress
_SiteProductGroup _SiteProductGroup
_SiteSupplyingSite _SiteSupplyingSite
_AssortmentUser _AssortmentUser
_SiteReferenceSite _SiteReferenceSite
_SiteCategory _SiteCategory
_SiteMasterAdminFields _SiteMasterAdminFields
_SiteInventory _SiteInventory
@EndUserText: {label: 'Retail Site'}
@AbapCatalog: {
    sqlViewName: 'ISITE',
    compiler: {
        compareFilter: true
    }
} 

@AccessControl: {
    authorizationCheck: #CHECK,
    personalData.blocking: #NOT_REQUIRED
}

@AbapCatalog.preserveKey:true

@Metadata.ignorePropagatedAnnotations: true

@ClientHandling: {algorithm: #SESSION_VARIABLE}
@VDM: {viewType: #BASIC}

@ObjectModel: {
    compositionRoot: true,
    semanticKey: 'Site',
    representativeKey: 'Site',
    supportedCapabilities: [ #SQL_DATA_SOURCE,
                             #CDS_MODELING_DATA_SOURCE,
                             #CDS_MODELING_ASSOCIATION_TARGET ],
    usageType: {
        serviceQuality: #A,
        sizeCategory: #M,
        dataClass: #MASTER
   }
}

define view I_Site
  as select from I_Plant
  association [0..1] to I_SiteOpeningHours       as _SiteOpeningHours              on  $projection.SiteCustomer = _SiteOpeningHours.SiteCustomer
  association [0..1] to I_SitePointOfSale        as _SitePointOfSale               on  $projection.SiteCustomer = _SitePointOfSale.SiteCustomer
  association [0..1] to I_SiteBlocking           as _SiteBlocking                  on  $projection.SiteCustomer = _SiteBlocking.SiteCustomer
  association [1..1] to I_SalesOrganization      as _SalesOrganization             on  $projection.SalesOrganization = _SalesOrganization.SalesOrganization
  association [1..1] to I_DistributionChannel    as _DistributionChannel           on  $projection.DistributionChannel = _DistributionChannel.DistributionChannel
  /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
  association [1..1] to I_PurchasingOrganization as _DefaultPurchasingOrganization on  $projection.DefaultPurchasingOrganization = _DefaultPurchasingOrganization.PurchasingOrganization
  association [0..1] to I_FactoryCalendar        as _FactoryCalendar               on  $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
  /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ]  } */
  association [0..1] to I_AddressEmailAddress    as _AddressEmailAddress           on  $projection.AddressID                      = _AddressEmailAddress.AddressID
                                                                                   and _AddressEmailAddress.Person                = ' '
                                                                                   and _AddressEmailAddress.IsDefaultEmailAddress = 'X'
  association [0..*] to I_SiteProductGroup       as _SiteProductGroup              on  $projection.SiteCustomer = _SiteProductGroup.SiteCustomer
  association [0..*] to I_SiteSupplyingSite      as _SiteSupplyingSite             on  $projection.SiteCustomer = _SiteSupplyingSite.SiteCustomer
  association [0..*] to I_AssortmentUser         as _AssortmentUser                on  $projection.SiteCustomer = _AssortmentUser.SiteCustomer
  association [1..1] to I_SiteReferenceSite      as _SiteReferenceSite             on  $projection.Site = _SiteReferenceSite.Site
  /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
  association [1..1] to I_SiteCategory           as _SiteCategory                  on  $projection.SiteCategory = _SiteCategory.SiteCategory
  association [0..1] to I_SiteMasterAdministrativeData as _SiteMasterAdminFields   on  $projection.SiteCustomer = _SiteMasterAdminFields.SiteCustomer
  association [0..1] to I_SiteValnAndInvtryManagement  as _SiteInventory           on  $projection.SiteCustomer = _SiteInventory.SiteCustomer  
 
{
      @ObjectModel: {text: {element: 'SiteName'}}
  key Plant                                                           as Site,
      @Semantics.text:true
      cast(PlantName as sitename preserving type)                     as SiteName,
      PlantCustomer                                                   as SiteCustomer,
      PlantSupplier                                                   as SiteSupplier,
      AddressID,
      cast(PlantCategory as sitecategory preserving type)             as SiteCategory,
      @ObjectModel: {foreignKey: {association: '_SalesOrganization'}}
      cast(SalesOrganization as w_vkorg_header preserving type)       as SalesOrganization,
      @ObjectModel: {foreignKey: {association: '_DistributionChannel'}}
      cast(DistributionChannel as w_vtweg_header preserving type)     as DistributionChannel,
      @ObjectModel: {foreignKey: {association: '_DefaultPurchasingOrganization'}}
      cast(DefaultPurchasingOrganization as ekorg_ll preserving type) as DefaultPurchasingOrganization,
      @EndUserText: {quickInfo: 'Calendar', label: 'Calendar'}
      @ObjectModel: {foreignKey: {association: '_FactoryCalendar'}}
      FactoryCalendar,
      ValuationArea,
      IsMarkedForArchiving,
      Division,
      @ObjectModel: {association: {type: [#TO_COMPOSITION_CHILD]}}
      _SiteOpeningHours,
      @ObjectModel: {association: {type: [#TO_COMPOSITION_CHILD]}}
      _SitePointOfSale,
      @ObjectModel: {association: {type: [#TO_COMPOSITION_CHILD]}}
      _SiteBlocking,
      _Address,
      _OrganizationAddress,
      _Customer,
      _Supplier,
      /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
      _PlantCategoryText                                              as _SiteCategoryText,

      _SalesOrganization,
      _DistributionChannel,
      _DefaultPurchasingOrganization,
      _FactoryCalendar,
      _AddressEmailAddress,
      @ObjectModel: {association: {type: [#TO_COMPOSITION_CHILD]}}
      _SiteProductGroup,
      @ObjectModel: {association: {type: [#TO_COMPOSITION_CHILD]}}
      _SiteSupplyingSite,
      _AssortmentUser,
      @ObjectModel: {association: {type: [#TO_COMPOSITION_CHILD]}}
      _SiteReferenceSite,
      @ObjectModel: {foreignKey: {association: '_SiteCategory'}}
      _SiteCategory,
      _SiteMasterAdminFields,
      _SiteInventory
      
}
where
     PlantCategory = 'A'
  or PlantCategory = 'B'