I_InhRepairNote

DDL: I_INHREPAIRNOTE Type: view_entity BASIC Package: CRMS4_REPAIR_BO

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. Part of development package CRMS4_REPAIR_BO.

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 (8)

NameValueLevelField
EndUserText.label Notes for In-House Repair view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #MANDATORY view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY CustMgmtObjectType I_InHouseRepair CustMgmtObjectType
KEY InHouseRepair I_InHouseRepair InHouseRepair
KEY TextObjectType stxh tdid
KEY Language stxh tdspras
InHouseRepairUUID I_InHouseRepair InHouseRepairUUID
TextObjectCategory stxh tdobject
CreatedByUser stxh tdfuser
CreationDate stxh tdfdate
CreationTime stxh tdftime
LastChangedByUser stxh tdluser
LastChangeDate stxh tdldate
LastChangeTime stxh 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: #MANDATORY
}
@Metadata: {
  ignorePropagatedAnnotations: true
}
@ObjectModel:{
  usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
}
define view entity 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 stxh.tdid                        as TextObjectType,

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

      InHouseRepair.InHouseRepairUUID  as InHouseRepairUUID,

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

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

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

      @Semantics.text: true
      _InoteTemp.text                  as InhRepairNoteText,

      _CustMgmtObjectType,
      _TextObjectType,
      _TextObjectCategory,
      _Language,
      _InHouseRepair

}
where
  stxh.tdobject = 'CRM_ORDERH'