C_QualityTaskProcess
Process Quality Task
C_QualityTaskProcess is a Consumption CDS View that provides data about "Process Quality Task" in SAP S/4HANA. It reads from 1 data source (I_QualityTaskTP) and exposes 53 fields with key field QualityTaskInternalId. It has 7 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_QualityTaskTP | I_QualityTaskTP | from |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | C_QltyTskProcProcsrNotes | _QltyTskProcProcsrNotes | $projection.QualityTaskInternalId = _QltyTskProcProcsrNotes.QualityTaskInternalId and $projection.MasterLanguage = _QltyTskProcProcsrNotes.Language and _QltyTskProcProcsrNotes.ItemCounter = 1 |
| [0..1] | C_QltyTaskDetailedDescription | _QltyTaskDetailedDescription | $projection.QualityTaskInternalId = _QltyTaskDetailedDescription.QualityTaskInternalId and $projection.MasterLanguage = _QltyTaskDetailedDescription.Language and _QltyTaskDetailedDescription.ItemCounter = 2 |
| [0..1] | C_QltyTskProcFllwActnSglParam | _QltyTskProcFllwActnSglParam | $projection.QualityTaskInternalId = _QltyTskProcFllwActnSglParam.QualityTaskInternalId and _QltyTskProcFllwActnSglParam.ItemCounter = 1 |
| [0..*] | C_QltyTskProcFllwActnTblParam | _QltyTskProcFllwActnTblParam | $projection.QualityTaskInternalId = _QltyTskProcFllwActnTblParam.QualityTaskInternalId |
| [1..1] | C_QualityTaskProcessCalc | _QualityTaskProcessCalc | $projection.QualityTaskInternalId = _QualityTaskProcessCalc.QualityTaskInternalId |
| [0..1] | C_QltyTaskProcessDefectInfo | _QltyTaskProcessDefectInfo | $projection.DefectInternalID = _QltyTaskProcessDefectInfo.DefectInternalID |
| [0..1] | C_QltyTaskProbSolvingProcInfo | _QltyTaskProbSolvingProcInfo | $projection.ProbSolvingProc = _QltyTaskProbSolvingProcInfo.ProbSolvingProc and $projection.ProbSolvingProcStp = _QltyTaskProbSolvingProcInfo.ProbSolvingProcStp |
Annotations (24)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CQLTYTSKPROC | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| VDM.viewType | #CONSUMPTION | view | |
| EndUserText.label | Process Quality Task | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.representativeKey | QualityTaskInternalId | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.transactionalProcessingDelegated | true | view | |
| ObjectModel.draftEnabled | true | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.updateEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.deleteEnabled | true | view | |
| UI.headerInfo.typeName | Quality Task | view | |
| UI.headerInfo.typeNamePlural | Quality Tasks | view | |
| UI.headerInfo.title.value | QualityTask | view | |
| UI.headerInfo.title.label | Quality Task | view | |
| UI.headerInfo.description.value | QualityTaskText | view | |
| Consumption.semanticObject | QualityTask | view | |
| Metadata.allowExtensions | true | view |
Fields (53)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | QualityTaskInternalId | QualityTaskInternalId | ||
| QualityTask | QualityTask | |||
| QualityTaskOrigin | QualityTaskOrigin | |||
| QualityTaskType | QualityTaskType | |||
| QualityTaskText | QualityTaskText | |||
| QualityTaskProcessor | QualityTaskProcessor | |||
| QualityTaskLifecycleStatus | QualityTaskLifecycleStatus | |||
| QualityTaskArchivingStatus | QualityTaskArchivingStatus | |||
| MasterLanguage | MasterLanguage | |||
| NotifTaskPlannedEndDate | NotifTaskPlannedEndDate | |||
| NotifTaskPlannedEndTime | NotifTaskPlannedEndTime | |||
| NotifTaskCompletionDate | NotifTaskCompletionDate | |||
| NotifTaskCompletionTime | NotifTaskCompletionTime | |||
| NotifTaskCompletedByUser | NotifTaskCompletedByUser | |||
| NotifTaskTimeZone | NotifTaskTimeZone | |||
| QualityTaskCodeCatalog | QualityTaskCodeCatalog | |||
| QualityTaskCodeGroup | QualityTaskCodeGroup | |||
| QualityTaskCode | QualityTaskCode | |||
| QltyTaskFollowUpAction | QltyTaskFollowUpAction | |||
| QltyTaskFllwUpActionSts | QltyTaskFllwUpActionSts | |||
| QltyTskFllwUpActnConfignVal | QltyTskFllwUpActnConfignVal | |||
| ChangedDateTime | ChangedDateTime | |||
| CreationDate | CreationDate | |||
| CreationTime | CreationTime | |||
| CreatedByUser | CreatedByUser | |||
| LastChangeDate | LastChangeDate | |||
| LastChangeTime | LastChangeTime | |||
| LastChangedByUser | LastChangedByUser | |||
| QltyTskProcgIsCtrldByTskOrigin | QltyTskProcgIsCtrldByTskOrigin | |||
| DefectInternalID | DefectInternalID | |||
| ProbSolvingProc | ProbSolvingProc | |||
| ProbSolvingProcStp | ProbSolvingProcStp | |||
| ProbSolvingProcCause | ProbSolvingProcCause | |||
| QltyTaskTimeBasedEffort | QltyTaskTimeBasedEffort | Time Effort | ||
| QltyTaskTimeBasedEffortUoM | QltyTaskTimeBasedEffortUoM | |||
| _QltyTskProcProcsrNotes | _QltyTskProcProcsrNotes | |||
| _QltyTaskDetailedDescription | _QltyTaskDetailedDescription | |||
| _QltyTskProcFllwActnSglParam | _QltyTskProcFllwActnSglParam | |||
| _QltyTskProcFllwActnTblParam | _QltyTskProcFllwActnTblParam | |||
| _QualityTaskProcessor | _QualityTaskProcessor | |||
| _QualityTaskStatus | _QualityTaskStatus | |||
| _QltyTaskArchivingStatus | _QltyTaskArchivingStatus | |||
| _CreatedByUserContactCard | _CreatedByUserContactCard | |||
| _CompletedByUserContactCard | _CompletedByUserContactCard | |||
| _LastChangedByUserContactCard | _LastChangedByUserContactCard | |||
| _QaulityTaskTimeZone | _QaulityTaskTimeZone | |||
| _QltyTskCodeGroup | _QltyTskCodeGroup | |||
| _QltyTskCode | _QltyTskCode | |||
| _QltyTaskFollowUpAction | _QltyTaskFollowUpAction | |||
| _QltyTaskFllwUpActionSts | _QltyTaskFllwUpActionSts | |||
| _QualityTaskProcessCalc | _QualityTaskProcessCalc | |||
| _QltyTaskProcessDefectInfo | _QltyTaskProcessDefectInfo | |||
| _QltyTaskProbSolvingProcInfo | _QltyTaskProbSolvingProcInfo |
@AbapCatalog.sqlViewName: 'CQLTYTSKPROC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Process Quality Task'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: [ 'QualityTask' ],
representativeKey: 'QualityTaskInternalId',
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #A },
// Begin Draft 2.0
compositionRoot: true,
transactionalProcessingDelegated: true,
draftEnabled: true,
createEnabled: true,
updateEnabled: 'EXTERNAL_CALCULATION',
deleteEnabled: true
}
@UI.headerInfo: {
typeName: 'Quality Task',
typeNamePlural: 'Quality Tasks',
title: {value: 'QualityTask', label: 'Quality Task'},
description: {value: 'QualityTaskText'}
}
@UI.presentationVariant.requestAtLeast: [ 'DefectInternalID', 'ProbSolvingProc', 'ProbSolvingProcStp', 'ProbSolvingProcCause', 'QltyTskFllwUpActnConfignVal', '_QltyTskProcProcsrNotes.QualityTaskProcessorNotes', '_QltyTskProcProcsrNotes.QualityTaskProcsrNotesPreview',
'_QualityTaskProcessCalc.QltyTaskOriginSemanticObject', '_QualityTaskProcessCalc.QltyTaskOriginObject', '_QualityTaskProcessCalc.QualityTaskOriginText',
'_QltyTskProcFllwActnSglParam.ItemCounter', 'QltyTskProcgIsCtrldByTskOrigin' ]
@AccessControl.privilegedAssociations: [ '_CreatedByUserContactCard', '_LastChangedByUserContactCard', '_CompletedByUserContactCard' ]
@Consumption.semanticObject: 'QualityTask'
@Metadata.allowExtensions: true
define view C_QualityTaskProcess as select from I_QualityTaskTP
//=== associations to other QM views
association [0..1] to C_QltyTskProcProcsrNotes as _QltyTskProcProcsrNotes on $projection.QualityTaskInternalId = _QltyTskProcProcsrNotes.QualityTaskInternalId
and $projection.MasterLanguage = _QltyTskProcProcsrNotes.Language
and _QltyTskProcProcsrNotes.ItemCounter = 1
association [0..1] to C_QltyTaskDetailedDescription as _QltyTaskDetailedDescription on $projection.QualityTaskInternalId = _QltyTaskDetailedDescription.QualityTaskInternalId
and $projection.MasterLanguage = _QltyTaskDetailedDescription.Language
and _QltyTaskDetailedDescription.ItemCounter = 2
association [0..1] to C_QltyTskProcFllwActnSglParam as _QltyTskProcFllwActnSglParam on $projection.QualityTaskInternalId = _QltyTskProcFllwActnSglParam.QualityTaskInternalId
and _QltyTskProcFllwActnSglParam.ItemCounter = 1
association [0..*] to C_QltyTskProcFllwActnTblParam as _QltyTskProcFllwActnTblParam on $projection.QualityTaskInternalId = _QltyTskProcFllwActnTblParam.QualityTaskInternalId
// Workaround for auto-update of status text after status change action execution
// association [0..*] to I_QualityTaskStatusText as _QualityTaskStatusText on $projection.QualityTaskLifecycleStatus = _QualityTaskStatusText.QualityTaskLifecycleStatus
association [1..1] to C_QualityTaskProcessCalc as _QualityTaskProcessCalc on $projection.QualityTaskInternalId = _QualityTaskProcessCalc.QualityTaskInternalId
association [0..1] to C_QltyTaskProcessDefectInfo as _QltyTaskProcessDefectInfo on $projection.DefectInternalID = _QltyTaskProcessDefectInfo.DefectInternalID
association [0..1] to C_QltyTaskProbSolvingProcInfo as _QltyTaskProbSolvingProcInfo on $projection.ProbSolvingProc = _QltyTaskProbSolvingProcInfo.ProbSolvingProc
and $projection.ProbSolvingProcStp = _QltyTaskProbSolvingProcInfo.ProbSolvingProcStp
{
//=== Key Fields
key QualityTaskInternalId,
//=== Common Fields
@ObjectModel.readOnly: true
QualityTask,
QualityTaskOrigin,
QualityTaskType,
@ObjectModel.mandatory: true
QualityTaskText,
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_QltyBPWithUserStdVH', element: 'BusinessPartner' } }]
QualityTaskProcessor,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_QualityTaskStatus',
element: 'QualityTaskLifecycleStatus' }
}]
QualityTaskLifecycleStatus,
@Consumption.filter.hidden: true
QualityTaskArchivingStatus,
MasterLanguage,
//UX Inc
@Consumption.filter: { selectionType: #INTERVAL }
NotifTaskPlannedEndDate,
@Consumption.filter.hidden: true
NotifTaskPlannedEndTime,
@ObjectModel.readOnly: true
//UX Inc
@Consumption.filter: { selectionType: #INTERVAL }
NotifTaskCompletionDate,
NotifTaskCompletionTime,
@ObjectModel.readOnly: true
NotifTaskCompletedByUser,
@Consumption.filter.hidden: true
NotifTaskTimeZone,
//=== Code
@Consumption.filter.hidden: true
QualityTaskCodeCatalog,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_QltyTskCodeGroupStdVH',
element: 'QualityTaskCodeGroup' }
}]
QualityTaskCodeGroup,
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_QltyTskCodeStdVH',
element: 'QualityTaskCode' },
additionalBinding: [{ localElement: 'QualityTaskCodeGroup',
element: 'QualityTaskCodeGroup' }]
}]
QualityTaskCode,
//=== Follow-Up Action
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_QltyTaskFollowUpActionVH', element: 'QltyTaskFollowUpAction'} }
]
QltyTaskFollowUpAction,
QltyTaskFllwUpActionSts,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_D_QT_SET_FOA_CONFIG'
QltyTskFllwUpActnConfignVal,
//=== Administrative Data
ChangedDateTime,
//UX Inc
@Consumption.filter: { selectionType: #INTERVAL }
CreationDate,
CreationTime,
@ObjectModel.foreignKey.association: [ { exclude } ]
//we suppress the foreignKey relation. the field is used as selected fields and therefore it seems that Fiori Elements tries to fetch the metadata of the corresponding entity type which fails because access is privileged only.
//suppressing the foreignKey relation avoids this error
CreatedByUser,
//UX Inc
@Consumption.filter: { selectionType: #INTERVAL }
LastChangeDate,
@Consumption.filter.hidden: true
LastChangeTime,
LastChangedByUser,
//UX Inc
@Consumption.filter.hidden: true
QltyTskProcgIsCtrldByTskOrigin,
//=== Reference Object Fields
DefectInternalID,
ProbSolvingProc,
ProbSolvingProcStp,
ProbSolvingProcCause,
////====Time Recording for Task
@Consumption.filter.hidden: true
@EndUserText.label: 'Time Effort'
@Semantics.quantity.unitOfMeasure: 'QltyTaskTimeBasedEffortUoM'
QltyTaskTimeBasedEffort,
@Consumption.filter.hidden: true
@Consumption.valueHelpDefinition: [{ entity: {name: 'C_QltyTskProcTimeUnitVH', element: 'UnitOfMeasure' } }]
QltyTaskTimeBasedEffortUoM,
// the Defect will be directly extracted out of the Defect Internal Id to avoid a join
/*
@Consumption.filter.hidden: true
@ObjectModel.readOnly: true
cast( substring(DefectInternalID,2,11) as qdefectid preserving type ) as Defect,*/
//=== Expose associations
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
@Consumption.filter.hidden: true
_QltyTskProcProcsrNotes,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
@Consumption.filter.hidden: true
_QltyTaskDetailedDescription,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
@Consumption.filter.hidden: true
_QltyTskProcFllwActnSglParam,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
@Consumption.filter.hidden: true
_QltyTskProcFllwActnTblParam,
@Consumption.filter.hidden: true
_QualityTaskProcessor,
@Consumption.filter.hidden: true
_QualityTaskStatus,
@Consumption.filter.hidden: true
_QltyTaskArchivingStatus,
@Consumption.filter.hidden: true
_CreatedByUserContactCard,
@Consumption.filter.hidden: true
_CompletedByUserContactCard,
@Consumption.filter.hidden: true
_LastChangedByUserContactCard,
@Consumption.filter.hidden: true
_QaulityTaskTimeZone,
@Consumption.filter.hidden: true
_QltyTskCodeGroup,
@Consumption.filter.hidden: true
_QltyTskCode,
@Consumption.filter.hidden: true
_QltyTaskFollowUpAction,
@Consumption.filter.hidden: true
_QltyTaskFllwUpActionSts,
@Consumption.filter.hidden: true
_QualityTaskProcessCalc,
// @Consumption.filter.hidden: true //--> Allow filter in general, but annotate each field in the target with 'filter.hidden: true' which shall not be used as filter field
_QltyTaskProcessDefectInfo,
// @Consumption.filter.hidden: true //--> Allow filter in general, but annotate each field in the target with 'filter.hidden: true' which shall not be used as filter field
_QltyTaskProbSolvingProcInfo
// Workaround for auto-update of status text after status change action execution
// @Consumption.filter.hidden: true
// _QualityTaskStatusText
} where IsDeleted <> 'X'
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