C_EquipSftyInstrnFactoryAreaVH

DDL: C_EQUIPSFTYINSTRNFACTORYAREAVH Type: view CONSUMPTION Package: EHHSS_CNS_FSI

Factory Areas for Safety Instruction for Equipment

C_EquipSftyInstrnFactoryAreaVH is a Consumption CDS View that provides data about "Factory Areas for Safety Instruction for Equipment" in SAP S/4HANA. It reads from 4 data sources (I_EHSLocationHierarchyNode, I_EHSLocationHierarchyRevision, I_EHSLocationRevision, I_SafetyInstructionDefinition) and exposes 19 fields with key fields EHSLocationUUID, EHSParentLocationUUID, SafetyInstructionType, SafetyInstructionSubType. It has 4 associations to related views. Part of development package EHHSS_CNS_FSI.

Data Sources (4)

SourceAliasJoin Type
I_EHSLocationHierarchyNode I_EHSLocationHierarchyNode from
I_EHSLocationHierarchyRevision I_EHSLocationHierarchyRevision inner
I_EHSLocationRevision I_EHSLocationRevision inner
I_SafetyInstructionDefinition I_SafetyInstructionDefinition inner

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_EHSLocationRevision _EHSLocationRevision $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID and _EHSLocationRevision.RevisionStartDate <= $session.system_date and _EHSLocationRevision.RevisionEndDate >= $session.system_date
[0..1] I_CurrentEHSLocationNameText _EHSLocationName $projection.EHSLocationUUID = _EHSLocationName.EHSLocationUUID and _EHSLocationName.Language = $session.system_language
[0..1] I_CurrentEHSLocationNameText _EHSParentLocationName $projection.EHSParentLocationUUID = _EHSParentLocationName.EHSLocationUUID and _EHSParentLocationName.Language = $session.system_language
[0..1] C_EHSLocationTypeVH _EHSLocationTypeVH $projection.ehslocationtype = _EHSLocationTypeVH.EHSLocationType

Annotations (15)

NameValueLevelField
EndUserText.label Factory Areas for Safety Instruction for Equipment view
AbapCatalog.sqlViewName CEQUIPFSIFAVH view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.representativeKey EHSLocationUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MIXED view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view
AbapCatalog.preserveKey true view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY EHSLocationUUID I_EHSLocationHierarchyNode EHSLocationUUID Sublocation UUID
KEY EHSParentLocationUUID I_EHSLocationHierarchyNode EHSParentLocationUUID Parent Factory UUID
KEY SafetyInstructionType I_SafetyInstructionDefinition SafetyInstructionType
KEY SafetyInstructionSubType I_SafetyInstructionDefinition SafetyInstructionSubType
EHSLocationName _EHSLocationName EHSLocationName Sublocation Name
EHSParentLocationName _EHSParentLocationName EHSLocationName Parent Location Name
Plant _EHSLocationRevision Plant
EHSLocationType _EHSLocationRevision EHSLocationType Location Type
EHSLocationTypeText Location Type
CostCenter _EHSLocationRevision CostCenter
EHSLocationStatus _EHSLocationRevision EHSLocationStatus
EHSLocationAuthorizationGroup
ControllingArea _EHSLocationRevision ControllingArea
CompanyCode _EHSLocationRevision CompanyCode
BusinessArea _EHSLocationRevision BusinessArea
_EHSParentLocation I_EHSLocationHierarchyNode _EHSParentLocation
_EHSLocation I_EHSLocationHierarchyNode _EHSLocation
_EHSLocationTypeVH _EHSLocationTypeVH
_EHSLocationRevision _EHSLocationRevision
@EndUserText.label: 'Factory Areas for Safety Instruction for Equipment'


@AbapCatalog: { sqlViewName: 'CEQUIPFSIFAVH',
                compiler.compareFilter: true }

@AccessControl.authorizationCheck: #MANDATORY

@VDM.viewType: #CONSUMPTION

@ClientHandling.algorithm: #SESSION_VARIABLE


