I_InhRepairItemNote

DDL: I_INHREPAIRITEMNOTE Type: view BASIC

Notes for In-House Repair Item

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

Data Sources (2)

SourceAliasJoin Type
I_InHouseRepairItem InHouseRepairItem inner
stxh stxh from

Associations (5)

CardinalityTargetAliasCondition
[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_InHouseRepairItem _InHouseRepairItem $projection.CustMgmtObjectType = _InHouseRepairItem.CustMgmtObjectType and $projection.InHouseRepair = _InHouseRepairItem.InHouseRepair and $projection.InHouseRepairItem = _InHouseRepairItem.InHouseRepairItem
[0..1] I_InHouseRepair _InHouseRepair $projection.CustMgmtObjectType = _InHouseRepair.CustMgmtObjectType and $projection.InHouseRepair = _InHouseRepair.InHouseRepair

Annotations (12)

NameValueLevelField
EndUserText.label Notes for In-House Repair Item 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 IINHREPAITEMNOTE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY CustMgmtObjectType I_InHouseRepairItem CustMgmtObjectType
KEY InHouseRepair I_InHouseRepairItem InHouseRepair
KEY InHouseRepairItem I_InHouseRepairItem InHouseRepairItem
KEY TextObjectType tdid
KEY Language tdspras
InHouseRepairItemUUID I_InHouseRepairItem InHouseRepairItemUUID
TextObjectCategory tdobject
CreatedByUser tdfuser
CreationDate tdfdate
CreationTime tdftime
LastChangedByUser tdluser
LastChangeDate tdldate
LastChangeTime tdltime
InhRepairNoteText _InoteTemp text
_TextObjectType _TextObjectType
_TextObjectCategory _TextObjectCategory
_Language _Language
_InHouseRepairItem _InHouseRepairItem
_InHouseRepair _InHouseRepair
@EndUserText.label: 'Notes for In-House Repair Item'
@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: 'IINHREPAITEMNOTE',
  compiler.compareFilter: true,
  preserveKey: true
}

define view I_InhRepairItemNote
  as select from           stxh                as stxh

    inner join I_InHouseRepairItem as InHouseRepairItem on InHouseRepairItem.InHouseRepairItemCharUUID = 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_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_InHouseRepairItem  as _InHouseRepairItem  on  $projection.CustMgmtObjectType = _InHouseRepairItem.CustMgmtObjectType
                                                                    and $projection.InHouseRepair      = _InHouseRepairItem.InHouseRepair  
                                                                    and $projection.InHouseRepairItem  = _InHouseRepairItem.InHouseRepairItem

  association [0..1] to I_InHouseRepair      as _InHouseRepair      on  $projection.CustMgmtObjectType = _InHouseRepair.CustMgmtObjectType
                                                                    and $projection.InHouseRepair      = _InHouseRepair.InHouseRepair  
{  
  key InHouseRepairItem.CustMgmtObjectType                                                        as CustMgmtObjectType,

  key InHouseRepairItem.InHouseRepair                                                             as InHouseRepair,

  key InHouseRepairItem.InHouseRepairItem                                                         as InHouseRepairItem,

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

      InHouseRepairItem.InHouseRepairItemUUID                                                     as InHouseRepairItemUUID,

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

      
      @Semantics.user.createdBy: true
      tdfuser                                                                                     as CreatedByUser,
      @Semantics.systemDate.createdAt: true
      tdfdate                                                                                     as CreationDate,
      @Semantics.systemTime.createdAt: true
      tdftime                                                                                     as CreationTime,

      @Semantics.user.lastChangedBy: true
      tdluser                                                                                     as LastChangedByUser,
      @Semantics.systemDate.lastChangedAt: true
      tdldate                                                                                     as LastChangeDate,
      @Semantics.systemTime.lastChangedAt: true
      tdltime                                                                                     as LastChangeTime,

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

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