I_PPM_OBJECTLINKBASICDATA
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_PPM_ProjectObjectLink | view | from | COMPOSITE | PPM Project Object Link |
Fields (3)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| CreatedByUser | CreatedByUser | 1 | |
| LastChangedByUser | LastChangedByUser | 1 | |
| ObjectLinkType | ObjectLinkType | 1 |
@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
}