I_EHSSubject

DDL: I_EHSSUBJECT SQL: IEHSSUBJECT Type: view COMPOSITE

Subject

I_EHSSubject is a Composite CDS View that provides data about "Subject" in SAP S/4HANA. It reads from 3 data sources (I_ChemicalBasicInfo, I_ChemicalRevision, I_ChemicalRoot) and exposes 13 fields with key field EHSSubjectUUID. It has 1 association to related views.

Data Sources (3)

SourceAliasJoin Type
I_ChemicalBasicInfo ChemicalBasicInfo inner
I_ChemicalRevision ChemicalRevision inner
I_ChemicalRoot ChemicalRoot inner

Associations (1)

CardinalityTargetAliasCondition
[0..*] I_EHSSubjectText _Text $projection.EHSSubjectUUID = _Text.EHSSubjectUUID

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName IEHSSUBJECT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Subject view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.dataCategory #TEXT view
ObjectModel.representativeKey EHSSubjectUUID view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #META view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY EHSSubjectUUID EHSChemicalPhysicalPropUUID
EHSSubjectID EHSChemicalPhysicalPropID
CASNumber
ChemicalUUIDasEHSSubjectUUID
EHSSubjectID I_ChemicalRoot ChemicalID
CASNumber I_ChemicalBasicInfo CASNumber
EHSSubjectID ListedSubstance
CASNumber CASNumber
EHSSubjectID Specification
CASNumber
EHSSubjectID _ListedSubstance ListedSubstance
CASNumber _ListedSubstance CASNumber
_Text _Text
@AbapCatalog.sqlViewName: 'IEHSSUBJECT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Subject'

@VDM.viewType: #COMPOSITE

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel : { dataCategory: #TEXT,
                 representativeKey: 'EHSSubjectUUID',
                 usageType: {serviceQuality: #D,
                             sizeCategory: #L,
                             dataClass: #META} }
//Chemical Physical property

define view I_EHSSubject
  as select distinct from I_EHSChemicalPhysicalProperty
  association [0..*] to I_EHSSubjectText as _Text on $projection.EHSSubjectUUID = _Text.EHSSubjectUUID
{
      @ObjectModel.text.association: '_Text'
  key EHSChemicalPhysicalPropUUID   as EHSSubjectUUID,
      EHSChemicalPhysicalPropID     as EHSSubjectID,
      cast('' as ehfnd_chm_cas_no ) as CASNumber,

      // association

      _Text
}
//Chemical

union select distinct from I_ChemicalNameText  as ChemicalNameText
  inner join               I_ChemicalRoot      as ChemicalRoot      on ChemicalRoot.ChemicalUUID = ChemicalNameText.ChemicalUUID
  inner join               I_ChemicalRevision  as ChemicalRevision  on ChemicalRoot.ChemicalUUID = ChemicalRevision.ChemicalUUID
  inner join               I_ChemicalBasicInfo as ChemicalBasicInfo on  ChemicalRevision.ChemicalUUID         = ChemicalBasicInfo.ChemicalUUID
                                                                    and ChemicalRevision.ChemicalRevisionUUID = ChemicalBasicInfo.ChemicalRevisionUUID
association [0..*] to I_EHSSubjectText as _Text on $projection.EHSSubjectUUID = _Text.EHSSubjectUUID
{
      @ObjectModel.text.association: '_Text'
  key ChemicalRoot.ChemicalUUID as EHSSubjectUUID,
      ChemicalRoot.ChemicalID   as EHSSubjectID,
      ChemicalBasicInfo.CASNumber,

      // association

      _Text
}
where
      ChemicalNameText.ChemicalUUID      = ChemicalBasicInfo.ChemicalUUID
  and ChemicalRevision.RevisionStartDate <= $session.system_date
  and ChemicalRevision.RevisionEndDate   >= $session.system_date


//Listed substance

union select distinct from I_ListedSubstance
association [0..*] to I_EHSSubjectText as _Text on $projection.EHSSubjectUUID = _Text.EHSSubjectUUID
{
      @ObjectModel.text.association: '_Text'
  key ListedSubstanceUUID as EHSSubjectUUID,
      ListedSubstance     as EHSSubjectID,
      CASNumber,

      // association

      _Text
}

// Chemical Compliance Info

union select distinct from I_ChmlCmplncInfo
association [0..*] to I_EHSSubjectText as _Text on $projection.EHSSubjectUUID = _Text.EHSSubjectUUID
{
      @ObjectModel.text.association: '_Text'
  key ChmlCmplncInfoUUID            as EHSSubjectUUID,
      Specification                 as EHSSubjectID,
      cast('' as ehfnd_chm_cas_no ) as CASNumber,

      // association

      _Text
}

// Company substance

union select distinct from I_Substance
association [0..*] to I_EHSSubjectText as _Text on $projection.EHSSubjectUUID = _Text.EHSSubjectUUID
{
      @ObjectModel.text.association: '_Text'
  key SubstanceUUID as EHSSubjectUUID,
      _ListedSubstance.ListedSubstance as EHSSubjectID,
      _ListedSubstance.CASNumber,

      // association

      _Text
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHEMICALBASICINFO",
"I_CHEMICALNAMETEXT",
"I_CHEMICALREVISION",
"I_CHEMICALROOT",
"I_CHMLCMPLNCINFO",
"I_EHSCHEMICALPHYSICALPROPERTY",
"I_LISTEDSUBSTANCE",
"I_SUBSTACTIVEDRAFTLSTDSUBST",
"I_SUBSTANCE"
],
"ASSOCIATED":
[
"I_EHSSUBJECTTEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/