I_EHSLocationRevision
EHS Location Revision
I_EHSLocationRevision is a Basic CDS View (Dimension) that provides data about "EHS Location Revision" in SAP S/4HANA. It reads from 1 data source (I_EHSLocationRevisionBasic) and exposes 48 fields with key fields EHSLocationUUID, RevisionEndDate. It has 20 associations to related views. Part of development package EHFND_BO_LOC_IMPL.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_EHSLocationRevisionBasic | rev | from |
Associations (20)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_User | _CreatedByUser | $projection.CreatedByUser = _CreatedByUser.UserID |
| [0..1] | I_User | _LastChangedByUser | $projection.LastChangedByUser = _LastChangedByUser.UserID |
| [0..1] | I_EHSLocationType | _EHSLocationType | $projection.EHSLocationType = _EHSLocationType.EHSLocationType |
| [0..1] | I_EHSLocationStatus | _EHSLocationStatus | $projection.EHSLocationStatus = _EHSLocationStatus.EHSLocationStatus |
| [0..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_BusinessArea | _BusinessArea | $projection.BusinessArea = _BusinessArea.BusinessArea |
| [0..1] | I_OrgUnit | _OrganizationalUnit | $projection.OrganizationalUnit = _OrganizationalUnit.OrganizationalUnit |
| [0..1] | I_StorageLocation | _StorageLocation | $projection.StorageLocation = _StorageLocation.StorageLocation and $projection.Plant = _StorageLocation.Plant |
| [0..1] | I_ControllingArea | _ControllingArea | $projection.ControllingArea = _ControllingArea.ControllingArea |
| [0..*] | I_CostCenter | _CostCenter | $projection.CostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea |
| [0..1] | I_EHSLocationAuthznGroup | _EHSLocationAuthGroup | $projection.EHSLocationAuthorizationGroup = _EHSLocationAuthGroup.EHSLocationAuthorizationGroup |
| [0..1] | I_Country | _Country | $projection.Country = _Country.Country |
| [0..1] | I_Region | _Region | $projection.Region = _Region.Region and $projection.Country = _Region.Country |
| [0..1] | I_Equipment | _Equipment | $projection.Equipment = _Equipment.Equipment |
| [0..1] | I_FunctionalLocation | _FunctionalLocation | $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation |
| [0..*] | I_EHSLocationRevisionNameT | _EHSLocationRevisionName | $projection.EHSLocationUUID = _EHSLocationRevisionName.EHSLocationUUID and $projection.RevisionEndDate = _EHSLocationRevisionName.RevisionEndDate |
| [0..*] | I_EHSLocationStorageLocation | _EHSLocationStorageLocation | $projection.EHSLocationRevisionUUID = _EHSLocationStorageLocation.EHSLocationRevisionUUID |
| [0..*] | I_EHSLocationBuilding | _EHSLocationBuilding | $projection.EHSLocationRevisionUUID = _EHSLocationBuilding.EHSLocationRevisionUUID |
| [0..*] | I_EHSLocRespTechnicianCombined | _EHSLocRespTechnician | $projection.EHSLocationRevisionUUID = _EHSLocRespTechnician.EHSLocationRevisionUUID |
Annotations (16)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | EHS Location Revision | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.representativeKey | EHSLocationUUID | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AbapCatalog.sqlViewName | ILOCREV | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.modelingPattern | #NONE | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.sapObjectNodeType.name | EHSLocationRevision | view |
Fields (48)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EHSLocationUUID | EHSLocationUUID | ||
| KEY | RevisionEndDate | RevisionEndDate | ||
| RevisionStartDate | RevisionStartDate | |||
| EHSLocationRevisionUUID | EHSLocationRevisionUUID | |||
| CreationDateTime | CreationDateTime | |||
| CreatedByUser | CreatedByUser | |||
| _CreatedByUser | _CreatedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| _LastChangedByUser | _LastChangedByUser | |||
| Latitude | Latitude | |||
| Longitude | Longitude | |||
| EHSLocationType | EHSLocationType | |||
| _EHSLocationType | _EHSLocationType | |||
| EHSLocationStatus | EHSLocationStatus | |||
| _EHSLocationStatus | _EHSLocationStatus | |||
| Plant | Plant | |||
| _Plant | _Plant | |||
| CompanyCode | CompanyCode | |||
| _CompanyCode | _CompanyCode | |||
| BusinessArea | BusinessArea | |||
| _BusinessArea | _BusinessArea | |||
| ControllingArea | ControllingArea | |||
| _ControllingArea | _ControllingArea | |||
| CostCenter | CostCenter | |||
| OrganizationalUnit | ||||
| _OrganizationalUnit | _OrganizationalUnit | |||
| StorageLocation | StorageLocation | |||
| _StorageLocation | _StorageLocation | |||
| EHSLocationAuthorizationGroup | ||||
| _EHSLocationAuthGroup | _EHSLocationAuthGroup | |||
| Country | Country | |||
| _Country | _Country | |||
| Region | Region | |||
| _Region | _Region | |||
| CityName | CityName | |||
| StreetName | StreetName | |||
| PostalCode | PostalCode | |||
| EHSLocationPhone | EHSLocationPhone | |||
| Equipment | Equipment | |||
| _Equipment | _Equipment | |||
| FunctionalLocation | EHSFunctionalLocation | |||
| _FunctionalLocation | _FunctionalLocation | |||
| _EHSLocationRevisionName | _EHSLocationRevisionName | |||
| _EHSLocationStorageLocation | _EHSLocationStorageLocation | |||
| _EHSLocationBuilding | _EHSLocationBuilding | |||
| _EHSLocRespTechnician | _EHSLocRespTechnician | |||
| _CostCenter | _CostCenter |
@EndUserText.label: 'EHS Location Revision'
@Analytics: { dataCategory:#DIMENSION , dataExtraction.enabled:true }
@VDM.viewType: #BASIC
@ObjectModel.representativeKey: 'EHSLocationUUID'
@AccessControl.authorizationCheck: #MANDATORY
@AbapCatalog.sqlViewName: 'ILOCREV'
@AbapCatalog.compiler.compareFilter: true
// Client handling by session
@ClientHandling.algorithm: #SESSION_VARIABLE
// used for BOBF Master Data Object
@ObjectModel.usageType:{ serviceQuality: #A,
sizeCategory: #M, // < 100.000
dataClass: #MASTER }
@Metadata.allowExtensions:true
@AccessControl.privilegedAssociations: ['_CreatedByUser', '_OrganizationalUnit', '_LastChangedByUser']
@ObjectModel.supportedCapabilities: [ #EXTRACTION_DATA_SOURCE, #ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET ]
@ObjectModel.modelingPattern: #NONE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.sapObjectNodeType.name: 'EHSLocationRevision'
define view I_EHSLocationRevision
as select from I_EHSLocationRevisionBasic as rev
association [0..1] to I_User as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to I_User as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
association [0..1] to I_EHSLocationType as _EHSLocationType on $projection.EHSLocationType = _EHSLocationType.EHSLocationType
association [0..1] to I_EHSLocationStatus as _EHSLocationStatus on $projection.EHSLocationStatus = _EHSLocationStatus.EHSLocationStatus
association [0..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..1] to I_BusinessArea as _BusinessArea on $projection.BusinessArea = _BusinessArea.BusinessArea
association [0..1] to I_OrgUnit as _OrganizationalUnit on $projection.OrganizationalUnit = _OrganizationalUnit.OrganizationalUnit
association [0..1] to I_StorageLocation as _StorageLocation on $projection.StorageLocation = _StorageLocation.StorageLocation
and $projection.Plant = _StorageLocation.Plant
association [0..1] to I_ControllingArea as _ControllingArea on $projection.ControllingArea = _ControllingArea.ControllingArea
association [0..*] to I_CostCenter as _CostCenter on $projection.CostCenter = _CostCenter.CostCenter
and $projection.ControllingArea = _CostCenter.ControllingArea
association [0..1] to I_EHSLocationAuthznGroup as _EHSLocationAuthGroup on $projection.EHSLocationAuthorizationGroup = _EHSLocationAuthGroup.EHSLocationAuthorizationGroup
association [0..1] to I_Country as _Country on $projection.Country = _Country.Country
association [0..1] to I_Region as _Region on $projection.Region = _Region.Region
and $projection.Country = _Region.Country
association [0..1] to I_Equipment as _Equipment on $projection.Equipment = _Equipment.Equipment
association [0..1] to I_FunctionalLocation as _FunctionalLocation on $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
association [0..*] to I_EHSLocationRevisionNameT as _EHSLocationRevisionName on $projection.EHSLocationUUID = _EHSLocationRevisionName.EHSLocationUUID
and $projection.RevisionEndDate = _EHSLocationRevisionName.RevisionEndDate
association [0..*] to I_EHSLocationStorageLocation as _EHSLocationStorageLocation on $projection.EHSLocationRevisionUUID = _EHSLocationStorageLocation.EHSLocationRevisionUUID
association [0..*] to I_EHSLocationBuilding as _EHSLocationBuilding on $projection.EHSLocationRevisionUUID = _EHSLocationBuilding.EHSLocationRevisionUUID
association [0..*] to I_EHSLocRespTechnicianCombined as _EHSLocRespTechnician on $projection.EHSLocationRevisionUUID = _EHSLocRespTechnician.EHSLocationRevisionUUID
{
@ObjectModel.text.association: '_EHSLocationRevisionName'
key EHSLocationUUID,
// The end date in view P_EHSLocRevisionValidty is actually the start date of the next revision. Thus we still have to subtract
// one day from that date in order to determine the correct end date (unfortunately this is not posible to do in P_EHSLocRevisionValidty
// because in that view we have to use SQL min aggregation for this field as well).
// If there is no next revision, i.e. there is no end date, we use 99991231 as end date.
@Semantics.businessDate.to
key RevisionEndDate,
@Semantics.businessDate.from
RevisionStartDate,
EHSLocationRevisionUUID,
@Semantics.systemDateTime.createdAt
CreationDateTime,
@Semantics.user.createdBy
CreatedByUser,
_CreatedByUser,
@Semantics.systemDateTime.lastChangedAt
LastChangeDateTime,
@Semantics.user.lastChangedBy
LastChangedByUser,
_LastChangedByUser,
Latitude,
Longitude,
@ObjectModel.foreignKey.association: '_EHSLocationType'
EHSLocationType,
_EHSLocationType,
@ObjectModel.foreignKey.association: '_EHSLocationStatus'
EHSLocationStatus,
_EHSLocationStatus,
@ObjectModel.foreignKey.association: '_Plant'
Plant,
_Plant,
//--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CompanyCodeStdVH',
element: 'CompanyCode' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_CompanyCode'
CompanyCode,
_CompanyCode,
//--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_BusinessAreaStdVH',
element: 'BusinessArea' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_BusinessArea'
BusinessArea,
_BusinessArea,
@ObjectModel.foreignKey.association: '_ControllingArea'
ControllingArea,
_ControllingArea,
//--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_CostCenterStdVH',
element: 'CostCenter' },
additionalBinding: [{ localElement: 'ControllingArea',
element: 'ControllingArea' }]
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: null
CostCenter,
// _CostCenter,
@ObjectModel.foreignKey.association: '_OrganizationalUnit'
cast( OrganizationalUnit as ehfnd_org_unit_id preserving type ) as OrganizationalUnit,
_OrganizationalUnit,
@ObjectModel.foreignKey.association: '_StorageLocation'
StorageLocation,
_StorageLocation,
@ObjectModel.foreignKey.association: '_EHSLocationAuthGroup'
cast( EHSLocationAuthorizationGroup as ehfnd_loc_auth_group preserving type ) as EHSLocationAuthorizationGroup,
_EHSLocationAuthGroup,
@ObjectModel.foreignKey.association: '_Country'
Country,
_Country,
@ObjectModel.foreignKey.association: '_Region'
Region,
_Region,
CityName,
StreetName,
PostalCode,
EHSLocationPhone,
//--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_EquipmentStdVH',
element: 'Equipment' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_Equipment'
Equipment,
_Equipment,
//--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_FunctionalLocationStdVH',
element: 'FunctionalLocation' }
}]
// ]--GENERATED
@ObjectModel.foreignKey.association: '_FunctionalLocation'
EHSFunctionalLocation as FunctionalLocation,
@ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true
_FunctionalLocation,
_EHSLocationRevisionName,
_EHSLocationStorageLocation,
_EHSLocationBuilding,
_EHSLocRespTechnician,
_CostCenter
}
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