I_SUBSTANCE

CDS View

Substance

I_SUBSTANCE is a CDS View in S/4HANA. Substance. It contains 13 fields. 27 CDS views read from this table.

CDS Views using this table (27)

ViewTypeJoinVDMDescription
C_AllMarnPlltntIMDG view from CONSUMPTION All Marine Pollutants for IMDG
C_CA_AllMarnPlltntTDG view from CONSUMPTION All Marine Pollutants for TDG
C_EHSCompanySubstanceValueHelp view_entity from CONSUMPTION Company Substance
C_PlmrCompositionVH view from CONSUMPTION Polymer Composition
C_PlmrCompositionVH view union_all CONSUMPTION Polymer Composition
C_SubstanceTrdScrtTxtWthFllbck view from CONSUMPTION Trade Secret Name with Fallback
C_UpaDaGdsClfnTechNameAll view from CONSUMPTION Technical Names - All Company Substances
C_US_AllMarnPlltntCFR view from CONSUMPTION All Marine Pollutants for 49 CFR
I_CmplRqVersGrpAssgmtAnlyts2 view inner COMPOSITE Group Assignment 2 for Analytics
I_PCPrptyIntNmbrExist view from COMPOSITE Existing Check of Internal Number Used in Migration Object
I_PCPrptyIntNmbrExist view union COMPOSITE Existing Check of Internal Number Used in Migration Object
I_SubstanceEnhanced view from COMPOSITE Substance Enhanced with Substance Name Logic
I_SubstanceLstdSubst view from COMPOSITE Company Substance and related listed sub
I_SubstanceLstdSubstAnlyts1 view from COMPOSITE Company Substance and Listed Substance
I_SubstanceTP view from TRANSACTIONAL Substance
I_SubstNameFallbackLanguage view_entity from COMPOSITE Substance name with a fallback language
P_ListSubstGrpMemberFBAllLang view_entity inner COMPOSITE
P_SubstanceAssgdPCEctx view from CONSUMPTION Assoc. Ecological Information Property
P_SubstanceAssgdPCPhys view from CONSUMPTION Assoc. Physical Chemical Property
P_SubstanceAssgdPCSfty view from CONSUMPTION Assoc. Safety-Related Property
P_SubstanceAssgdPCTx view from CONSUMPTION Assoc. Toxicological Property
P_SubstanceMigration view from COMPOSITE
P_SubstanceMigration view union COMPOSITE
P_SubstanceNameText view from COMPOSITE Substance Names with Listed Substance Names
P_SubstancesInAllLanguages view from COMPOSITE
P_US_AllRptblQtyGrpItemSubSAP view_entity inner COMPOSITE
R_CompanySubstanceTP view_entity from TRANSACTIONAL Company Substance - TP

Fields (13)

KeyField CDS FieldsUsed in Views
KEY SubstanceUUID ActiveSubstanceUUID,SubstanceUUID 9
_ListedSubstance _ListedSubstance 1
_SubstanceText _SubstanceText 1
CreatedByUser CreatedByUser 1
LastChangedByUser LastChangedByUser 1
LastChangeUTCDateTime LastChangeUTCDateTime 1
ListedSubstanceUUID ActiveSubstanceUUID,ListedSubstanceUUID 3
mandt mandt 1
PolymerIsBsdOnOECDDef PolymerIsBsdOnOECDDef 1
ResponsibleUnit ResponsibleUnit 8
Specification Specification 1
SpecificationInternalID SpecificationInternalID 1
SubstanceInternalName SubstanceInternalName 3
@EndUserText.label: 'Substance'
@VDM.viewType: #BASIC
@AbapCatalog.preserveKey:true

@AccessControl:
{
  authorizationCheck: #CHECK,
  privilegedAssociations:  [ '_CreatedByUser', '_LastChangedByUser' ]
}

