I_QualityTask
Quality Task
I_QualityTask is a Basic CDS View (Dimension) that provides data about "Quality Task" in SAP S/4HANA. It reads from 1 data source (qmsm) and exposes 58 fields with key field QualityTaskInternalId. It has 21 associations to related views. Part of development package VDM_QM_NOTIFICATION.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| qmsm | qmsm | from |
Associations (21)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_QltyTaskFllwUpActionParam | _QltyTaskFllwUpActionParam | $projection.QualityTaskInternalId = _QltyTaskFllwUpActionParam.QualityTaskInternalId |
| [0..1] | I_Defect | _Defect | $projection.DefectInternalID = _Defect.DefectInternalID |
| [1..1] | I_QltyTaskOrigin | _QualityTaskOrigin | $projection.QualityTaskOrigin = _QualityTaskOrigin.QualityTaskOrigin |
| [0..1] | I_QltyBPWithUser | _QualityTaskProcessor | $projection.QualityTaskProcessor = _QualityTaskProcessor.BusinessPartner |
| [0..1] | I_Inspectioncatalog | _QualityTaskCodeCatalog | $projection.QualityTaskCodeCatalog = _QualityTaskCodeCatalog.InspectionCatalog |
| [0..1] | I_QltyTskCodeGroup | _QltyTskCodeGroup | $projection.QualityTaskCodeGroup = _QltyTskCodeGroup.QualityTaskCodeGroup |
| [0..1] | I_QltyTskCode | _QltyTskCode | $projection.QualityTaskCodeGroup = _QltyTskCode.QualityTaskCodeGroup and $projection.QualityTaskCode = _QltyTskCode.QualityTaskCode |
| [0..1] | I_QltyTaskFollowUpAction | _QltyTaskFollowUpAction | $projection.QltyTaskFollowUpAction = _QltyTaskFollowUpAction.QltyTaskFollowUpAction |
| [1..1] | I_QualityTaskType | _QualityTaskType | $projection.QualityTaskType = _QualityTaskType.QualityTaskType |
| [1..1] | I_QualityTask | _PredecessorQualityTask | $projection.PredecessorQltyTaskIntNumber = _PredecessorQualityTask.QualityTaskInternalId |
| [0..1] | I_ProbSolvingProc | _ProbSolvingProc | $projection.ProbSolvingProc = _ProbSolvingProc.ProbSolvingProc |
| [0..1] | I_ProbSolvingProcStp | _ProbSolvingProcStp | $projection.ProbSolvingProc = _ProbSolvingProcStp.ProbSolvingProc and $projection.ProbSolvingProcStp = _ProbSolvingProcStp.ProbSolvingProcStp |
| [0..1] | I_ProbSolvingProcCause | _ProbSolvingProcCause | $projection.ProbSolvingProc = _ProbSolvingProcCause.ProbSolvingProc and $projection.ProbSolvingProcCause = _ProbSolvingProcCause.ProbSolvingProcCause |
| [0..1] | I_UserContactCard | _CreatedByUserContactCard | $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID |
| [0..1] | I_UserContactCard | _CompletedByUserContactCard | $projection.NotifTaskCompletedByUser = _CompletedByUserContactCard.ContactCardID |
| [0..1] | I_UserContactCard | _LastChangedByUserContactCard | $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID |
| [1..1] | I_QualityTaskStatus | _QualityTaskStatus | $projection.QualityTaskLifecycleStatus = _QualityTaskStatus.QualityTaskLifecycleStatus |
| [1..1] | I_QltyTaskArchivingStatus | _QltyTaskArchivingStatus | $projection.QualityTaskArchivingStatus = _QltyTaskArchivingStatus.QualityTaskArchivingStatus |
| [0..1] | I_QltyTaskFllwUpActionSts | _QltyTaskFllwUpActionSts | $projection.QltyTaskFllwUpActionSts = _QltyTaskFllwUpActionSts.QltyTaskFllwUpActionSts |
| [0..1] | I_UnitOfMeasure | _QltyTskProcTimeUnit | $projection.QltyTaskTimeBasedEffortUoM = _QltyTskProcTimeUnit.UnitOfMeasure and _QltyTskProcTimeUnit.UnitOfMeasureDimension = 'TIME' |
| [1..1] | E_NotificationTask | _Extension | $projection.QualityTaskInternalId = _Extension.Notification and _Extension.NotificationTask = '0000' |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Quality Task | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.technicalName | IQLTYTSK | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ObjectModel.modelingPattern | #NONE | view | |
| ObjectModel.representativeKey | QualityTaskInternalId | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (58)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | QualityTaskInternalId | |||
| QualityTask | ||||
| QualityTaskOrigin | qmsm | taskorigin | ||
| QualityTaskType | qmsm | tasktype | ||
| QualityTaskText | ||||
| IsDeleted | qmsm | kzloesch | ||
| QualityTaskProcessor | qmsm | processor | ||
| MasterLanguage | qmsm | kzmla | ||
| QualityTaskCodeCatalog | qmsm | mnkat | ||
| QualityTaskCodeGroup | ||||
| QualityTaskCode | qmsm | mncod | ||
| NotifTaskTimeZone | qmsm | tzonsm | ||
| NotifTaskPlannedEndDate | ||||
| NotifTaskPlannedEndTime | ||||
| NotifTaskCompletionDate | ||||
| NotifTaskCompletionTime | ||||
| NotifTaskResubmissionDate | qmsm | wdvdat | ||
| NotifTaskResubmissionTime | qmsm | wdvzeit | ||
| NotifTaskCompletedByUser | ||||
| DefectInternalID | qmsm | defectinternalid | ||
| ProbSolvingProc | qmsm | probsolvingprocess | ||
| ProbSolvingProcStp | qmsm | probsolvingprocessstep | ||
| ProbSolvingProcCause | qmsm | prbobsolvproccause | ||
| PredecessorQltyTaskIntNumber | qmsm | prdcssrqtaskinternalid | ||
| QltyTaskFollowUpAction | qmsm | folgeact | ||
| QualityTaskLifecycleStatus | qmsm | statlcycle | ||
| QualityTaskArchivingStatus | qmsm | statacycle | ||
| QltyTaskFllwUpActionSts | qmsm | statfoa | ||
| CreatedByUser | qmsm | ernam | ||
| CreationDate | qmsm | erdat | ||
| CreationTime | ||||
| ChangedDateTime | qmsm | changeddatetime | ||
| LastChangedByUser | qmsm | aenam | ||
| LastChangeDate | qmsm | aedat | ||
| LastChangeTime | ||||
| QltyTskProcgIsCtrldByTskOrigin | qmsm | taskiscontrolledbyorigin | ||
| QltyTaskTimeBasedEffort | qmsm | timebasedeffort | ||
| QltyTaskTimeBasedEffortUoM | qmsm | timebasedeffortuom | ||
| _QltyTaskFllwUpActionParam | _QltyTaskFllwUpActionParam | |||
| _QualityTaskType | _QualityTaskType | |||
| _Defect | _Defect | |||
| _QualityTaskOrigin | _QualityTaskOrigin | |||
| _CreatedByUserContactCard | _CreatedByUserContactCard | |||
| _CompletedByUserContactCard | _CompletedByUserContactCard | |||
| _LastChangedByUserContactCard | _LastChangedByUserContactCard | |||
| _QualityTaskProcessor | _QualityTaskProcessor | |||
| _QualityTaskStatus | _QualityTaskStatus | |||
| _QltyTaskArchivingStatus | _QltyTaskArchivingStatus | |||
| _QltyTaskFollowUpAction | _QltyTaskFollowUpAction | |||
| _QltyTaskFllwUpActionSts | _QltyTaskFllwUpActionSts | |||
| _QualityTaskCodeCatalog | _QualityTaskCodeCatalog | |||
| _QltyTskCodeGroup | _QltyTskCodeGroup | |||
| _QltyTskCode | _QltyTskCode | |||
| _ProbSolvingProc | _ProbSolvingProc | |||
| _ProbSolvingProcStp | _ProbSolvingProcStp | |||
| _ProbSolvingProcCause | _ProbSolvingProcCause | |||
| _PredecessorQualityTask | _PredecessorQualityTask | |||
| _QltyTskProcTimeUnit | _QltyTskProcTimeUnit |
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Quality Task'
@Analytics.dataCategory: #DIMENSION
@Analytics.technicalName: 'IQLTYTSK'
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel.supportedCapabilities:
[ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION ]
@ObjectModel.modelingPattern: #NONE
@ObjectModel: {
semanticKey: [ 'QualityTask' ],
representativeKey: 'QualityTaskInternalId',
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #A }
}
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
define view entity I_QualityTask as select from qmsm
//=== BO Aggregations
association [0..*] to I_QltyTaskFllwUpActionParam as _QltyTaskFllwUpActionParam on $projection.QualityTaskInternalId = _QltyTaskFllwUpActionParam.QualityTaskInternalId
//=== Assocation to QM specific views
association [0..1] to I_Defect as _Defect on $projection.DefectInternalID = _Defect.DefectInternalID
association [1..1] to I_QltyTaskOrigin as _QualityTaskOrigin on $projection.QualityTaskOrigin = _QualityTaskOrigin.QualityTaskOrigin
association [0..1] to I_QltyBPWithUser as _QualityTaskProcessor on $projection.QualityTaskProcessor = _QualityTaskProcessor.BusinessPartner
association [0..1] to I_Inspectioncatalog as _QualityTaskCodeCatalog on $projection.QualityTaskCodeCatalog = _QualityTaskCodeCatalog.InspectionCatalog
association [0..1] to I_QltyTskCodeGroup as _QltyTskCodeGroup on $projection.QualityTaskCodeGroup = _QltyTskCodeGroup.QualityTaskCodeGroup
association [0..1] to I_QltyTskCode as _QltyTskCode on $projection.QualityTaskCodeGroup = _QltyTskCode.QualityTaskCodeGroup and
$projection.QualityTaskCode = _QltyTskCode.QualityTaskCode
association [0..1] to I_QltyTaskFollowUpAction as _QltyTaskFollowUpAction on $projection.QltyTaskFollowUpAction = _QltyTaskFollowUpAction.QltyTaskFollowUpAction
association [1..1] to I_QualityTaskType as _QualityTaskType on $projection.QualityTaskType = _QualityTaskType.QualityTaskType
association [1..1] to I_QualityTask as _PredecessorQualityTask on $projection.PredecessorQltyTaskIntNumber = _PredecessorQualityTask.QualityTaskInternalId
//=== Problem Solving Process
association [0..1] to I_ProbSolvingProc as _ProbSolvingProc on $projection.ProbSolvingProc = _ProbSolvingProc.ProbSolvingProc
association [0..1] to I_ProbSolvingProcStp as _ProbSolvingProcStp on $projection.ProbSolvingProc = _ProbSolvingProcStp.ProbSolvingProc and
$projection.ProbSolvingProcStp = _ProbSolvingProcStp.ProbSolvingProcStp
association [0..1] to I_ProbSolvingProcCause as _ProbSolvingProcCause on $projection.ProbSolvingProc = _ProbSolvingProcCause.ProbSolvingProc and
$projection.ProbSolvingProcCause = _ProbSolvingProcCause.ProbSolvingProcCause
//=== Contact Card
association [0..1] to I_UserContactCard as _CreatedByUserContactCard on $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
association [0..1] to I_UserContactCard as _CompletedByUserContactCard on $projection.NotifTaskCompletedByUser = _CompletedByUserContactCard.ContactCardID
association [0..1] to I_UserContactCard as _LastChangedByUserContactCard on $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
//=== Status
association [1..1] to I_QualityTaskStatus as _QualityTaskStatus on $projection.QualityTaskLifecycleStatus = _QualityTaskStatus.QualityTaskLifecycleStatus
association [1..1] to I_QltyTaskArchivingStatus as _QltyTaskArchivingStatus on $projection.QualityTaskArchivingStatus = _QltyTaskArchivingStatus.QualityTaskArchivingStatus
association [0..1] to I_QltyTaskFllwUpActionSts as _QltyTaskFllwUpActionSts on $projection.QltyTaskFllwUpActionSts = _QltyTaskFllwUpActionSts.QltyTaskFllwUpActionSts
////=== Unit
association [0..1] to I_UnitOfMeasure as _QltyTskProcTimeUnit on $projection.QltyTaskTimeBasedEffortUoM = _QltyTskProcTimeUnit.UnitOfMeasure and
_QltyTskProcTimeUnit.UnitOfMeasureDimension = 'TIME'
//=== Time Zone
/*association [0..1] to I_TimeZone as _QaulityTaskTimeZone on $projection.NotifTaskTimeZone = _QaulityTaskTimeZone.TimeZoneID*/
//=== Extension
association [1..1] to E_NotificationTask as _Extension on $projection.QualityTaskInternalId = _Extension.Notification
and _Extension.NotificationTask = '0000'
{
//=== Key Fields
key cast( qmsm.qmnum as qtaskinternalid preserving type ) as QualityTaskInternalId,
@ObjectModel:{ text.element: [ 'QualityTaskText' ] }
cast( substring(qmsm.qmnum,2,11) as qtaskid preserving type ) as QualityTask,
//=== Common Fields
@ObjectModel.foreignKey.association: '_QualityTaskOrigin'
qmsm.taskorigin as QualityTaskOrigin,
@ObjectModel.foreignKey.association: '_QualityTaskType'
qmsm.tasktype as QualityTaskType,
@Semantics.text: true
cast( qmsm.matxt as vdm_qtaskdesc preserving type ) as QualityTaskText,
@Semantics.booleanIndicator: true
qmsm.kzloesch as IsDeleted,
@ObjectModel.foreignKey.association: '_QualityTaskProcessor'
qmsm.processor as QualityTaskProcessor,
qmsm.kzmla as MasterLanguage,
//=== Code
@ObjectModel.foreignKey.association: '_QualityTaskCodeCatalog'
qmsm.mnkat as QualityTaskCodeCatalog,
@ObjectModel.foreignKey.association: '_QltyTskCodeGroup'
cast( qmsm.mngrp as vdm_qtaskcodegrp preserving type ) as QualityTaskCodeGroup,
@ObjectModel.foreignKey.association: '_QltyTskCode'
qmsm.mncod as QualityTaskCode,
//== Dates & Times
//@ObjectModel.foreignKey.association: '_QaulityTaskTimeZone'
qmsm.tzonsm as NotifTaskTimeZone,
cast( qmsm.peter as vdm_qtaskplannedenddate preserving type ) as NotifTaskPlannedEndDate,
cast( qmsm.petur as vdm_qtaskplannedendtime preserving type ) as NotifTaskPlannedEndTime,
cast( qmsm.erldat as vdm_qtaskcompletiondate preserving type ) as NotifTaskCompletionDate,
cast( qmsm.erlzeit as vdm_qtaskcompletiontime preserving type ) as NotifTaskCompletionTime,
qmsm.wdvdat as NotifTaskResubmissionDate,
qmsm.wdvzeit as NotifTaskResubmissionTime,
@ObjectModel.foreignKey.association: '_CompletedByUserContactCard'
cast( qmsm.erlnam as vdm_qtaskcompletedby preserving type ) as NotifTaskCompletedByUser,
//=== Reference Object Fields
@ObjectModel.foreignKey.association: '_Defect'
qmsm.defectinternalid as DefectInternalID,
@ObjectModel.foreignKey.association: '_ProbSolvingProc'
qmsm.probsolvingprocess as ProbSolvingProc,
@ObjectModel.foreignKey.association: '_ProbSolvingProcStp'
qmsm.probsolvingprocessstep as ProbSolvingProcStp,
@ObjectModel.foreignKey.association: '_ProbSolvingProcCause'
qmsm.prbobsolvproccause as ProbSolvingProcCause,
@ObjectModel.foreignKey.association: '_PredecessorQualityTask'
qmsm.prdcssrqtaskinternalid as PredecessorQltyTaskIntNumber,
//=== Follow-Up Action
@ObjectModel.foreignKey.association: '_QltyTaskFollowUpAction'
qmsm.folgeact as QltyTaskFollowUpAction,
//=== Status fields
@ObjectModel.foreignKey.association: '_QualityTaskStatus'
qmsm.statlcycle as QualityTaskLifecycleStatus,
@ObjectModel.foreignKey.association: '_QltyTaskArchivingStatus'
qmsm.statacycle as QualityTaskArchivingStatus,
@ObjectModel.foreignKey.association: '_QltyTaskFllwUpActionSts'
qmsm.statfoa as QltyTaskFllwUpActionSts,
//=== Administrative Data
@ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
qmsm.ernam as CreatedByUser,
@Semantics.systemDate.createdAt: true
qmsm.erdat as CreationDate,
cast( qmsm.erzeit as vdm_qerstezeit preserving type ) as CreationTime,
qmsm.changeddatetime as ChangedDateTime,
@ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
qmsm.aenam as LastChangedByUser,
@Semantics.systemDate.lastChangedAt: true
qmsm.aedat as LastChangeDate,
cast( qmsm.aezeit as vdm_qaendezeit preserving type ) as LastChangeTime,
qmsm.taskiscontrolledbyorigin as QltyTskProcgIsCtrldByTskOrigin,
//====Time Recording for Task
@Semantics.quantity.unitOfMeasure: 'QltyTaskTimeBasedEffortUoM'
qmsm.timebasedeffort as QltyTaskTimeBasedEffort,
@ObjectModel.foreignKey.association: '_QltyTskProcTimeUnit'
qmsm.timebasedeffortuom as QltyTaskTimeBasedEffortUoM,
//=== Expose Associations
_QltyTaskFllwUpActionParam,
_QualityTaskType,
_Defect,
_QualityTaskOrigin,
_CreatedByUserContactCard,
_CompletedByUserContactCard,
_LastChangedByUserContactCard,
_QualityTaskProcessor,
_QualityTaskStatus,
_QltyTaskArchivingStatus,
/*_QaulityTaskTimeZone*/
_QltyTaskFollowUpAction,
_QltyTaskFllwUpActionSts,
_QualityTaskCodeCatalog,
_QltyTskCodeGroup,
_QltyTskCode,
_ProbSolvingProc,
_ProbSolvingProcStp,
_ProbSolvingProcCause,
_PredecessorQualityTask,
_QltyTskProcTimeUnit
} where qmsm.qmnum like '$%' // ABAP syntax: CP "$*"
and qmsm.manum = '0000'
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