I_PPM_OBJECTLINKBASICDATA

CDS View

Basic data of project object link

I_PPM_OBJECTLINKBASICDATA is a CDS View in S/4HANA. Basic data of project object link. It contains 3 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
I_PPM_ProjectObjectLink view from COMPOSITE PPM Project Object Link

Fields (3)

KeyField CDS FieldsUsed in Views
CreatedByUser CreatedByUser 1
LastChangedByUser LastChangedByUser 1
ObjectLinkType ObjectLinkType 1
@VDM.lifecycle:
       { status:    #DEPRECATED,
         successor: 'I_EnterpriseProjectObjectLink' }
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Basic data of project object link'
//@ObjectModel.usageType.serviceQuality: #D

//@ObjectModel.usageType.sizeCategory: #M

//@ObjectModel.usageType.dataClass: #MIXED

@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API
@ObjectModel.representativeKey: 'ObjectLinkUUID'
@ObjectModel.usageType: 
{ 
  serviceQuality: #C, 
  dataClass: #TRANSACTIONAL, 
  sizeCategory: #L 
} 
define view entity I_PPM_ObjectLinkBasicData as select from dpr_objlink 
// inner join   I_PPM_AuthorizationUserRead as _auth on ProjectTask.guid = _auth.ReferencedObjectUUID

association [0..1] to /s4ppm/cds_dummy as Dummy on Dummy.dummy_key = dpr_objlink.guid // //workaround to get 'transient' string field URL

    association [0..1] to I_PPM_User        as _CreatedByUser 
            on      $projection.CreatedByUser = _CreatedByUser.UserID
    association [0..1] to I_PPM_User        as _LastChangedByUser 
            on      $projection.LastChangedByUser = _LastChangedByUser.UserID 
  // associatioins 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' )    
{
    key cast(dpr_objlink.guid     as /s4ppm/tv_entity_guid preserving type )       as ObjectLinkUUID, 

    dpr_objlink.project_guid as ProjectUUID, 
    dpr_objlink.object_type  as ObjectLinkType, 
//    @Semantics.text:true

//    dpr_objlink.description  as ObjectLinkName,

    
    @Semantics.user.createdBy: true
    @ObjectModel.foreignKey.association: '_CreatedByUser'
    dpr_objlink.created_by                             as CreatedByUser,
    @Semantics.systemDateTime.createdAt: true
    cast(dpr_objlink.created_on as /s4ppm/tv_created_on preserving type) as CreationDateTime,
    @Semantics.user.lastChangedBy: true
    @ObjectModel.foreignKey.association: '_LastChangedByUser'
    dpr_objlink.changed_by                             as LastChangedByUser,
    @Semantics.systemDateTime.lastChangedAt: true
    cast(dpr_objlink.changed_on as /s4ppm/tv_changed_on preserving type) as LastChangeDateTime,
      
//    dpr_objlink.object_key   as ObjectKey,

    //dpr_objlink.external_id  as ExternalId,

     //"Name" on webdynpro UI and objectpage Mockup

    Dummy.dummy_string       as ObjectLinkURL,

    _CreatedByUser,
    _LastChangedByUser,      
     
// Association for ACL Authorization

   _AuthUser,
   _AuthSubst,
   _AuthRole,
   _AuthGroup     
}