@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog: {
  sqlViewName:            'ISUB',
  compiler.compareFilter: true
}
@ObjectModel: {
  representativeKey: 'SubstanceUUID',
  usageType: {
    serviceQuality: #C,
    dataClass:      #MASTER,
    sizeCategory:   #M
  }
}
define view I_Substance
  as select from ehfndv_sub as Substance

  -- Company-specific names
  association [0..*] to I_SubstanceText             as _SubstanceText                 on Substance.substanceuuid = _SubstanceText.SubstanceUUID

  association [0..*] to I_SubstanceTradeSecretText  as _SubstanceTradeSecretText      on Substance.substanceuuid = _SubstanceTradeSecretText.SubstanceUUID

  -- Listed substance information
  -- Remark: Substance.substanceuuid is the active UUID => use _ListedSubstance.ActiveSubstanceUUID. If not no listed substance information is shown for draft
  association [0..1] to I_SubstActiveDraftLstdSubst as _ListedSubstance               on Substance.substanceuuid = _ListedSubstance.ActiveSubstanceUUID

  -- Admin data - Created by
  association [0..1] to I_User                      as _CreatedByUser                 on $projection.CreatedByUser = _CreatedByUser.UserID

  -- Admin data - Last changed by
  association [0..1] to I_User                      as _LastChangedByUser             on $projection.LastChangedByUser = _LastChangedByUser.UserID

  // Due to performance reasons for Tox, Ecotox, etc.

  association [1..1] to I_ResponsibleUnit           as _RespUnitForProductStewardship on $projection.ProdStewardshipRespUnit = _RespUnitForProductStewardship.ResponsibleUnit
  association [1..1] to I_ResponsibleUnitDngrsGds   as _RespUnitForDangerousGoods     on $projection.DngrsGdsRespUnit = _RespUnitForDangerousGoods.ResponsibleUnit
  association [0..1] to I_SubstNameFallbackLanguage as _SubstNameFallbackLanguage     on $projection.SubstanceUUID = _SubstNameFallbackLanguage.SubstanceUUID

{
  key Substance.substanceuuid                                                           as SubstanceUUID,

      @Semantics.systemDateTime.createdAt: true
      cast(Substance.creationutcdatetime as ehfnd_bo_crea_date_time preserving type )   as CreationUTCDateTime,
      @Semantics.user.createdBy: true
      cast(Substance.createdbyuser as ehfnd_bo_crea_uname preserving type )             as CreatedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      cast(Substance.lastchangeutcdatetime as ehfnd_bo_lchg_date_time preserving type ) as LastChangeUTCDateTime,
      @Semantics.user.lastChangedBy: true
      cast(Substance.lastchangedbyuser as ehfnd_bo_lchg_uname preserving type )         as LastChangedByUser,

      Substance.listedsubstanceuuid                                                     as ListedSubstanceUUID,
      Substance.substanceinternalname                                                   as SubstanceInternalName,

      Substance.responsibleunit                                                         as ResponsibleUnit,

      Substance.specification                                                           as Specification,
      Substance.specificationinternalid                                                 as SpecificationInternalID,

      @ObjectModel.foreignKey.association: '_RespUnitForProductStewardship'
      Substance.responsibleunit                                                         as ProdStewardshipRespUnit,

      @ObjectModel.foreignKey.association: '_RespUnitForDangerousGoods'
      ''                                                                                as DngrsGdsRespUnit,
      Substance.polymerisbsdonoecddef                                                   as PolymerIsBsdOnOECDDef,

      //exposed associations

      _CreatedByUser,
      _LastChangedByUser,
      _SubstanceText,
      _SubstanceTradeSecretText,
      _ListedSubstance,
      _RespUnitForProductStewardship,
      _RespUnitForDangerousGoods,
      _SubstNameFallbackLanguage
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"EHFNDV_SUB"
],
"ASSOCIATED":
[
"I_RESPONSIBLEUNIT",
"I_RESPONSIBLEUNITDNGRSGDS",
"I_SUBSTACTIVEDRAFTLSTDSUBST",
"I_SUBSTANCETEXT",
"I_SUBSTANCETRADESECRETTEXT",
"I_SUBSTNAMEFALLBACKLANGUAGE",
"I_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/