I_DefectCauseCodeGroup

DDL: I_DEFECTCAUSECODEGROUP SQL: IDEFCACODEGRP Type: view BASIC

Defect Cause Code Group

I_DefectCauseCodeGroup is a Basic CDS View that provides data about "Defect Cause Code Group" in SAP S/4HANA. It reads from 1 data source (qpgr) and exposes 4 fields with key field DefectCauseCodeGroup. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
qpgr qpgr from

Associations (2)

CardinalityTargetAliasCondition
[0..*] I_DefectCauseCodeGroupText _Text $projection.DefectCauseCodeGroup = _Text.DefectCauseCodeGroup
[0..*] I_DefectCauseCode _DefectCauseCode $projection.DefectCauseCodeGroup = _DefectCauseCode.DefectCauseCodeGroup

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IDEFCACODEGRP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Defect Cause Code Group view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.representativeKey DefectCauseCodeGroup view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #CUSTOMIZING view
Metadata.ignorePropagatedAnnotations true view

Fields (4)

KeyFieldSource TableSource FieldDescription
KEY DefectCauseCodeGroup
CodeGroupStatus qpgr status
_Text _Text
_DefectCauseCode _DefectCauseCode
@AbapCatalog.sqlViewName: 'IDEFCACODEGRP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Defect Cause Code Group'
@AccessControl.authorizationCheck: #CHECK
@VDM: {
    viewType:#BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel: {
    representativeKey: 'DefectCauseCodeGroup',
    usageType: { serviceQuality: #A, sizeCategory: #S, dataClass: #CUSTOMIZING }
}
@Metadata.ignorePropagatedAnnotations: true
define view I_DefectCauseCodeGroup as select from qpgr 

  association [0..*] to I_DefectCauseCodeGroupText as _Text
    on $projection.DefectCauseCodeGroup = _Text.DefectCauseCodeGroup
    
  association [0..*] to I_DefectCauseCode as _DefectCauseCode
    on $projection.DefectCauseCodeGroup = _DefectCauseCode.DefectCauseCodeGroup
    
{
  @ObjectModel.text.association: '_Text'
  key cast( qpgr.codegruppe as vdm_qfecausegrp preserving type )   as DefectCauseCodeGroup,
  
  // DB field has three values, but field shall be indicator

  @Semantics.booleanIndicator: true
  case qpgr.inaktiv
    when ' ' then cast( ' ' as vdm_qm_codegroupisinactive preserving type )
    else cast( 'X' as vdm_qm_codegroupisinactive preserving type )
  end                                                              as CodeGroupIsInactive,
  
  qpgr.status                                                      as CodeGroupStatus,

  //Associations 

  _Text,
  _DefectCauseCode
  
} where qpgr.katalogart = '5' // Causes