I_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)
| Source | Alias | Join Type |
|---|---|---|
| I_Plant | I_Plant | from |
Associations (15)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA