I_QualityTaskTP

DDL: I_QUALITYTASKTP Type: view TRANSACTIONAL Package: VDM_QM_NOTIFICATION

Quality Task

I_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 64 fields with key field QualityTaskInternalId. It has 5 associations to related views. Part of development package VDM_QM_NOTIFICATION.

Data Sources (1)

SourceAliasJoin Type
I_QualityTask I_QualityTask from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_Defect_TP _Defect_TP $projection.DefectInternalID = _Defect_TP.DefectInternalID
[0..1] I_ProbSolvingProcTP _ProbSolvingProcTP $projection.ProbSolvingProc = _ProbSolvingProcTP.ProbSolvingProc
[0..1] I_ProbSolvingProcStpTP _ProbSolvingProcStpTP $projection.ProbSolvingProc = _ProbSolvingProcStpTP.ProbSolvingProc and $projection.ProbSolvingProcStp = _ProbSolvingProcStpTP.ProbSolvingProcStp
[0..1] I_ProbSolvingProcCauseTP _ProbSolvingProcCauseTP $projection.ProbSolvingProc = _ProbSolvingProcCauseTP.ProbSolvingProc and $projection.ProbSolvingProcCause = _ProbSolvingProcCauseTP.ProbSolvingProcCause
[1..1] E_NotificationTask _Extension $projection.QualityTaskInternalId = _Extension.Notification and _Extension.NotificationTask = '0000'

Annotations (27)

NameValueLevelField
AbapCatalog.sqlViewName IQLTYTSKTP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
EndUserText.label 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.sapObjectNodeType.name QualityTask view
ObjectModel.compositionRoot true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled true view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.draftEnabled true view
ObjectModel.writeDraftPersistence QTASK_D view
ObjectModel.writeActivePersistence V_QTSK_DR2ACT view
ObjectModel.entityChangeStateId ChangedDateTime view
ObjectModel.lifecycle.enqueue.expiryBehavior #RELATIVE_TO_LAST_CHANGE view
ObjectModel.lifecycle.enqueue.expiryInterval PT15M view
ObjectModel.lifecycle.processing.expiryBehavior #RELATIVE_TO_LAST_CHANGE view
ObjectModel.lifecycle.processing.expiryInterval PT30M view

Fields (64)

KeyFieldSource TableSource FieldDescription
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 I_QualityTask MasterLanguage
NotifTaskCompletedByUser I_QualityTask NotifTaskCompletedByUser
QualityTaskType I_QualityTask QualityTaskType
QualityTaskCodeCatalog I_QualityTask QualityTaskCodeCatalog
QualityTaskCodeGroup I_QualityTask QualityTaskCodeGroup
QualityTaskCode I_QualityTask QualityTaskCode
NotifTaskPlannedEndDateTime I_NotifTskTmeStampsInLoclTmeZn NotifTaskPlannedEndDateTime
NotifTaskCompletionDateTime I_NotifTskTmeStampsInLoclTmeZn NotifTaskCompletionDateTime
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
_QualityTaskType I_QualityTask _QualityTaskType
_Defect_TP _Defect_TP
_QualityTaskOrigin I_QualityTask _QualityTaskOrigin
_CreatedByUserContactCard I_QualityTask _CreatedByUserContactCard
_CompletedByUserContactCard I_QualityTask _CompletedByUserContactCard
_LastChangedByUserContactCard I_QualityTask _LastChangedByUserContactCard
_QualityTaskProcessor I_QualityTask _QualityTaskProcessor
_QualityTaskStatus I_QualityTask _QualityTaskStatus
_QltyTaskArchivingStatus I_QualityTask _QltyTaskArchivingStatus
_QaulityTaskTimeZone I_NotifTskTmeStampsInLoclTmeZn _QaulityTaskTimeZone
_QltyTaskFollowUpAction I_QualityTask _QltyTaskFollowUpAction
_QltyTaskFllwUpActionSts I_QualityTask _QltyTaskFllwUpActionSts
_QltyTskCodeGroup I_QualityTask _QltyTskCodeGroup
_QltyTskCode I_QualityTask _QltyTskCode
_PredecessorQualityTask I_QualityTask _PredecessorQualityTask
_QltyTskProcTimeUnit I_QualityTask _QltyTskProcTimeUnit
_ProbSolvingProcTP _ProbSolvingProcTP
_ProbSolvingProcStpTP _ProbSolvingProcStpTP
_ProbSolvingProcCauseTP _ProbSolvingProcCauseTP
_QualityTaskLongTextTP _QualityTaskLongTextTP
_QltyTaskDetailedDesc _QltyTaskDetailedDesc
_QltyTaskProcessorNote _QltyTaskProcessorNote
_QltyTaskFllwUpActionParamTP _QltyTaskFllwUpActionParamTP
_QltyTskProcFllwActnTblParam _QltyTskProcFllwActnTblParam
@AbapCatalog: {
    sqlViewName: 'IQLTYTSKTP',
    compiler.compareFilter: true,
    preserveKey: true
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
 
@VDM: {
    viewType: #TRANSACTIONAL,
    lifecycle.contract.type: #SAP_INTERNAL_API
}
@EndUserText.label: 'Quality Task'
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
    semanticKey:  [ 'QualityTask' ],
    representativeKey: 'QualityTaskInternalId',
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #L,
        serviceQuality: #A },
    sapObjectNodeType.name: 'QualityTask',
    
// Begin Draft 2.0

    compositionRoot: true,
    createEnabled: true,
    updateEnabled: 'EXTERNAL_CALCULATION',
    deleteEnabled: true,
    transactionalProcessingEnabled: true,
    draftEnabled: true,
    writeDraftPersistence: 'QTASK_D',
    writeActivePersistence: 'V_QTSK_DR2ACT',
    entityChangeStateId: 'ChangedDateTime',
    lifecycle.enqueue: {
        expiryBehavior: #RELATIVE_TO_LAST_CHANGE,  // Default #RELATIVE_TO_LAST_CHANGE 

        expiryInterval: 'PT15M'                    // Default 'PT15M'

    },
    lifecycle.processing: {
        expiryBehavior: #RELATIVE_TO_LAST_CHANGE,  // Default #RELATIVE_TO_LAST_CHANGE

        expiryInterval: 'PT30M'                    // Default 'PT30M'

    }
}

