I_EnterpriseProjectForUser

DDL: I_ENTERPRISEPROJECTFORUSER Type: view_entity COMPOSITE Package: VDM_PPM_OBJECTS_TEAMMEMBER

Enterprise Project with user involvement

I_EnterpriseProjectForUser is a Composite CDS View that provides data about "Enterprise Project with user involvement" in SAP S/4HANA. It reads from 1 data source (R_EnterpriseProjectRoot) and exposes 5 fields with key field ProjectUUID. Part of development package VDM_PPM_OBJECTS_TEAMMEMBER.

Data Sources (1)

SourceAliasJoin Type
R_EnterpriseProjectRoot Project from

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.modelingPattern #NONE view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
EndUserText.label Enterprise Project with user involvement view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID R_EnterpriseProjectRoot ProjectUUID
ProjectCategory R_EnterpriseProjectRoot ProjectCategory
EnterpriseProjectServiceOrg R_EnterpriseProjectRoot EnterpriseProjectServiceOrg
EntProjectIsConfidential R_EnterpriseProjectRoot EntProjectIsConfidential
UserIDendasUserID
@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData: {
  blocking: #NOT_REQUIRED
  } }

@Metadata.ignorePropagatedAnnotations: true

@ObjectModel: {
  usageType: {
    serviceQuality: #A,
    sizeCategory: #XL,
    dataClass: #TRANSACTIONAL
    },
    supportedCapabilities: [ #CDS_MODELING_ASSOCIATION_TARGET ],
    modelingPattern:  #NONE
  }

@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API

@EndUserText.label: 'Enterprise Project with user involvement'
//This view is also used in DCL of Cat 7 Projects

define view entity I_EnterpriseProjectForUser
  as select from           R_EnterpriseProjectRoot    as Project
    left outer to one join P_EnterpriseProjectForUser as User on User.ProjectUUID = Project.ProjectUUID
{
  key Project.ProjectUUID     as ProjectUUID,
      Project.ProjectCategory as ProjectCategory,
      Project.EnterpriseProjectServiceOrg,
      Project.EntProjectIsConfidential,

      case
          when User.UserID is null
          then 'A'
          when User.UserID is not null
          then User.UserID
          end                 as UserID,

      @Semantics.booleanIndicator: true
      @Environment.sql.passValue: true
      case
          when User.UserID is not null
          then cast ('X' as /s4ppm/myproject preserving type )
          end                 as IsMyProject

}
//This Where condition is added to improve the performance for professional services projects in the applications

//As this view is used in DCL of R_EnterpriseProject for Cat 7 Projects this explicit filter is required here

where
  Project.ProjectCategory = '7'