P_PPM_Prstcm_ProjData

DDL: P_PPM_PRSTCM_PROJDATA SQL: PPPMPRSTCMPRD Type: view CONSUMPTION

P_PPM_Prstcm_ProjData is a Consumption CDS View in SAP S/4HANA. It reads from 8 data sources and exposes 21 fields with key field ProjectUUID. It has 1 association to related views.

Data Sources (8)

SourceAliasJoin Type
I_PPM_ProjectMilestEssent _MlstnEssential left_outer
I_PPM_ProjectMilestRelNext _MlstnRelevant left_outer
I_PPM_ProjectStatusArea _OverallStatusArea left_outer
I_ProjectBasicData _Project left_outer
I_PPM_ProjectSummaryTask _ProjectSummary from
I_PPM_SingleResponsibleForProj _Responsible left_outer
I_PPM_TeamMemberIsInRole I_PPM_TeamMemberIsInRole left_outer
I_WBSElementBasicData PS_RootWBS left_outer

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_PPM_Task _NextEssentialMlstn _NextEssentialMlstn.TaskUUID = _MlstnEssential.TaskUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PPPMPRSTCMPRD view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
VDM.viewType #CONSUMPTION view
VDM.private true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view

Fields (21)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID I_PPM_ProjectSummaryTask ProjectUUID
ProjectInternalID I_PPM_ProjectSummaryTask ProjectInternalID
Project I_PPM_ProjectSummaryTask Project
ProjectSummaryTaskUUID I_PPM_ProjectSummaryTask ProjectSummaryTaskUUID
ProcessingStatus I_PPM_ProjectSummaryTask ProjectProcessingStatus
PriorityCode I_PPM_ProjectSummaryTask PriorityCode
Status I_PPM_ProjectStatusArea Status
ProjectType I_WBSElementBasicData ProjectType
NextEssentialMlstnUUID I_PPM_ProjectMilestEssent TaskUUID
StatusCount
BusinessPartnerFullName
ProjectManagerUUID I_PPM_SingleResponsibleForProj BusinessPartnerUUID
IsProjectSteeringCommitteeMbr IsPrjSteerMbr IsInRoleCategory
ControllingArea I_ProjectBasicData ControllingArea
ProfitCenter I_ProjectBasicData ProfitCenter
WBSElementProfitCenter I_WBSElementBasicData ProfitCenter
_BusinessUser I_PPM_SingleResponsibleForProj _BusinessUser
_AuthUser I_PPM_ProjectSummaryTask _AuthUser
_AuthSubst I_PPM_ProjectSummaryTask _AuthSubst
_AuthRole I_PPM_ProjectSummaryTask _AuthRole
_AuthGroup I_PPM_ProjectSummaryTask _AuthGroup
@AbapCatalog.sqlViewName: 'PPPMPRSTCMPRD'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@VDM.viewType: #CONSUMPTION
@VDM.private:true
@ObjectModel: {
   usageType: {
     serviceQuality:  #D,
     dataClass:       #MIXED,
     sizeCategory:    #L
    }
}
@ClientHandling.algorithm: #SESSION_VARIABLE

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

define view P_PPM_Prstcm_ProjData
  as select from    I_PPM_ProjectSummaryTask                                  as _ProjectSummary
    left outer join I_ProjectBasicData                                        as _Project           on _Project.ProjectInternalID = _ProjectSummary.ProjectInternalID

    left outer join I_WBSElementBasicData                                     as PS_RootWBS         on PS_RootWBS.WBSElementInternalID = _ProjectSummary.WBSElementInternalID

  /*  Essential milestone */
    left outer join I_PPM_ProjectMilestEssent                                 as _MlstnEssential    on _ProjectSummary.ProjectUUID = _MlstnEssential.ProjectUUID

  /*  next released milestone */
    left outer join I_PPM_ProjectMilestRelNext                                as _MlstnRelevant     on _ProjectSummary.ProjectUUID = _MlstnRelevant.ProjectUUID

    left outer join I_PPM_ProjectStatusArea                                   as _OverallStatusArea on  _ProjectSummary.ProjectUUID        = _OverallStatusArea.ProjectUUID
                                                                                                    and _OverallStatusArea.IsOverallStatus = 'X'

    left outer join I_PPM_SingleResponsibleForProj                            as _Responsible       on _Responsible.ProjectSummaryTaskUUID = _ProjectSummary.ProjectSummaryTaskUUID

  // Indicator for user being Project Steering Commitee Member

    left outer join I_PPM_TeamMemberIsInRole( P_ProjectRoleCategory : 'SCM' ) as IsPrjSteerMbr      on _ProjectSummary.ProjectUUID = IsPrjSteerMbr.ProjectUUID

  association [0..1] to I_PPM_Task as _NextEssentialMlstn on _NextEssentialMlstn.TaskUUID = _MlstnEssential.TaskUUID

{
  key    _ProjectSummary.ProjectUUID,
         _ProjectSummary.ProjectInternalID,
         _ProjectSummary.Project,
         _ProjectSummary.ProjectSummaryTaskUUID,
         _ProjectSummary.ProjectProcessingStatus                                                                                                                                                 as  ProcessingStatus,
         _ProjectSummary.PriorityCode,
         _OverallStatusArea.Status,
         PS_RootWBS.ProjectType,
         _MlstnEssential.TaskUUID                                                                                                                                                                as  NextEssentialMlstnUUID,
         case
          when _NextEssentialMlstn.ProjectElementDuration = 0 and _NextEssentialMlstn.StartConstraintDateTime = _NextEssentialMlstn.LatestStartDateTime then //WebDynpro takes latest start

              tstmp_to_dats( _NextEssentialMlstn.LatestStartDateTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' )
          else
              dats_add_days(
                  tstmp_to_dats( _NextEssentialMlstn.LatestFinishDateTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ),
                      -1, 'FAIL')
         end                                                                                                                                                                                     as  NextEssentialMlstnDate,
         cast(1 as abap.int1)                                                                                                                                                                    as  StatusCount,
         _Responsible._BusinessUser.PersonFullName                                                                                                                                               as  BusinessPartnerFullName,
         _Responsible.BusinessPartnerUUID                                                                                                                                                        as  ProjectManagerUUID,
         IsPrjSteerMbr.IsInRoleCategory                                                                                                                                                          as  IsProjectSteeringCommitteeMbr,
         _Project.ControllingArea                                                                                                                                                                as  ControllingArea,
         _Project.ProfitCenter                                                                                                                                                                   as  ProfitCenter,
         PS_RootWBS.ProfitCenter                                                                                                                                                                 as  WBSElementProfitCenter,
         
         _Responsible._BusinessUser,
         _ProjectSummary._AuthUser,
         _ProjectSummary._AuthSubst,
         _ProjectSummary._AuthRole,
         _ProjectSummary._AuthGroup

}
where _ProjectSummary.ProjectInternalID <> '00000000'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSUSERBASIC",
"I_PPM_PROJECTMILESTESSENT",
"I_PPM_PROJECTMILESTRELNEXT",
"I_PPM_PROJECTSTATUSAREA",
"I_PPM_PROJECTSUMMARYTASK",
"I_PPM_SINGLERESPONSIBLEFORPROJ",
"I_PPM_TASK",
"I_PPM_TEAMMEMBERISINROLE",
"I_PROJECTBASICDATA",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"I_BUSINESSUSERBASIC",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_TASK"
],
"BASE":
[
"I_PPM_PROJECTSUMMARYTASK",
"I_PPM_SINGLERESPONSIBLEFORPROJ"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/