define view I_QualityTaskTP as select from I_QualityTask
    left outer to one join I_NotifTskTmeStampsInLoclTmeZn
                        on I_NotifTskTmeStampsInLoclTmeZn.Notification     = I_QualityTask.QualityTaskInternalId
                       and I_NotifTskTmeStampsInLoclTmeZn.NotificationTask = '0000'

//=== Child Nodes

    association[1..*] to I_QualityTaskLongTextTP as _QualityTaskLongTextTP on $projection.QualityTaskInternalId = _QualityTaskLongTextTP.QualityTaskInternalId  
    association[0..*] to I_QltyTaskFllwUpActionParamTP as _QltyTaskFllwUpActionParamTP on $projection.QualityTaskInternalId = _QltyTaskFllwUpActionParamTP.QualityTaskInternalId

//=== Specialized BO Associations     

    association[0..*] to I_QltyTaskFllwUpActionParamTP as _QltyTskProcFllwActnTblParam  on $projection.QualityTaskInternalId = _QltyTskProcFllwActnTblParam.QualityTaskInternalId 
                                                                                        and _QltyTskProcFllwActnTblParam.ItemCounter >=2
    association[0..*] to I_QualityTaskLongTextTP       as _QltyTaskDetailedDesc          on $projection.QualityTaskInternalId = _QltyTaskDetailedDesc.QualityTaskInternalId
                                                                                        and _QltyTaskDetailedDesc.LongTextID = 'LTXT' // IF_I_TASK_DRAFT_UTIL=>CC_LT_DETAILED_DESC

    association[0..*] to I_QualityTaskLongTextTP       as _QltyTaskProcessorNote         on $projection.QualityTaskInternalId = _QltyTaskProcessorNote.QualityTaskInternalId
                                                                                        and _QltyTaskProcessorNote.LongTextID = 'LTPN' // IF_I_TASK_DRAFT_UTIL=>CC_LT_PROCESSOR_NOTE

    
//=== Assocation to QM specific views 

    association [0..1] to I_Defect_TP              as _Defect_TP               on $projection.DefectInternalID     = _Defect_TP.DefectInternalID

    association [0..1] to I_ProbSolvingProcTP      as _ProbSolvingProcTP       on $projection.ProbSolvingProc      = _ProbSolvingProcTP.ProbSolvingProc
    association [0..1] to I_ProbSolvingProcStpTP   as _ProbSolvingProcStpTP    on $projection.ProbSolvingProc      = _ProbSolvingProcStpTP.ProbSolvingProc and
                                                                                  $projection.ProbSolvingProcStp   = _ProbSolvingProcStpTP.ProbSolvingProcStp                                                               
    association [0..1] to I_ProbSolvingProcCauseTP as _ProbSolvingProcCauseTP  on $projection.ProbSolvingProc      = _ProbSolvingProcCauseTP.ProbSolvingProc and
                                                                                  $projection.ProbSolvingProcCause = _ProbSolvingProcCauseTP.ProbSolvingProcCause
////=== Unit

//    association [0..1] to I_UnitOfMeasure           as _QltyTskProcTimeUnit     on $projection.QltyTaskTimeBasedEffortUoM      = _QltyTskProcTimeUnit.UnitOfMeasure and

