R_QualityTaskTP
Quality Task
R_QualityTaskTP is a Transactional CDS View that provides data about "Quality Task" in SAP S/4HANA. It reads from 1 data source (I_QualityTask) and exposes 57 fields with key field QualityTaskInternalId. It has 3 associations to related views. Part of development package VDM_QM_NOTIFICATION.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_QualityTask | _QualityTask | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | E_NotificationTask | _Extension | $projection.QualityTaskInternalId = _Extension.Notification and _Extension.NotificationTask = '0000' |
| [0..*] | R_QltyTaskFllwUpActionParamTP | _QltyTaskFllwUpActionParam | |
| [0..*] | R_QualityTaskLongTextTP | _QualityTaskLongText | |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Quality Task | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.sapObjectNodeType.name | QualityTask | view | |
| ObjectModel.representativeKey | QualityTaskInternalId | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (57)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | QualityTaskInternalId | I_QualityTask | QualityTaskInternalId | |
| QualityTask | I_QualityTask | QualityTask | ||
| QualityTaskOrigin | I_QualityTask | QualityTaskOrigin | ||
| QualityTaskText | I_QualityTask | QualityTaskText | ||
| IsDeleted | I_QualityTask | IsDeleted | ||
| QualityTaskProcessor | I_QualityTask | QualityTaskProcessor | ||
| MasterLanguage | ||||
| NotifTaskCompletedByUser | I_QualityTask | NotifTaskCompletedByUser | ||
| QualityTaskType | I_QualityTask | QualityTaskType | ||
| QualityTaskCodeCatalog | I_QualityTask | QualityTaskCodeCatalog | ||
| QualityTaskCodeGroup | I_QualityTask | QualityTaskCodeGroup | ||
| QualityTaskCode | I_QualityTask | QualityTaskCode | ||
| NotifTaskTimeZone | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskTimeZone | ||
| NotifTaskPlannedEndDate | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskPlannedEndDate | ||
| NotifTaskPlannedEndTime | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskPlannedEndTime | ||
| NotifTaskCompletionDate | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskCompletionDate | ||
| NotifTaskCompletionTime | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskCompletionTime | ||
| NotifTaskResubmissionDate | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskResubmissionDate | ||
| NotifTaskResubmissionTime | I_NotifTskTmeStampsInLoclTmeZn | NotifTaskResubmissionTime | ||
| DefectInternalID | I_QualityTask | DefectInternalID | ||
| PredecessorQltyTaskIntNumber | I_QualityTask | PredecessorQltyTaskIntNumber | ||
| ProbSolvingProc | I_QualityTask | ProbSolvingProc | ||
| ProbSolvingProcStp | I_QualityTask | ProbSolvingProcStp | ||
| ProbSolvingProcCause | I_QualityTask | ProbSolvingProcCause | ||
| QltyTaskFollowUpAction | I_QualityTask | QltyTaskFollowUpAction | ||
| QualityTaskLifecycleStatus | I_QualityTask | QualityTaskLifecycleStatus | ||
| QualityTaskArchivingStatus | I_QualityTask | QualityTaskArchivingStatus | ||
| QltyTaskFllwUpActionSts | I_QualityTask | QltyTaskFllwUpActionSts | ||
| CreatedByUser | I_QualityTask | CreatedByUser | ||
| CreationDate | I_NotifTskTmeStampsInLoclTmeZn | CreationDate | ||
| CreationTime | I_NotifTskTmeStampsInLoclTmeZn | CreationTime | ||
| ChangedDateTime | I_QualityTask | ChangedDateTime | ||
| LastChangeDate | I_NotifTskTmeStampsInLoclTmeZn | LastChangeDate | ||
| LastChangeTime | I_NotifTskTmeStampsInLoclTmeZn | LastChangeTime | ||
| LastChangedByUser | I_QualityTask | LastChangedByUser | ||
| QltyTskProcgIsCtrldByTskOrigin | I_QualityTask | QltyTskProcgIsCtrldByTskOrigin | ||
| QltyTaskTimeBasedEffort | I_QualityTask | QltyTaskTimeBasedEffort | ||
| QltyTaskTimeBasedEffortUoM | I_QualityTask | QltyTaskTimeBasedEffortUoM | ||
| _CompletedByUserContactCard | I_QualityTask | _CompletedByUserContactCard | ||
| _CreatedByUserContactCard | I_QualityTask | _CreatedByUserContactCard | ||
| _Defect | I_QualityTask | _Defect | ||
| _LastChangedByUserContactCard | I_QualityTask | _LastChangedByUserContactCard | ||
| _PredecessorQualityTask | I_QualityTask | _PredecessorQualityTask | ||
| _QaulityTaskTimeZone | I_NotifTskTmeStampsInLoclTmeZn | _QaulityTaskTimeZone | ||
| _QltyTaskArchivingStatus | I_QualityTask | _QltyTaskArchivingStatus | ||
| _QltyTaskFllwUpActionSts | I_QualityTask | _QltyTaskFllwUpActionSts | ||
| _QltyTaskFollowUpAction | I_QualityTask | _QltyTaskFollowUpAction | ||
| _QltyTskCode | I_QualityTask | _QltyTskCode | ||
| _QltyTskCodeGroup | I_QualityTask | _QltyTskCodeGroup | ||
| _QltyTskProcTimeUnit | I_QualityTask | _QltyTskProcTimeUnit | ||
| _QualityTaskOrigin | I_QualityTask | _QualityTaskOrigin | ||
| _QualityTaskProcessor | I_QualityTask | _QualityTaskProcessor | ||
| _QualityTaskStatus | I_QualityTask | _QualityTaskStatus | ||
| _QltyTaskFllwUpActionParam | _QltyTaskFllwUpActionParam | |||
| _QualityTaskLongText | _QualityTaskLongText | |||
| _QltyTaskDetailedDesc | _QltyTaskDetailedDesc | |||
| _QltyTaskProcessorNote | _QltyTaskProcessorNote |
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Quality Task'
@VDM: {
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel.sapObjectNodeType: { name: 'QualityTask' }
@ObjectModel: {
semanticKey: [ 'QualityTask' ],
representativeKey: 'QualityTaskInternalId',
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #A }
}
// In I_QualityTask many 'readOnly' annotation are active, which we cannot allow here.
// Either block propagation and add blocked annotation here again, or remove unwanted annottaion from underlying view I_QualityTask
@Metadata.ignorePropagatedAnnotations: true
define root view entity R_QualityTaskTP as select from I_QualityTask as _QualityTask
left outer to one join I_NotifTskTmeStampsInLoclTmeZn
on I_NotifTskTmeStampsInLoclTmeZn.Notification = _QualityTask.QualityTaskInternalId
and I_NotifTskTmeStampsInLoclTmeZn.NotificationTask = '0000'
//=== composition of target_data_source_name as _association_name
composition [0..*] of R_QltyTaskFllwUpActionParamTP as _QltyTaskFllwUpActionParam
composition [0..*] of R_QualityTaskLongTextTP as _QualityTaskLongText
//=== Specialized BO Associations
association[0..*] to R_QualityTaskLongTextTP as _QltyTaskDetailedDesc on $projection.QualityTaskInternalId = _QltyTaskDetailedDesc.QualityTaskInternalId
and _QltyTaskDetailedDesc.LongTextID = 'LTXT' // IF_I_TASK_DRAFT_UTIL=>CC_LT_DETAILED_DESC
association[0..*] to R_QualityTaskLongTextTP as _QltyTaskProcessorNote on $projection.QualityTaskInternalId = _QltyTaskProcessorNote.QualityTaskInternalId
and _QltyTaskProcessorNote.LongTextID = 'LTPN' // IF_I_TASK_DRAFT_UTIL=>CC_LT_PROCESSOR_NOTE
//=== Extension
association [1..1] to E_NotificationTask as _Extension on $projection.QualityTaskInternalId = _Extension.Notification
and _Extension.NotificationTask = '0000'
// Elements copied from I_QualityTaskTP
{
key _QualityTask.QualityTaskInternalId,
//=== Common Fields
@ObjectModel: {
sapObjectNodeTypeReference: 'QualityTask',
text.element: [ 'QualityTaskText' ]
}
_QualityTask.QualityTask,
@ObjectModel.foreignKey.association: '_QualityTaskOrigin'
_QualityTask.QualityTaskOrigin,
@Semantics.text: true
_QualityTask.QualityTaskText,
@Semantics.booleanIndicator: true
_QualityTask.IsDeleted,
@ObjectModel.foreignKey.association: '_QualityTaskProcessor'
_QualityTask.QualityTaskProcessor,
cast( _QualityTask.MasterLanguage as vdm_j_masterlanguage ) as MasterLanguage,
_QualityTask.NotifTaskCompletedByUser,
_QualityTask.QualityTaskType,
//=== Code
// @ObjectModel.foreignKey.association: '_QualityTaskCodeCatalog'
_QualityTask.QualityTaskCodeCatalog,
@ObjectModel.foreignKey.association: '_QltyTskCodeGroup'
_QualityTask.QualityTaskCodeGroup,
@ObjectModel.foreignKey.association: '_QltyTskCode'
_QualityTask.QualityTaskCode,
//=== Time Zone dependend fields
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskTimeZone,
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskPlannedEndDate,
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskPlannedEndTime,
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskCompletionDate,
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskCompletionTime,
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskResubmissionDate,
I_NotifTskTmeStampsInLoclTmeZn.NotifTaskResubmissionTime,
//=== Reference Object Fields
@ObjectModel.foreignKey.association: '_Defect'
_QualityTask.DefectInternalID,
_QualityTask.PredecessorQltyTaskIntNumber,
_QualityTask.ProbSolvingProc,
_QualityTask.ProbSolvingProcStp,
_QualityTask.ProbSolvingProcCause,
//=== Follow-Up Action
_QualityTask.QltyTaskFollowUpAction,
-- 'transient' field
cast( '' as qtskfollowupactionconfig) as QltyTskFllwUpActnConfignVal,
//=== Status
_QualityTask.QualityTaskLifecycleStatus,
_QualityTask.QualityTaskArchivingStatus,
_QualityTask.QltyTaskFllwUpActionSts,
//=== Administrative Data
_QualityTask.CreatedByUser,
I_NotifTskTmeStampsInLoclTmeZn.CreationDate,
I_NotifTskTmeStampsInLoclTmeZn.CreationTime,
_QualityTask.ChangedDateTime,
I_NotifTskTmeStampsInLoclTmeZn.LastChangeDate,
I_NotifTskTmeStampsInLoclTmeZn.LastChangeTime,
_QualityTask.LastChangedByUser,
_QualityTask.QltyTskProcgIsCtrldByTskOrigin,
//====Time Recording for Task
@Semantics.quantity.unitOfMeasure: 'QltyTaskTimeBasedEffortUoM'
_QualityTask.QltyTaskTimeBasedEffort,
_QualityTask.QltyTaskTimeBasedEffortUoM,
/* Associations */
_QualityTask._CompletedByUserContactCard,
_QualityTask._CreatedByUserContactCard,
_QualityTask._Defect,
_QualityTask._LastChangedByUserContactCard,
_QualityTask._PredecessorQualityTask,
// _ProbSolvingProcCauseTP,
// _ProbSolvingProcStpTP,
// _ProbSolvingProcTP,
I_NotifTskTmeStampsInLoclTmeZn._QaulityTaskTimeZone,
_QualityTask._QltyTaskArchivingStatus,
// _QltyTaskFllwUpActionParamTP, <--- will become a sub-node/child-node
_QualityTask._QltyTaskFllwUpActionSts,
_QualityTask._QltyTaskFollowUpAction,
_QualityTask._QltyTskCode,
_QualityTask._QltyTskCodeGroup,
// _QltyTskProcFllwActnTblParam, <--- will be a 'specialist' association!?
_QualityTask._QltyTskProcTimeUnit,
// _QualityTaskLongTextTP, <--- will become a sub-node/child-node
_QualityTask._QualityTaskOrigin,
_QualityTask._QualityTaskProcessor,
_QualityTask._QualityTaskStatus,
// _QualityTask._QualityTaskType
// _association_name // Make association public
/* Compositions */
_QltyTaskFllwUpActionParam,
_QualityTaskLongText,
/* Associations */
_QltyTaskDetailedDesc,
_QltyTaskProcessorNote
}
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