I_InhRepairNote

DDL: I_INHREPAIRNOTE Type: view BASIC

Notes for In-House Repair

I_InhRepairNote is a Basic CDS View that provides data about "Notes for In-House Repair" in SAP S/4HANA. It reads from 2 data sources (I_InHouseRepair, stxh) and exposes 18 fields with key fields CustMgmtObjectType, InHouseRepair, TextObjectType, Language. It has 5 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_InHouseRepair InHouseRepair inner
stxh stxh from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_BusinessObjType _CustMgmtObjectType $projection.CustMgmtObjectType = _CustMgmtObjectType.BusinessObjectType
[0..1] I_TextObjectType _TextObjectType $projection.TextObjectType = _TextObjectType.TextObjectType and $projection.TextObjectCategory = _TextObjectType.TextObjectCategory
[0..1] I_TextObjectCategory _TextObjectCategory $projection.TextObjectCategory = _TextObjectCategory.TextObjectCategory
[0..1] I_Language _Language $projection.Language = _Language.Language
[0..1] I_InHouseRepair _InHouseRepair $projection.CustMgmtObjectType = _InHouseRepair.CustMgmtObjectType and $projection.InHouseRepair = _InHouseRepair.InHouseRepair

Annotations (12)

NameValueLevelField
EndUserText.label Notes for In-House Repair view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName IINHREPAIRNOTE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY CustMgmtObjectType I_InHouseRepair CustMgmtObjectType
KEY InHouseRepair I_InHouseRepair InHouseRepair
KEY TextObjectType tdid
KEY Language tdspras
InHouseRepairUUID I_InHouseRepair InHouseRepairUUID
TextObjectCategory tdobject
CreatedByUser tdfuser
CreationDate tdfdate
CreationTime tdftime
LastChangedByUser tdluser
LastChangeDate tdldate
LastChangeTime tdltime
InhRepairNoteText _InoteTemp text
_CustMgmtObjectType _CustMgmtObjectType
_TextObjectType _TextObjectType
_TextObjectCategory _TextObjectCategory
_Language _Language
_InHouseRepair _InHouseRepair
@EndUserText.label: 'Notes for In-House Repair'
@VDM: {
  lifecycle.contract.type: #PUBLIC_LOCAL_API,
  viewType: #BASIC
}
@AccessControl: {
  authorizationCheck: #CHECK
}
@Metadata: {
  ignorePropagatedAnnotations: true
}
@ObjectModel:{
  usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
}
@ClientHandling: {
  algorithm: #SESSION_VARIABLE
}
@AbapCatalog: {
  sqlViewName: 'IINHREPAIRNOTE',
  compiler.compareFilter: true,
  preserveKey: true
}
define view I_InhRepairNote
  as select from           stxh             as stxh

    inner join             I_InHouseRepair  as InHouseRepair on InHouseRepair.InHouseRepairCharUUID = stxh.tdname

  // We need an empty string field for the text. String fields cannot be created as "cast('' as systring)...".

  // Hence, we implement a dummy join that never returns a matching record but provides the string field (which then is null).

    left outer to one join crms4t_note_temp as _InoteTemp    on _InoteTemp.id = stxh.tdname

  association [0..1] to I_BusinessObjType    as _CustMgmtObjectType on  $projection.CustMgmtObjectType = _CustMgmtObjectType.BusinessObjectType
  association [0..1] to I_TextObjectType     as _TextObjectType     on  $projection.TextObjectType     = _TextObjectType.TextObjectType
                                                                    and $projection.TextObjectCategory = _TextObjectType.TextObjectCategory

  association [0..1] to I_TextObjectCategory as _TextObjectCategory on  $projection.TextObjectCategory = _TextObjectCategory.TextObjectCategory

  association [0..1] to I_Language           as _Language           on  $projection.Language = _Language.Language
  association [0..1] to I_InHouseRepair      as _InHouseRepair      on  $projection.CustMgmtObjectType = _InHouseRepair.CustMgmtObjectType
                                                                    and $projection.InHouseRepair      = _InHouseRepair.InHouseRepair
{
      @ObjectModel.foreignKey.association: '_CustMgmtObjectType'
  key InHouseRepair.CustMgmtObjectType as CustMgmtObjectType,
  key InHouseRepair.InHouseRepair      as InHouseRepair,

      @ObjectModel.foreignKey.association: '_TextObjectType'
  key tdid                             as TextObjectType,

      @Semantics.language: true
      @ObjectModel.foreignKey.association: '_Language'
  key tdspras                          as Language,

      InHouseRepair.InHouseRepairUUID  as InHouseRepairUUID,

      @ObjectModel.foreignKey.association: '_TextObjectCategory'
      tdobject                         as TextObjectCategory,

      tdfuser                          as CreatedByUser,
      tdfdate                          as CreationDate,
      tdftime                          as CreationTime,

      tdluser                          as LastChangedByUser,
      tdldate                          as LastChangeDate,
      tdltime                          as LastChangeTime,

      @Semantics.text: true
      _InoteTemp.text                  as InhRepairNoteText,
      
      _CustMgmtObjectType,
      _TextObjectType,
      _TextObjectCategory,
      _Language,
      _InHouseRepair

}
where
  stxh.tdobject = 'CRM_ORDERH'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_INHOUSEREPAIR",
"CRMS4T_NOTE_TEMP",
"STXH"
],
"ASSOCIATED":
[
"I_BUSINESSOBJTYPE",
"I_INHOUSEREPAIR",
"I_LANGUAGE",
"I_TEXTOBJECTCATEGORY",
"I_TEXTOBJECTTYPE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/