I_EntProjectPublicSectorTP

DDL: I_ENTPROJECTPUBLICSECTORTP SQL: IENTPROJPSMTP Type: view TRANSACTIONAL

Project Extension fields for PSM

I_EntProjectPublicSectorTP is a Transactional CDS View that provides data about "Project Extension fields for PSM" in SAP S/4HANA. It reads from 2 data sources (I_EnterpriseProjectTP, I_PPM_ProjectPublicSector) and exposes 17 fields with key field ProjectUUID. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_EnterpriseProjectTP Project inner
I_PPM_ProjectPublicSector ProjectPSM from

Associations (4)

CardinalityTargetAliasCondition
[0..*] I_PPM_AuthznByUsrH _AuthUser _AuthUser.ReferencedObjectUUID = $projection.ProjectUUID 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.ProjectUUID 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.ProjectUUID 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.ProjectUUID and _AuthGroup.UserID = $session.user and ( _AuthGroup.Activity = 'Admin' or _AuthGroup.Activity = 'Write' or _AuthGroup.Activity = 'Read' )

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IENTPROJPSMTP view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
feature BF:PSM_BUDGET_ACCOUNTING_CONTROL, EPPM_PUBLIC_SECTOR view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey ProjectUUID view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
AbapCatalog.preserveKey true view
EndUserText.label Project Extension fields for PSM view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID I_PPM_ProjectPublicSector ProjectUUID
ProjectSummaryTaskUUID I_PPM_ProjectPublicSector ProjectSummaryTaskUUID
ProjectInternalID I_PPM_ProjectPublicSector ProjectInternalID
Fund Fund
FundIsFixAssigned FundIsFixAssigned
FunctionalAreaIsFixAssigned FunctionalAreaIsFixAssigned
GrantID GrantID
GrantIsFixAssigned GrantIsFixAssigned
SponsoredProgram SponsoredProgram
ControllingArea I_PPM_ProjectPublicSector ControllingArea
ProfitCenter I_PPM_ProjectPublicSector ProfitCenter
ProjectLastChangedDateTime I_EnterpriseProjectTP LastChangeDateTime
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup
_EnterpriseProject _EnterpriseProject
@AbapCatalog.sqlViewName: 'IENTPROJPSMTP'
@VDM: {
    viewType: #TRANSACTIONAL,
    lifecycle.contract.type: #SAP_INTERNAL_API
}

@AbapCatalog.compiler.compareFilter: true
@AccessControl: {
    authorizationCheck:     #CHECK,
    personalData.blocking:  #BLOCKED_DATA_EXCLUDED
}
@feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL, EPPM_PUBLIC_SECTOR'
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
    representativeKey: 'ProjectUUID',
   alternativeKey: [ { id : 'ProjectSummaryTaskUUID',   element: ['ProjectSummaryTaskUUID'], uniqueness: #UNIQUE },
                     { id : 'ProjectInternalID',        element: ['ProjectInternalID'], uniqueness: #UNIQUE }], 
    usageType: {
      dataClass:       #MIXED,
      serviceQuality:  #C,
      sizeCategory:    #L
    }
}
@AbapCatalog.preserveKey: true
@EndUserText.label: 'Project Extension fields for PSM'
define view I_EntProjectPublicSectorTP as select from I_PPM_ProjectPublicSector as ProjectPSM
inner join I_EnterpriseProjectTP as Project on ProjectPSM.ProjectUUID = Project.ProjectUUID
    
    association to parent I_EnterpriseProjectTP as  _EnterpriseProject  on $projection.ProjectUUID = _EnterpriseProject.ProjectUUID

// associations to authorization views

  association [0..*] to I_PPM_AuthznByUsrH           as _AuthUser          on  _AuthUser.ReferencedObjectUUID = $projection.ProjectUUID
                                                                           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.ProjectUUID
                                                                           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.ProjectUUID
                                                                           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.ProjectUUID
                                                                           and _AuthGroup.UserID               = $session.user
                                                                           and (
                                                                              _AuthGroup.Activity              = 'Admin'
                                                                              or _AuthGroup.Activity           = 'Write'
                                                                              or _AuthGroup.Activity           = 'Read'
                                                                            )
                {
 
//      @ObjectModel.readOnly: true  -> now set in BDEF

  key ProjectPSM.ProjectUUID as ProjectUUID,
      
//      @ObjectModel.readOnly: true  -> now set in BDEF

     ProjectPSM.ProjectSummaryTaskUUID as ProjectSummaryTaskUUID,
//      @ObjectModel.readOnly: true  -> now set in BDEF

     ProjectPSM.ProjectInternalID as ProjectInternalID,
     Fund,

     FundIsFixAssigned,

     FunctionalAreaIsFixAssigned,
     GrantID,
     GrantIsFixAssigned,
     //2008 Sponsored program

     SponsoredProgram,
//      @ObjectModel.readOnly: true  -> now set in BDEF

    @Consumption.hidden: true // only for auth check

    ProjectPSM.ControllingArea as ControllingArea,
//      @ObjectModel.readOnly: true  -> now set in BDEF

    @Consumption.hidden: true // only for auth check

    ProjectPSM.ProfitCenter as ProfitCenter,
           
  
    
//    JointVenture,

//    JointVentureCostRecoveryCode, 

//    JointVentureEquityType, 

//    JntVntrProjectType, 

//    JntIntrstBillgClass, 

//    JntIntrstBillgSubClass,

    
    Project.LastChangeDateTime as ProjectLastChangedDateTime,
    
    _AuthUser,
    _AuthSubst,
    _AuthRole,
    _AuthGroup,
    
    _EnterpriseProject
    }
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTERPRISEPROJECTTP",
"I_PPM_PROJECTPUBLICSECTOR"
],
"ASSOCIATED":
[
"I_ENTERPRISEPROJECTTP",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/