C_ProjDmndWorkPackageDisplay

DDL: C_PROJDMNDWORKPACKAGEDISPLAY SQL: CPROJDMNDWPDISP Type: view CONSUMPTION Package: PS_DMND_VDM_ROOT

WBS Element Details

C_ProjDmndWorkPackageDisplay is a Consumption CDS View that provides data about "WBS Element Details" in SAP S/4HANA. It reads from 1 data source (R_EnterpriseProjectElement) and exposes 19 fields with key field ProjectElementUUID. It has 6 associations to related views. Part of development package PS_DMND_VDM_ROOT.

Data Sources (1)

SourceAliasJoin Type
R_EnterpriseProjectElement R_EnterpriseProjectElement from

Associations (6)

CardinalityTargetAliasCondition
[0..*] I_PPM_AuthznByUsrH _AuthUser _AuthUser.ReferencedObjectUUID = $projection.ProjectElementUUID and _AuthUser.UserID = $session.user and ( _AuthUser.Activity = 'Admin' or _AuthUser.Activity = 'Write' or _AuthUser.Activity = 'Read' )
[0..*] I_PPM_AuthznBySubstitH _AuthSubst _AuthSubst.ReferencedObjectUUID = $projection.ProjectElementUUID and _AuthSubst.UserID = $session.user and ( _AuthSubst.Activity = 'Admin' or _AuthSubst.Activity = 'Write' or _AuthSubst.Activity = 'Read' )
[0..*] I_PPM_AuthznByUserRoleH _AuthRole _AuthRole.ReferencedObjectUUID = $projection.ProjectElementUUID and _AuthRole.UserID = $session.user and ( _AuthRole.Activity = 'Admin' or _AuthRole.Activity = 'Write' or _AuthRole.Activity = 'Read' )
[0..*] I_PPM_AuthznByUsrGrpH _AuthGroup _AuthGroup.ReferencedObjectUUID = $projection.ProjectElementUUID and _AuthGroup.UserID = $session.user and ( _AuthGroup.Activity = 'Admin' or _AuthGroup.Activity = 'Write' or _AuthGroup.Activity = 'Read' )
[0..1] I_WBSElementBasicData _ProjObj _ProjObj.WBSElementInternalID = $projection.WBSElementInternalID
[0..1] I_PPM_ProjectProcgStatusVH _ProjectProcessingStatus $projection.TaskProcessingStatus = _ProjectProcessingStatus.ProcessingStatus

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName CPROJDMNDWPDISP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label WBS Element Details view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey ProjectElementUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY ProjectElementUUID ProjectElementUUID
TaskName ProjectElementDescription WBS Element Name
ExternalId ProjectElement WBS Element ID
ProcessingStatusText
ProjectProcessingStatus _ProjectProcessingStatus ProcessingStatus WBS Element Processing Status
TaskProcessingStatus ProcessingStatus
ActualStartDate ActualStartDate WBS Element Actual Start
ActualFinishDate ActualFinishDate WBS Element Actual Finish
PlannedStartDate PlannedStartDate WBS Element Planned Start
PlannedEndDate PlannedEndDate WBS Element Planned End
ProjectInternalID ProjectInternalID
IsProjectMilestone IsProjectMilestone
ProjectUUID ProjectUUID
WBSElementInternalID WBSElementInternalID
_ProjObj _ProjObj
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup
@AbapCatalog.sqlViewName: 'CPROJDMNDWPDISP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'WBS Element Details'

@AccessControl.personalData.blocking:#REQUIRED
@VDM.viewType: #CONSUMPTION

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
   semanticKey:       [ 'TaskName' ],
   representativeKey: 'ProjectElementUUID',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MIXED,
     sizeCategory:    #L
    }
}
define view C_ProjDmndWorkPackageDisplay
  as select from R_EnterpriseProjectElement

  // associations to authorization views

  association [0..*] to I_PPM_AuthznByUsrH         as _AuthUser                on  _AuthUser.ReferencedObjectUUID = $projection.ProjectElementUUID
                                                                               and _AuthUser.UserID               = $session.user
                                                                               and (
                                                                                  _AuthUser.Activity              = 'Admin'
                                                                                  or _AuthUser.Activity           = 'Write'
                                                                                  or _AuthUser.Activity           = 'Read'
                                                                                )
  association [0..*] to I_PPM_AuthznBySubstitH     as _AuthSubst               on  _AuthSubst.ReferencedObjectUUID = $projection.ProjectElementUUID
                                                                               and _AuthSubst.UserID               = $session.user
                                                                               and (
                                                                                  _AuthSubst.Activity              = 'Admin'
                                                                                  or _AuthSubst.Activity           = 'Write'
                                                                                  or _AuthSubst.Activity           = 'Read'
                                                                                )
  association [0..*] to I_PPM_AuthznByUserRoleH    as _AuthRole                on  _AuthRole.ReferencedObjectUUID = $projection.ProjectElementUUID
                                                                               and _AuthRole.UserID               = $session.user
                                                                               and (
                                                                                  _AuthRole.Activity              = 'Admin'
                                                                                  or _AuthRole.Activity           = 'Write'
                                                                                  or _AuthRole.Activity           = 'Read'
                                                                                )
  association [0..*] to I_PPM_AuthznByUsrGrpH      as _AuthGroup               on  _AuthGroup.ReferencedObjectUUID = $projection.ProjectElementUUID
                                                                               and _AuthGroup.UserID               = $session.user
                                                                               and (
                                                                                  _AuthGroup.Activity              = 'Admin'
                                                                                  or _AuthGroup.Activity           = 'Write'
                                                                                  or _AuthGroup.Activity           = 'Read'
                                                                                )

  // PS WBS Element

  association [0..1] to I_WBSElementBasicData      as _ProjObj                 on  _ProjObj.WBSElementInternalID = $projection.WBSElementInternalID

  association [0..1] to I_PPM_ProjectProcgStatusVH as _ProjectProcessingStatus on  $projection.TaskProcessingStatus = _ProjectProcessingStatus.ProcessingStatus

