@AbapCatalog.sqlViewName: 'EHSSUBJTEXT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Subject text'
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel : { dataCategory: #TEXT,
representativeKey: 'EHSSubjectUUID',
usageType: {serviceQuality: #D,
sizeCategory: #L,
dataClass: #META} }
//Chemical Physical parameter
define view I_EHSSubjectText
as select from I_EHSChemicalPhysicalPropName
association [0..1] to I_Language as _Language on $projection.Language = _Language.Language
{
key EHSChemicalPhysicalPropUUID as EHSSubjectUUID,
@Semantics.language: true
@ObjectModel.foreignKey.association: '_Language'
key Language as Language,
@Semantics.text:true
@EndUserText.label: 'Subject Name'
key EHSPropertyName as EHSSubjectText,
// association
_Language
}
//Chemical
union select 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
association [0..1] to I_Language as _Language on $projection.Language = _Language.Language
{
key ChemicalRoot.ChemicalUUID as EHSSubjectUUID,
@Semantics.language: true
@ObjectModel.foreignKey.association: '_Language'
key ChemicalNameText.Language as Language,
@Semantics.text:true
@EndUserText.label: 'Subject Name'
key ChemicalNameText.NameOfChemical as EHSSubjectText,
// association
_Language
}
where
ChemicalNameText.ChemicalUUID = ChemicalBasicInfo.ChemicalUUID
and ChemicalRevision.RevisionStartDate <= $session.system_date
and ChemicalRevision.RevisionEndDate >= $session.system_date
// Listed substance
union select from I_ListedSubstanceDefName
association [0..1] to I_Language as _Language on $projection.Language = _Language.Language
{
key ListedSubstanceUUID as EHSSubjectUUID,
@Semantics.language: true
@ObjectModel.foreignKey.association: '_Language'
key Language as Language,
@Semantics.text:true
@EndUserText.label: 'Subject Name'
key ListedSubstanceName as EHSSubjectText,
// association
_Language
}
// Chemical Compliance Info
union select from C_ChmlCmplncPrimMatl
association [0..1] to I_Language as _Language on $projection.Language = _Language.Language
{
key ChmlCmplncInfoUUID as EHSSubjectUUID,
@Semantics.language: true
@ObjectModel.foreignKey.association: '_Language'
key $session.system_language as Language,
@Semantics.text:true
@EndUserText.label: 'Subject Name'
key ChmlCmplncInfoCombinedName as EHSSubjectText,
// association
_Language
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_CHMLCMPLNCPRIMMATL",
"I_CHEMICALBASICINFO",
"I_CHEMICALNAMETEXT",
"I_CHEMICALREVISION",
"I_CHEMICALROOT",
"I_EHSCHEMICALPHYSICALPROPNAME",
"I_LISTEDSUBSTANCEDEFNAME"
],
"ASSOCIATED":
[
"I_LANGUAGE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/