@VDM.private:true
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'PPPMLOCALAUTH'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'Local Authorizations (Activities not yet resolved)'
//@ObjectModel.representativeKey: 'object_id
define view P_PPM_LocalAuthorizations
as select from aco_user as UserAuth
{
key UserAuth.object_id,
key UserAuth.activity as Activity,
@Semantics.user.id: true
key UserAuth.user_id as UserID,
UserAuth.type as ObjectType //this is not the correct object_type because it is only the objecttype of the inherited_from obj
}
union select from aco_user as usr
inner join aco_substitute as sub on usr.user_id = sub.user_id
and usr.object_id = sub.object_id
{
key usr.object_id,
key usr.activity as Activity,
@Semantics.user.id: true
key sub.user_id_subst as UserID,
usr.type as ObjectType
}
union select from aco_user_group as GroupAuth
inner join P_PPM_UserGroupHierarchy as UserGroup on GroupAuth.user_group_id = UserGroup.UserGroupUUID_1
or GroupAuth.user_group_id = UserGroup.UserGroupUUID_2
or GroupAuth.user_group_id = UserGroup.UserGroupUUID_3
{
key GroupAuth.object_id,
key GroupAuth.activity as Activity,
@Semantics.user.id: true
key UserGroup.UserID as UserID,
GroupAuth.type as ObjectType
}
// inner join P_PPM_UserGroupsForUser as UserGroup on GroupAuth.user_group_id = UserGroup.UserGroupUUID
//{
// key GroupAuth.object_id,
// key GroupAuth.activity as Activity,
//
// @Semantics.user.id: true
// key UserGroup.UserID as UserID,
// GroupAuth.type as ObjectType
//}
union select from aco_role as RoleAuth
inner join agr_users as UserRole on RoleAuth.role_id = UserRole.agr_name
{
key RoleAuth.object_id,
key RoleAuth.activity as Activity,
key UserRole.uname as UserID,
RoleAuth.type as ObjectType
}
where
UserRole.exclude = ''
and UserRole.from_dat <= $session.system_date
and UserRole.to_dat >= $session.system_date
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_PPM_USERGROUPHIERARCHY",
"ACO_ROLE",
"ACO_SUBSTITUTE",
"ACO_USER",
"ACO_USER_GROUP",
"AGR_USERS"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0
}
}*/