I_PPM_MyActiveProjects

DDL: I_PPM_MYACTIVEPROJECTS SQL: IPPMMYACTIVE Type: view COMPOSITE Package: VDM_PPM_OBJECTS_PROJECT

My Projects – Active

I_PPM_MyActiveProjects is a Composite CDS View that provides data about "My Projects – Active" in SAP S/4HANA. It reads from 3 data sources (I_PPM_IsMyProject, I_PPM_ItemInfo, I_PPM_ProjectSummaryTask) and exposes 12 fields with key field ProjectUUID. Part of development package VDM_PPM_OBJECTS_PROJECT.

Data Sources (3)

SourceAliasJoin Type
I_PPM_IsMyProject IsMyProject inner
I_PPM_ItemInfo Item left_outer
I_PPM_ProjectSummaryTask Project from

Annotations (13)

NameValueLevelField
EndUserText.label My Projects – Active view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName IPPMMYACTIVE view
AbapCatalog.compiler.compareFilter true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.representativeKey ProjectUUID view
Metadata.allowExtensions true view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID I_PPM_ProjectSummaryTask ProjectUUID
ProjectSummaryTaskUUID I_PPM_ProjectSummaryTask ProjectSummaryTaskUUID
PortfolioItemUUID I_PPM_ItemInfo PortfolioItemUUID
PortfolioUUID I_PPM_ItemInfo PortfolioUUID
ProjectName ProjectName
Project I_PPM_ProjectSummaryTask Project
ProjectType I_PPM_ProjectSummaryTask ProjectType
ProjectInternalID I_PPM_ProjectSummaryTask ProjectInternalID
_AuthUser I_PPM_ProjectSummaryTask _AuthUser
_AuthSubst I_PPM_ProjectSummaryTask _AuthSubst
_AuthRole I_PPM_ProjectSummaryTask _AuthRole
_AuthGroup I_PPM_ProjectSummaryTask _AuthGroup
@EndUserText.label: 'My Projects – Active'
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IPPMMYACTIVE'
@AbapCatalog.compiler.compareFilter: true
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory:  #L
@ObjectModel.usageType.dataClass:  #MIXED

@ClientHandling.algorithm: #SESSION_VARIABLE

@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #NOT_REQUIRED

@ObjectModel.semanticKey:  [ 'Project' ]
@ObjectModel.representativeKey: 'ProjectUUID'
@ObjectModel.alternativeKey: [{
    id: 'ProjectSummaryTaskUUID',
    element: ['ProjectSummaryTaskUUID'],
    uniqueness: #UNIQUE
}]

@Metadata.allowExtensions: true
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

// CE2408CFD1 - S4H PuC CleanUp as this CDS view is only used as Fiori dev. for Count on Tile OVP Proj. Mgr.

define view I_PPM_MyActiveProjects
 as select    from I_PPM_ProjectSummaryTask as Project // CE2408.CFD1

           // from P_PPM_ProjectList     as Project 

     inner join I_PPM_IsMyProject        as IsMyProject
             on Project.ProjectUUID       = IsMyProject.ProjectUUID

/* To distinguish CE Project Category from OP project ( CE completed is active ).
      inner join    I_PPM_ProjectType          as ProjectType                 on Project.ProjectType = ProjectType.ProjectType */

  // retrieve portfolio info

    left outer join I_PPM_ItemInfo       as Item  
                 on  Project.ProjectUUID is null 
                and  Project.ProjectUUID  = Item.ProjectUUID
{
      @Consumption.semanticObject: 'EnterpriseProject'
  key Project.ProjectUUID,

      Project.ProjectSummaryTaskUUID,

      // fields only used by navigation

      Item.PortfolioItemUUID,
      Item.PortfolioUUID,

/*     cast (
          case
              when ProjectNameUserLanguage > '' then
                  ProjectNameUserLanguage
              else 
              Project.ProjectName
           end as /s4ppm/tv_project_name preserving type )  as ProjectName,
*/           
      ProjectName, 
//   cast ( "_ProjectTask"._TaskText.ObjectName as /s4ppm/tv_name ) as ProjectName,  // OP - Length 60


/*    ProjectNameUserLanguage,
      ProjectNameMasterLanguage, */

      Project.Project,
      Project.ProjectType,

 /*   Project.ProjectTypeName, */
      Project.ProjectInternalID,

/*    cast (
          case
              when PhaseCurrentTextUserLang.ObjectName > '' then
                  PhaseCurrentTextUserLang.ObjectName
              else 
              PhaseCurrentTask.TaskName
             
      end as /s4ppm/tv_description preserving type )                    as CurrentPhaseName,
      
      PhaseCurrentTextUserLang.ObjectName    as CurrentPhaseNameUserLanguage,
      PhaseCurrentTask.TaskName              as CurrentPhaseNameMasterLanguage,
      PhaseCurrentTask.ExternalId            as CurrentPhase,

      @Semantics.businessDate.to: true
      PhaseCurrentTask.LatestFinishDate  as CurrentPhaseEndDate,
*/      


/*
      @Semantics.businessDate.at: true
      MilestEssentTask.LatestFinishDate  as LaunchDate,

      cast(
          case
              when MilestRelNextTextUserLang.ObjectName > '' then
                MilestRelNextTextUserLang.ObjectName
          else 
               MilestRelNextTask.TaskName
      end as /s4ppm/tv_description preserving type )    as NextMilestoneName,

      MilestRelNextTextUserLang.ObjectName   as NextMilestoneNameUserLanguage,
      MilestRelNextTask.TaskName             as NextMilestoneNameMasterLang,
      MilestRelNextTask.ExternalId           as NextMilestone,
     
      @Semantics.businessDate.to: true
      MilestRelNextTask.LatestFinishDate     as NextMilestoneDate,

      projectImage.ProjectImageURL,
*/      
      Project._AuthUser,
      Project._AuthSubst,
      Project._AuthRole,
      Project._AuthGroup  
}
where IsMyProject.IsMyProject = 'X'
  and
// All active Status: Partially Released, Released, Released (Processing has begun), Locked, Locked (Released First), (OP & CE)

  ( Project.ProjectProcessingStatus between '10' and '21'
    or
  // Completed (since CE2002, reinserted in CE2105)

  ( Project.ProjectProcessingStatus = '40' and  Project.ProjectCategory >= '6' ) )
  and Project.ProjectVersionNumber        = '' // active projects do not have a version!

//  and _ProjectManager.BusinessPartnerUUID = MyBusinessPartnerUUID