I_UserBasic

DDL: I_USERBASIC Type: view_entity BASIC Package: SUSR

Benutzer

I_UserBasic is a Basic CDS View that provides data about "Benutzer" in SAP S/4HANA. It reads from 1 data source (usr02) and exposes 15 fields with key field UserID. It has 1 association to related views. Part of development package SUSR.

Data Sources (1)

SourceAliasJoin Type
usr02 usr02 from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_UserGroup _UserGroup $projection.UserGroup = _UserGroup.UserGroup

Annotations (10)

NameValueLevelField
EndUserText.label Benutzer view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.compositionRoot true view
ObjectModel.representativeKey UserID view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
Metadata.allowExtensions true view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY UserID
UserGroup
UserType usr02 ustyp
UserValidFromDate usr02 gltgv
UserValidToDate usr02 gltgb
UserLockStatus usr02 uflag
UserNmbrOfFailedLogonAttempts usr02 locnt
UserLastLogonTime usr02 ltime
UserTimeZone
UserSecurityPolicy
CntrlUsrAdminLogonIsNotAllowed
CentralUserAdministrationCode usr02 reserved
UserCreationDate usr02 erdat
CreatedByUser
_UserGroup _UserGroup
@EndUserText:   { label: 'Benutzer' }
@AccessControl: { authorizationCheck: #PRIVILEGED_ONLY
                , privilegedAssociations: [ '_UserGroup'
                                          ]
                }
@VDM:           { viewType: #BASIC
                , lifecycle.contract.type: #PUBLIC_LOCAL_API
                }
@ObjectModel:   { compositionRoot: true
                , representativeKey: 'UserID'
                , usageType: { dataClass:      #MASTER
                             , serviceQuality: #A
                             , sizeCategory:   #L
                             }
                }
@AbapCatalog:   { 
                  viewEnhancementCategory: [ #NONE ] 
                }
@Metadata:      { allowExtensions: true }

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// This view must not be exposed directly, because it exposes internal administration information.

// Therefore, it is also protected by a NULL-DCL.

// It's currently also not possible to release it for Language Version 5 ('ABAP for Cloud 

// Development') because it doesn't fulfil the content separation requirements.

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


define view entity I_UserBasic
  as select from usr02

  association [0..1] to I_UserGroup  as _UserGroup     on $projection.UserGroup = _UserGroup.UserGroup
{
      //_____AccountData___________________________________________________________________________

  key cast( usr02.bname           as vdm_userid                preserving type ) as UserID,
            @ObjectModel.foreignKey.association: '_UserGroup'
      cast( usr02.class           as vdm_usergroupid           preserving type ) as UserGroup,
            usr02.ustyp                                                          as UserType,
            usr02.gltgv                                                          as UserValidFromDate,
            usr02.gltgb                                                          as UserValidToDate,
            usr02.uflag                                                          as UserLockStatus,
            usr02.locnt                                                          as UserNmbrOfFailedLogonAttempts,
            usr02.ltime                                                          as UserLastLogonTime,
      cast( usr02.tzone           as vdm_usertimezone          preserving type ) as UserTimeZone,                   // no TZone Basic view exists usable as 'foreignKey.association'

      cast( usr02.security_policy as vdm_usersecuritypolicy    preserving type ) as UserSecurityPolicy,             // no Basic view exists usable as 'foreignKey.association'

      cast( usr02.zbvmaster       as vdm_usernologoncuacentral preserving type ) as CntrlUsrAdminLogonIsNotAllowed,
            usr02.reserved                                                       as CentralUserAdministrationCode,
            usr02.erdat                                                          as UserCreationDate,
      cast( usr02.aname           as vdm_createdbyuserid       preserving type ) as CreatedByUser,
          
            _UserGroup
          
          //usr02.accnt                                                          as UserAccountNumber,         //not used anymore

          //usr02.trdat                                                          as UsersLastLoginDate,        //not used anymore

          //usr02.versn                                                          as UserVersion(???),          //not used anymore

          //_______________________________________________________________________________________

          // !!! Password related data must never be exposed:

          //usr02.bcode

          //usr02.ocod1

          //usr02.bcda1

          //usr02.codv1

          //usr02.ocod2

          //usr02.bcda2

          //usr02.codv2

          //usr02.ocod3

          //usr02.bcda3

          //usr02.codv3

          //usr02.ocod4

          //usr02.bcda4

          //usr02.codv4

          //usr02.ocod5

          //usr02.bcda5

          //usr02.codv5

          //usr02.codvn

          //usr02.passcode

          //usr02.pwdchgdate

          //usr02.pwdstate

          //usr02.pwdhistory

          //usr02.pwdlgndate

          //usr02.pwdsetdate

          //usr02.pwdinitial

          //usr02.pwdlockdate

          //usr02.pwdsaltedhash

}