I_InhRepairItemNote
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)
| Source | Alias | Join Type |
|---|---|---|
| I_InHouseRepairItem | InHouseRepairItem | inner |
| stxh | stxh | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA