I_PPM_PROJECTOBJECTLINK

CDS View

PPM Project Object Link

I_PPM_PROJECTOBJECTLINK is a CDS View in S/4HANA. PPM Project Object Link. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
I_PPM_ProjectObjectLinkTP view from TRANSACTIONAL PPM Project Object Link Transactional Object View
@AbapCatalog.sqlViewName: 'IPPMPROJOBJLINK'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE 
@ObjectModel.usageType:
{
//  representativeKey: 'ProjectObjectLinkUUID',

//  alternativeKey: [ { id : 'Project', uniqueness: #UNIQUE, element: [ 'ProjectUUID' ] } ],

  serviceQuality: #D,
  dataClass: #TRANSACTIONAL,
  sizeCategory: #L
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED 
@EndUserText.label: 'PPM Project Object Link'
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API 
define view I_PPM_ProjectObjectLink as select from I_PPM_ObjectLinkBasicData as ProjectObjectLink
    inner join I_PPM_ProjectSummaryTask as PST   on ProjectObjectLink.ProjectUUID = PST.ProjectSummaryTaskUUID //Authorization Check

//  left outer join /s4ppm/cds_dummy    as dummy on PST.ProjectUUID = dummy.dummy_key //workaround to get 'transient' string field

    

  // associations for fixed values and texts

  association [1 ] to I_PPM_ObjectLinkType       as _ObjectLinkType      on $projection.ObjectLinkType       = _ObjectLinkType.ObjectLinkType  
  // TODO TOASK [*] cardinality in Template area code (but cardinality defined differrently in StatusAreaCode view 

  association [1 ] to I_PPM_ObjectLinkTypeText   as _ObjectLinkTypeText  on $projection.ObjectLinkType       = _ObjectLinkTypeText.ObjectLinkType
                                                                        and _ObjectLinkTypeText.LanguageCode = $session.system_language   
  
  // BO composition associations 

  association [1..1] to I_PPM_Project as _Root on $projection.ProjectUUID = _Root.ProjectUUID   
{
  //@ObjectModel.text.element: ['ObjectLinkName']

  key cast( ProjectObjectLink.ObjectLinkUUID as /s4ppm/tv_entity_guid )  as ProjectObjectLinkUUID,
      @ObjectModel.readOnly: true
      PST.ProjectUUID,
// Needed for authorization - Association

      @ObjectModel.readOnly: true
      PST.ProjectSummaryTaskUUID,    
      @ObjectModel.readOnly: true
      PST.WBSElementInternalID,
      
     @ObjectModel.readOnly: true
     @ObjectModel.foreignKey.association: '_ObjectLinkType'
     @ObjectModel.text.association: '_ObjectLinkTypeText'
//   @Consumption.valueHelp: ''  // Not needed as field is readOnly.

      ProjectObjectLink.ObjectLinkType,
     @ObjectModel.readOnly: true
     _ObjectLinkType.ObjectLinkTypeGrouping,
     @ObjectModel.readOnly: true
     @Semantics.user.createdBy: true
      ProjectObjectLink.CreatedByUser,
     @ObjectModel.readOnly: true
     @Semantics.systemDateTime.createdAt: true
      cast( ProjectObjectLink.CreationDateTime as /s4ppm/tv_created_on )  as CreationDateTime,
     @ObjectModel.readOnly: true
     @Semantics.user.lastChangedBy: true
      ProjectObjectLink.LastChangedByUser,
     @ObjectModel.readOnly: true
     @Semantics.systemDateTime.lastChangedAt: true
      cast( ProjectObjectLink.LastChangeDateTime as /s4ppm/tv_changed_on ) as LastChangeDateTime,
//     @ObjectModel.readOnly: true

//    ObjectKey,

//   @ObjectModel.readOnly: true

//    ExternalId,

     //@ObjectModel.readOnly: true

     //ObjectLinkName,

      @ObjectModel.readOnly: true
      ObjectLinkURL,
      
      // BO Hierarchy related associations

      @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ] 
      _Root,
      // Authorization association

      PST._ProjObjRoot,
      PST._AuthUser,
      PST._AuthSubst,
      PST._AuthRole,
      PST._AuthGroup,
   
      _ObjectLinkType,
      _ObjectLinkTypeText
} where _ObjectLinkType.ObjectLinkTypeGrouping = 'YIPD_COLLABORAT' 
     or _ObjectLinkType.ObjectLinkTypeGrouping = 'SPIN_COLLABORAT' ;
//      ProjectObjectLink.ObjectLinkType <> 'YPSROOTWBS'   //'YPSPROJDEF'