I_MaintNotifCauseCode
Inspection Code
I_MaintNotifCauseCode is a Basic CDS View that provides data about "Inspection Code" in SAP S/4HANA. It reads from 1 data source (qpcd) and exposes 9 fields with key fields InspectionCatalog, InspectionCodeGroup, InspectionCode. It has 4 associations to related views. Part of development package RAP_EAM_NTF.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| qpcd | qpcd | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_Inspectioncatalog | _InspectionCatalog | $projection.InspectionCatalog = _InspectionCatalog.InspectionCatalog |
| [1..1] | I_MaintNotifCauseCodeGroup | _InspectionCodeGroup | $projection.InspectionCatalog = _InspectionCodeGroup.InspectionCatalog and $projection.InspectionCodeGroup = _InspectionCodeGroup.InspectionCodeGroup |
| [1..*] | I_MaintNotifCodeGrpStsTxt | _StatusDesc | $projection.MaintNotifCauseGrpStatus = _StatusDesc.MaintNotifCodeGrpStatus |
| [1..*] | I_InspectionCodeText | _Text | $projection.InspectionCatalog = _Text.InspectionCatalog and $projection.InspectionCodeGroup = _Text.InspectionCodeGroup and $projection.InspectionCode = _Text.InspectionCode |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Inspection Code | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #CUSTOMIZING | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (9)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | InspectionCatalog | qpcd | katalogart | |
| KEY | InspectionCodeGroup | codegruppe | ||
| KEY | InspectionCode | code | ||
| MaintNotifCauseGrpStatus | _InspectionCodeGroup | CodeGroupStatus | ||
| CodeGroupStatus | _InspectionCodeGroup | CodeGroupStatus | ||
| _InspectionCatalog | _InspectionCatalog | |||
| _InspectionCodeGroup | _InspectionCodeGroup | |||
| _StatusDesc | _StatusDesc | |||
| _Text | _Text |
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Inspection Code'
@VDM: {
viewType:#BASIC
}
@ObjectModel.supportedCapabilities:
[ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ]
@ObjectModel.usageType: { serviceQuality: #A, sizeCategory: #M, dataClass: #CUSTOMIZING }
@Metadata.ignorePropagatedAnnotations: true
define view entity I_MaintNotifCauseCode as select from qpcd
association [1..1] to I_Inspectioncatalog as _InspectionCatalog
on $projection.InspectionCatalog = _InspectionCatalog.InspectionCatalog
association [1..1] to I_MaintNotifCauseCodeGroup as _InspectionCodeGroup
on $projection.InspectionCatalog = _InspectionCodeGroup.InspectionCatalog
and $projection.InspectionCodeGroup = _InspectionCodeGroup.InspectionCodeGroup
association [1..*] to I_MaintNotifCodeGrpStsTxt as _StatusDesc
on $projection.MaintNotifCauseGrpStatus = _StatusDesc.MaintNotifCodeGrpStatus
association [1..*] to I_InspectionCodeText as _Text
on $projection.InspectionCatalog = _Text.InspectionCatalog
and $projection.InspectionCodeGroup = _Text.InspectionCodeGroup
and $projection.InspectionCode = _Text.InspectionCode
{
@ObjectModel.foreignKey.association: '_InspectionCatalog'
key qpcd.katalogart as InspectionCatalog,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_InspectionCodeGroupStdVH',
element: 'InspectionCodeGroup' },
additionalBinding: [{ localElement: 'InspectionCatalog',
element: 'InspectionCatalog' }]
}]
@ObjectModel.foreignKey.association: '_InspectionCodeGroup'
key codegruppe as InspectionCodeGroup,
// key qpcd.version --> is always 1 so we could leave out
@ObjectModel.text.association: '_Text'
key code as InspectionCode,
_InspectionCodeGroup.CodeGroupStatus as MaintNotifCauseGrpStatus ,
// DB field has three values, but field shall be indicator
// @Semantics.booleanIndicator: true // It is boolean, but we cannot tag it, due to static code check
case qpcd.inaktiv
when ' ' then cast( ' ' as vdm_qm_codeisinactive preserving type )
else cast( 'X' as vdm_qm_codeisinactive preserving type )
end as CodeIsInactive,
// qpcd.gueltigab as MaintCatalogValidFromDate,
// qpcd.ersteller as MaintCatalogCodeCreatedBy,
// qpcd.e_datum as MaintCatalogCodeCreatedOn,
// qpcd.aenderer as MaintCatalogCodeChangedBy,
// qpcd.a_datum as MaintCatalogCodeChangedOn,
// qpcd.inaktiv as MaintCatalogCodeStatus,
// @Semantics.booleanIndicator: true
// qpcd.verwendung as MaintCatalogCodeIsUsed,
_InspectionCodeGroup.CodeGroupStatus,
//Associations
_InspectionCatalog,
_InspectionCodeGroup,
_StatusDesc,
_Text
}
where katalogart = '5'
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