@ObjectModel: {
                dataCategory:#VALUE_HELP,
                representativeKey: 'EHSLocationUUID',
                semanticKey: ['EHSLocationUUID'],
                usageType:{ serviceQuality: #C,
                            sizeCategory:  #M,
                            dataClass: #MIXED }
               }

@Search.searchable: true

@Metadata: { ignorePropagatedAnnotations: true,
             allowExtensions:true }

@AbapCatalog.preserveKey: true


define view C_EquipSftyInstrnFactoryAreaVH
// begin correction 3113514 28.10.2021

  as select from I_EHSLocationHierarchyNode

    inner join   I_EHSLocationHierarchyRevision on  I_EHSLocationHierarchyRevision.RevisionStartDate           <= $session.system_date
                                                and I_EHSLocationHierarchyRevision.RevisionEndDate             >= $session.system_date
                                                and I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyNode.EHSLocHierarchyRevisionUUID

    inner join   I_EHSLocationRevision          on  I_EHSLocationRevision.RevisionStartDate <= $session.system_date
                                                and I_EHSLocationRevision.RevisionEndDate   >= $session.system_date
                                                and I_EHSLocationRevision.EHSLocationUUID   = I_EHSLocationHierarchyNode.EHSParentLocationUUID

    inner join   I_SafetyInstructionDefinition  on  I_EHSLocationRevision.Plant           = I_SafetyInstructionDefinition.Plant
                                                and I_EHSLocationRevision.EHSLocationType = I_SafetyInstructionDefinition.SafetyInstructionLocType

/*+[hideWarning] { "IDS" : [  "CARDINALITY_CHECK" ] } */
  association [0..1] to I_EHSLocationRevision        as _EHSLocationRevision   on  $projection.EHSLocationUUID            = _EHSLocationRevision.EHSLocationUUID
                                                                               and _EHSLocationRevision.RevisionStartDate <= $session.system_date
                                                                               and _EHSLocationRevision.RevisionEndDate   >= $session.system_date

// end correction 3113514 28.10.2021  


  association [0..1] to I_CurrentEHSLocationNameText as _EHSLocationName       on  $projection.EHSLocationUUID = _EHSLocationName.EHSLocationUUID
                                                                               and _EHSLocationName.Language   = $session.system_language

  association [0..1] to I_CurrentEHSLocationNameText as _EHSParentLocationName on  $projection.EHSParentLocationUUID = _EHSParentLocationName.EHSLocationUUID
                                                                               and _EHSParentLocationName.Language   = $session.system_language

  association [0..1] to C_EHSLocationTypeVH   as _EHSLocationTypeVH     on  $projection.ehslocationtype = _EHSLocationTypeVH.EHSLocationType

{
         //I_EHSLocHierarchyPath

         @EndUserText.label: 'Sublocation UUID'
         @ObjectModel: { text: { element: ['EHSLocationName'] } }
  key    I_EHSLocationHierarchyNode.EHSLocationUUID,  //correction 3113514 28.10.2021


         @Consumption.filter.hidden: true
         @EndUserText.label: 'Parent Factory UUID'
  key    I_EHSLocationHierarchyNode.EHSParentLocationUUID,  //correction 3113514 28.10.2021


         @ObjectModel: { filter.enabled: true,
                       sort.enabled: true }
  key    I_SafetyInstructionDefinition.SafetyInstructionType,

         @ObjectModel: { filter.enabled: true,
                         sort.enabled: true }
         @Consumption.filter.hidden: true
  key    I_SafetyInstructionDefinition.SafetyInstructionSubType,

         @EndUserText.label: 'Sublocation Name'
         @Semantics.text: true
         @Search: { defaultSearchElement: true,
                    fuzzinessThreshold: 1,
                    ranking: #HIGH }
         _EHSLocationName.EHSLocationName,

         @EndUserText.label: 'Parent Location Name'
         _EHSParentLocationName.EHSLocationName                                                               as EHSParentLocationName,

         @Search: { defaultSearchElement: true,
                    fuzzinessThreshold: 1,
                    ranking: #MEDIUM }
         _EHSLocationRevision.Plant,

         @EndUserText.label: 'Location Type'
         @Consumption.valueHelp: '_EHSLocationTypeVH'
         _EHSLocationRevision.EHSLocationType,

         @EndUserText.label: 'Location Type'
         @Consumption: { valueHelpDefinition: [{ entity: { name: 'C_EHSLocationTypeVH',
                                                        element: 'EHSLocationTypeText'
                                            }, label: 'Location Type' }]     }
         @Search: { defaultSearchElement: true,
                    fuzzinessThreshold: 1,
                    ranking: #MEDIUM }
         _EHSLocationRevision._EHSLocationType._Text[1: Language = $session.system_language].EHSLocationTypeText,

         @Search: { defaultSearchElement: true,
                    fuzzinessThreshold: 1,
                    ranking: #MEDIUM }
         _EHSLocationRevision.CostCenter,

         // DCL related fields

         @Consumption.hidden: true
         _EHSLocationRevision.EHSLocationStatus,
         @Consumption.hidden: true
         cast(_EHSLocationRevision.EHSLocationAuthorizationGroup as ehfnd_loc_auth_group_nc preserving type ) as EHSLocationAuthorizationGroup,
         @Consumption.hidden: true
         _EHSLocationRevision.ControllingArea,
         @Consumption.hidden: true
         _EHSLocationRevision.CompanyCode,
         @Consumption.hidden: true
         _EHSLocationRevision.BusinessArea,

         I_EHSLocationHierarchyNode._EHSParentLocation,
         I_EHSLocationHierarchyNode._EHSLocation,
         @Consumption.hidden: true
         _EHSLocationTypeVH,
         _EHSLocationRevision
}


where
  I_EHSLocationHierarchyNode.EHSParentLocationUUID <> hextobin('00000000000000000000000000000000')
  and  I_SafetyInstructionDefinition.SafetyInstructionType = 'EQUIP'
  and _EHSLocationRevision.EHSLocationStatus = '02' //Active