//                                                                                   _QltyTskProcTimeUnit.UnitOfMeasureDimension = 'TIME'


//=== Extension

    association [1..1] to E_NotificationTask       as _Extension               on  $projection.QualityTaskInternalId = _Extension.Notification
                                                                               and _Extension.NotificationTask = '0000'

{  
 
//=== Key Fields

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
    key I_QualityTask.QualityTaskInternalId, 

//=== Common Fields

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTask,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskOrigin,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskText,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.IsDeleted,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskProcessor,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.MasterLanguage,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.NotifTaskCompletedByUser,
        //@ObjectModel.readOnly: true

        I_QualityTask.QualityTaskType as QualityTaskType,
        
//=== Code

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskCodeCatalog,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskCodeGroup,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskCode,       

//=== Timestamps

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskPlannedEndDateTime,
        @ObjectModel.readOnly: true
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskCompletionDateTime,
        
//=== Time Zone dependend fields

        @ObjectModel.readOnly: true
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskTimeZone,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskPlannedEndDate,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskPlannedEndTime,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskCompletionDate,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskCompletionTime,

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskResubmissionDate,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_NotifTskTmeStampsInLoclTmeZn.NotifTaskResubmissionTime,

//=== Reference Object Fields  

        @ObjectModel.foreignKey.association: '_Defect_TP'      
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.DefectInternalID,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.PredecessorQltyTaskIntNumber,

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        @ObjectModel.foreignKey.association: '_ProbSolvingProcTP'
        I_QualityTask.ProbSolvingProc,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        @ObjectModel.foreignKey.association: '_ProbSolvingProcStpTP'
        I_QualityTask.ProbSolvingProcStp,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        @ObjectModel.foreignKey.association: '_ProbSolvingProcCauseTP'
        I_QualityTask.ProbSolvingProcCause,

//=== Follow-Up Action

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QltyTaskFollowUpAction,
        @ObjectModel.readOnly: true
        -- 'transient' field 
        cast( '' as qtskfollowupactionconfig) as QltyTskFllwUpActnConfignVal,
        
//=== Status

        @ObjectModel.readOnly: true
        I_QualityTask.QualityTaskLifecycleStatus,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QualityTaskArchivingStatus,
        @ObjectModel.readOnly: true
        I_QualityTask.QltyTaskFllwUpActionSts,
        
//=== Administrative Data

        @ObjectModel.readOnly: true
        I_QualityTask.CreatedByUser,
        @ObjectModel.readOnly: true
        I_NotifTskTmeStampsInLoclTmeZn.CreationDate,
        @ObjectModel.readOnly: true
        I_NotifTskTmeStampsInLoclTmeZn.CreationTime,
        @ObjectModel.readOnly: true
        I_QualityTask.ChangedDateTime,
        
        @ObjectModel.readOnly: true
        I_NotifTskTmeStampsInLoclTmeZn.LastChangeDate,
        @ObjectModel.readOnly: true
        I_NotifTskTmeStampsInLoclTmeZn.LastChangeTime,
        @ObjectModel.readOnly: true
        I_QualityTask.LastChangedByUser,
        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QltyTskProcgIsCtrldByTskOrigin,
    
//====Time Recording for Task

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
        I_QualityTask.QltyTaskTimeBasedEffort,    // as QltyTaskTimeBasedEffort,

        @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'       
        I_QualityTask.QltyTaskTimeBasedEffortUoM, // as QltyTaskTimeBasedEffortUoM,

       
//=== Expose Associations        

        I_QualityTask._QualityTaskType,
        _Defect_TP,
        I_QualityTask._QualityTaskOrigin,
        I_QualityTask._CreatedByUserContactCard,
        I_QualityTask._CompletedByUserContactCard,
        I_QualityTask._LastChangedByUserContactCard,
        I_QualityTask._QualityTaskProcessor,
        I_QualityTask._QualityTaskStatus,
        I_QualityTask._QltyTaskArchivingStatus,
        I_NotifTskTmeStampsInLoclTmeZn._QaulityTaskTimeZone,
        I_QualityTask._QltyTaskFollowUpAction,
        I_QualityTask._QltyTaskFllwUpActionSts,
        I_QualityTask._QltyTskCodeGroup,
        I_QualityTask._QltyTskCode,
        I_QualityTask._PredecessorQualityTask,
        I_QualityTask._QltyTskProcTimeUnit,
        
        _ProbSolvingProcTP,
        _ProbSolvingProcStpTP,
        _ProbSolvingProcCauseTP,
        
        @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD  ]
        _QualityTaskLongTextTP,
        // Specialization for different types of long text

        _QltyTaskDetailedDesc,
        _QltyTaskProcessorNote,
        @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD  ]
        _QltyTaskFllwUpActionParamTP,
        // Specialized BO Associations

        _QltyTskProcFllwActnTblParam
}