P_SubstancesInAllLanguages

DDL: P_SUBSTANCESINALLLANGUAGES SQL: PSUBALLLANGUS Type: view COMPOSITE

P_SubstancesInAllLanguages is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_Language, I_Substance) and exposes 6 fields with key fields SubstanceUUID, Language.

Data Sources (2)

SourceAliasJoin Type
I_Language I_Language cross
I_Substance I_Substance from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PSUBALLLANGUS view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY SubstanceUUID I_Substance SubstanceUUID
KEY Language I_Language Language
ListedSubstanceUUID I_Substance ListedSubstanceUUID
SubstanceInternalName I_Substance SubstanceInternalName
CompanySubstance
_SubstanceText I_Substance _SubstanceText
@AbapCatalog.sqlViewName: 'PSUBALLLANGUS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED

@VDM: {
  private: true,
  viewType: #COMPOSITE
}

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
  usageType: {
    serviceQuality: #C,
    sizeCategory: #L,
    dataClass: #MIXED
  }
}

// This view cross-joins all (company) substances with all languages. This view exists for a limitation in CDS, that you cannot

// use the language field from I_Language in inline association conditions, AND have a join on the language view on the same level.


define view P_SubstancesInAllLanguages
  as select from I_Substance
    cross join I_Language                                                                
{
  key I_Substance.SubstanceUUID,
  key I_Language.Language,
  I_Substance.ListedSubstanceUUID,
  I_Substance.SubstanceInternalName,
  cast ( I_Substance.Specification as ehfnd_vdm_companysubstance preserving type ) as CompanySubstance,
  I_Substance._SubstanceText
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LANGUAGE",
"I_SUBSTANCE"
],
"ASSOCIATED":
[
"I_SUBSTANCETEXT"
],
"BASE":
[
"I_SUBSTANCE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/