I_DefectAffectedObject

DDL: I_DEFECTAFFECTEDOBJECT SQL: IDEFAFFCDOBJ Type: view BASIC

Object Affected by Defect

I_DefectAffectedObject is a Basic CDS View that provides data about "Object Affected by Defect" in SAP S/4HANA. It reads from 1 data source (qmfe_affctd_obj) and exposes 11 fields with key fields DefectInternalID, DefectAffectedObject. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
qmfe_affctd_obj qmfe_affctd_obj from

Associations (4)

CardinalityTargetAliasCondition
[1..1] I_Defect _Defect $projection.DefectInternalID = _Defect.DefectInternalID
[0..1] I_Product _Product $projection.Material = _Product.Product
[0..1] I_UnitOfMeasure _DefectAffcdObjQuantityUnit $projection.DefectAffcdObjQuantityUnit = _DefectAffcdObjQuantityUnit.UnitOfMeasure
[1..1] E_DefectAffectedObject _Extension $projection.DefectInternalID = _Extension.Notification and _Extension.NotificationItem = '0000' and $projection.DefectAffectedObject = _Extension.DefectAffectedObject

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IDEFAFFCDOBJ view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Object Affected by Defect view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.representativeKey DefectAffectedObject view
Metadata.ignorePropagatedAnnotations true view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY DefectInternalID qmnum
KEY DefectAffectedObject objcounter
Defect
DefectAffectedObjectType objtype
Material material
DefectAffectedObjectQuantity quantity
DefectAffcdObjQuantityUnit quantityunit
Batch batch
_Defect _Defect
_Product _Product
_DefectAffcdObjQuantityUnit _DefectAffcdObjQuantityUnit
@AbapCatalog.sqlViewName: 'IDEFAFFCDOBJ'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter:true

@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Object Affected by Defect'
@VDM: {
    viewType: #BASIC,
    lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl.authorizationCheck: #CHECK

@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #M,
        serviceQuality: #A },
    representativeKey: 'DefectAffectedObject',
    semanticKey:  [ 'Defect', 'DefectAffectedObject' ]
}
@Metadata.ignorePropagatedAnnotations: true

define view I_DefectAffectedObject as select from qmfe_affctd_obj

  association [1..1] to I_Defect        as _Defect                     on $projection.DefectInternalID = _Defect.DefectInternalID
  association [0..1] to I_Product       as _Product                    on $projection.Material = _Product.Product
  association [0..1] to I_UnitOfMeasure as _DefectAffcdObjQuantityUnit on $projection.DefectAffcdObjQuantityUnit = _DefectAffcdObjQuantityUnit.UnitOfMeasure

  // Extension

  association [1..1] to E_DefectAffectedObject as _Extension           on $projection.DefectInternalID = _Extension.Notification
                                                                      and _Extension.NotificationItem = '0000'
                                                                      and $projection.DefectAffectedObject = _Extension.DefectAffectedObject

{
      @ObjectModel.foreignKey.association: '_Defect'
  key qmnum                 as DefectInternalID,
//  key fenum not used at Defect layer

  key objcounter            as DefectAffectedObject,
  
      // Use external Defect Id as part of the semantic key

      cast( substring(qmnum,2,11) as qdefectid preserving type ) as Defect,

//    Not decided yet if they are defined as fixed domain values or if there will be a (customizing) table 

      objtype               as DefectAffectedObjectType,
      
      @ObjectModel.foreignKey.association: '_Product'
      material              as Material,
      
      @Semantics.quantity.unitOfMeasure: 'DefectAffcdObjQuantityUnit'
      quantity              as DefectAffectedObjectQuantity,
      
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_DefectAffcdObjQuantityUnit'
      quantityunit          as DefectAffcdObjQuantityUnit,
      
      batch                 as Batch,

//    Associations      

      _Defect,
      _Product,
      _DefectAffcdObjQuantityUnit

} where qmnum like '$%'
    and fenum = '0000'