{
      @UI.facet: [
       {
         purpose: #QUICK_VIEW,
         type: #FIELDGROUP_REFERENCE,
         targetQualifier: 'WPPOPOVER1',
         label: 'General Information'
       },
       {
        purpose: #QUICK_VIEW,
         type: #FIELDGROUP_REFERENCE,
         targetQualifier: 'WPPOPOVER2',
         label: 'Dates'
       }
      ]
      @UI.hidden: true
  key ProjectElementUUID,
      @EndUserText.label: 'WBS Element Name'
      @EndUserText.quickInfo: 'WBS Element Name'
      @Consumption.valueHelpDefinition: [{
          entity: {   name:    'C_ProjectDemandWorkPackageVH',
                      element: 'ProjectElementDescription' }
      }]
      ProjectElementDescription                                                                  as TaskName,

      @EndUserText.label: 'WBS Element ID'
      @Consumption.valueHelpDefinition: [{
          entity: {   name:    'C_ProjectDemandWorkPackageVH',
                      element: 'ProjectElement' }
      }]
      ProjectElement                                                                             as ExternalId,

      _ProjectProcessingStatus._Text[1:Language = $session.system_language].ProcessingStatusText as ProcessingStatusText,

      @EndUserText.label: 'WBS Element Processing Status'
      @UI: {
      fieldGroup:     [{ qualifier:'WPPOPOVER1', position: 10, label: 'Processing Status'}]
      }
      @ObjectModel.text.element: 'ProcessingStatusText'
      @UI.textArrangement: #TEXT_ONLY
      @Consumption.valueHelpDefinition: [{entity: {name: 'I_PPM_ProjectProcgStatusVH', element: 'ProcessingStatus'}}]
      _ProjectProcessingStatus.ProcessingStatus                                                  as ProjectProcessingStatus,

      @UI.hidden: true
      ProcessingStatus                                                                           as TaskProcessingStatus,

      @EndUserText.label: 'WBS Element Actual Start'
      @UI: {
      fieldGroup:     [{ qualifier:'WPPOPOVER2', position: 50, label: 'Actual Start'}]
      }
      @Consumption.filter.hidden: true
      ActualStartDate,
      @EndUserText.label: 'WBS Element Actual Finish'
      @UI: {
      fieldGroup:     [{ qualifier:'WPPOPOVER2', position: 60, label: 'Actual Finish'}]
      }
      @Consumption.filter.hidden: true
      ActualFinishDate,
      @EndUserText.label: 'WBS Element Planned Start'
      @UI: {
       fieldGroup:     [{ qualifier:'WPPOPOVER2', position: 30, label: 'Planned Start'}]
      }
      @Consumption.filter.selectionType: #INTERVAL
      PlannedStartDate,
      @EndUserText.label: 'WBS Element Planned End'
      @UI: {
       fieldGroup:     [{ qualifier:'WPPOPOVER2', position: 40, label: 'Planned End'}]
      }
      @Consumption.filter.selectionType: #INTERVAL
      PlannedEndDate,
      @UI.hidden: true
      ProjectInternalID,
      @UI.hidden: true
      IsProjectMilestone,

      @UI.hidden: true
      ProjectUUID,

      @UI.hidden: true
      WBSElementInternalID,

      //_I_Project ,

      _ProjObj,
      // Authorization Association, do not expose externally

      @Consumption.hidden: true
      _AuthUser,
      @Consumption.hidden: true
      _AuthSubst,
      @Consumption.hidden: true
      _AuthRole,
      @Consumption.hidden: true
      _AuthGroup
}