R_QualityTaskTP

DDL: R_QUALITYTASKTP Type: view_entity TRANSACTIONAL Package: VDM_QM_NOTIFICATION

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)

SourceAliasJoin Type
I_QualityTask _QualityTask from

Associations (3)

CardinalityTargetAliasCondition
[1..1] E_NotificationTask _Extension $projection.QualityTaskInternalId = _Extension.Notification and _Extension.NotificationTask = '0000'
[0..*] R_QltyTaskFllwUpActionParamTP _QltyTaskFllwUpActionParam
[0..*] R_QualityTaskLongTextTP _QualityTaskLongText

Annotations (10)

NameValueLevelField
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)

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
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
  
}