C_DefectAffectedObjectFDP
FDP view for QM Defect Affected Object
C_DefectAffectedObjectFDP is a Consumption CDS View that provides data about "FDP view for QM Defect Affected Object" in SAP S/4HANA. It reads from 1 data source (I_DefectAffectedObject) and exposes 16 fields with key fields DefectInternalID, DefectAffectedObject. It has 4 associations to related views. Part of development package ODATA_QM_DEFECT.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_DefectAffectedObject | _DefectAffectedObject | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | C_DefectFDP | _Defect | $projection.DefectInternalID = _Defect.DefectInternalID |
| [0..1] | I_DefectAffectedObjLastTask | _DefectAffectedObjLastTask | $projection.DefectInternalID = _DefectAffectedObjLastTask.DefectInternalID and $projection.DefectAffectedObject = _DefectAffectedObjLastTask.DefectAffectedObject |
| [0..*] | I_UnitOfMeasureText | _DefectAffcdObjQuantityUnitT | $projection.DefectAffcdObjQuantityUnit = _DefectAffcdObjQuantityUnitT.UnitOfMeasure |
| [1..1] | E_DefectAffectedObject | _Extension | $projection.DefectInternalID = _Extension.Notification and _Extension.NotificationItem = '0000' and $projection.DefectAffectedObject = _Extension.DefectAffectedObject |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | FDP view for QM Defect Affected Object | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ObjectModel.modelingPattern | #OUTPUT_FORM_DATA_PROVIDER | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.representativeKey | DefectAffectedObject | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Consumption.semanticObject | Defect | view |
Fields (16)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | DefectInternalID | I_DefectAffectedObject | DefectInternalID | |
| KEY | DefectAffectedObject | I_DefectAffectedObject | DefectAffectedObject | |
| Defect | I_DefectAffectedObject | Defect | ||
| DefectAffectedObjectType | I_DefectAffectedObject | DefectAffectedObjectType | ||
| Product | I_DefectAffectedObject | Material | ||
| ProductName | ||||
| DefectAffectedObjectQuantity | I_DefectAffectedObject | DefectAffectedObjectQuantity | ||
| DefectAffcdObjQuantityUnit | I_DefectAffectedObject | DefectAffcdObjQuantityUnit | ||
| Batch | I_DefectAffectedObject | Batch | ||
| QltyTaskFollowUpAction | _DefectAffectedObjLastTask | QltyTaskFollowUpAction | ||
| QltyTaskFollowUpActionText | ||||
| QltyTaskFllwUpActionSts | _DefectAffectedObjLastTask | QltyTaskFllwUpActionSts | ||
| QltyTaskFllwUpActionStsTxt | ||||
| QualityTask | _DefectAffectedObjLastTask | QualityTask | ||
| _DefectAffcdObjQuantityUnitT | _DefectAffcdObjQuantityUnitT | |||
| _Defect | _Defect |
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@EndUserText.label: 'FDP view for QM Defect Affected Object'
@VDM: {
viewType: #CONSUMPTION,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel.supportedCapabilities:
[ #OUTPUT_FORM_DATA_PROVIDER ]
@ObjectModel.modelingPattern: #OUTPUT_FORM_DATA_PROVIDER
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #M,
serviceQuality: #D },
representativeKey: 'DefectAffectedObject',
semanticKey: [ 'Defect', 'DefectAffectedObject' ]
}
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@Consumption.semanticObject: 'Defect'
define view entity C_DefectAffectedObjectFDP as select from I_DefectAffectedObject as _DefectAffectedObject
association [1..1] to C_DefectFDP as _Defect on $projection.DefectInternalID = _Defect.DefectInternalID
// associations which are missing in source view
association [0..1] to I_DefectAffectedObjLastTask as _DefectAffectedObjLastTask on $projection.DefectInternalID = _DefectAffectedObjLastTask.DefectInternalID
and $projection.DefectAffectedObject = _DefectAffectedObjLastTask.DefectAffectedObject
// new associations for text fields
association [0..*] to I_UnitOfMeasureText as _DefectAffcdObjQuantityUnitT on $projection.DefectAffcdObjQuantityUnit = _DefectAffcdObjQuantityUnitT.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 _DefectAffectedObject.DefectInternalID,
key _DefectAffectedObject.DefectAffectedObject,
_DefectAffectedObject.Defect,
@Consumption.hidden: true
_DefectAffectedObject.DefectAffectedObjectType,
_DefectAffectedObject.Material as Product,
_DefectAffectedObject._Product._Text[ 1: Language = $session.system_language ].ProductName,
@Semantics.quantity.unitOfMeasure: 'DefectAffcdObjQuantityUnit'
_DefectAffectedObject.DefectAffectedObjectQuantity,
@ObjectModel.text.association: '_DefectAffcdObjQuantityUnitT'
_DefectAffectedObject.DefectAffcdObjQuantityUnit,
_DefectAffectedObject.Batch,
_DefectAffectedObjLastTask.QltyTaskFollowUpAction,
_DefectAffectedObjLastTask._QltyTaskFollowUpAction._QltyTaskFollowUpActionText[ 1: Language = $session.system_language ].QltyTaskFollowUpActionText,
_DefectAffectedObjLastTask.QltyTaskFllwUpActionSts,
_DefectAffectedObjLastTask._QltyTaskFllwUpActionSts._QltyTaskFllwUpActionStsTxt[ 1: Language = $session.system_language ].QltyTaskFllwUpActionStsTxt,
_DefectAffectedObjLastTask.QualityTask,
@Semantics.booleanIndicator: true
case DefectAffectedObjectType
when '01'
then
case when Material is not initial and Material = _Defect.Product and Batch = _Defect.Batch
then cast( 'X' as qfaffcdobjisdefective preserving type )
else cast( ' ' as qfaffcdobjisdefective preserving type )
end
else cast( ' ' as qfaffcdobjisdefective preserving type )
end as DefectAffcdObjIsDefective,
// Associations
_DefectAffcdObjQuantityUnitT,
// Association for ACL
_Defect
}
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