P_USER_ROLE

DDL: P_USER_ROLE SQL: PUSERROLE Type: view Package: SUSR

Get roles for users with reference user

P_USER_ROLE is a CDS View that provides data about "Get roles for users with reference user" in SAP S/4HANA. It reads from 5 data sources (agr_texts, agr_texts, agr_users, agr_users, usrefus) and exposes 17 fields with key field bname. Part of development package SUSR.

Data Sources (5)

SourceAliasJoin Type
agr_texts agr_texts left_outer
agr_texts agr_texts left_outer
agr_users agr_users inner
agr_users agr_users inner
usrefus usrefus inner

Annotations (4)

NameValueLevelField
AbapCatalog.sqlViewName PUSERROLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Get roles for users with reference user view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY bname usr02 bname
class usr02 class
agr_name agr_users agr_name
refuser
from_dat agr_users from_dat
to_dat agr_users to_dat
col_flag agr_users col_flag
org_flag agr_users org_flag
bname
class usr02 class
agr_name agr_users agr_name
refuser usrefus refuser
from_dat agr_users from_dat
to_dat agr_users to_dat
col_flag agr_users col_flag
org_flag agr_users org_flag
text agr_texts text
@AbapCatalog.sqlViewName: 'PUSERROLE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Get roles for users with reference user'
define view P_USER_ROLE
  as select distinct from usr02
    inner join            agr_users on usr02.bname = agr_users.uname
    left outer join       agr_texts on  agr_texts.agr_name = agr_users.agr_name
                                    and agr_texts.line     = '00000'
                                    and agr_texts.spras    = $session.system_language

{
  key usr02.bname,
      @Consumption.hidden: true
      usr02.class, // Do not export usergroup!

      agr_users.agr_name,
      cast( '' as us_refus ) as refuser,
      agr_users.from_dat,
      agr_users.to_dat,
      agr_users.col_flag,
      agr_users.org_flag,
      agr_texts.text
}
union

select distinct from usr02
  inner join         usrefus   on usr02.bname = usrefus.bname
  inner join         agr_users on usrefus.refuser = agr_users.uname
  left outer join    agr_texts on  agr_texts.agr_name = agr_users.agr_name
                               and agr_texts.line     = '00000'
                               and agr_texts.spras    = $session.system_language

{
  key usr02.bname,
      @Consumption.hidden: true
      usr02.class, // Do not export usergroup!

      agr_users.agr_name,
      usrefus.refuser,
      agr_users.from_dat,
      agr_users.to_dat,
      agr_users.col_flag,
      agr_users.org_flag,
      agr_texts.text
}