I_CmmdtyDrvtvOrderUserDetails

DDL: I_CMMDTYDRVTVORDERUSERDETAILS SQL: ICMMDTYUSRDET Type: view BASIC

Basic View for User Details

I_CmmdtyDrvtvOrderUserDetails is a Basic CDS View that provides data about "Basic View for User Details" in SAP S/4HANA. It reads from 2 data sources (usr21, adrp) and exposes 11 fields with key field UserID. It has 5 associations to related views.

Data Sources (2)

SourceAliasJoin Type
usr21 _User from
adrp UserAddress left_outer

Associations (5)

CardinalityTargetAliasCondition
[0..1] adrp _Person _Person.persnumber = $projection.Person and _Person.persnumber <> ''
[0..1] adcp _OrgData _OrgData.addrnumber = $projection.AddressID and _OrgData.persnumber = $projection.Person
[0..1] adr2 _DefaultPhoneNumber _DefaultPhoneNumber.addrnumber = $projection.AddressID and _DefaultPhoneNumber.persnumber = $projection.Person and _DefaultPhoneNumber.r3_user = '1'
[0..1] adr2 _DefaultMobilePhoneNumber _DefaultMobilePhoneNumber.addrnumber = $projection.AddressID and _DefaultMobilePhoneNumber.persnumber = $projection.Person and _DefaultMobilePhoneNumber.r3_user = '3'
[0..1] adr6 _DefaultEmailAddress _DefaultEmailAddress.addrnumber = $projection.AddressID and _DefaultEmailAddress.persnumber = $projection.Person and _DefaultEmailAddress.flgdefault = 'X'

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName ICMMDTYUSRDET view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.type #CLIENT_DEPENDENT view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Basic View for User Details view
VDM.viewType #BASIC view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.representativeKey UserID view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY UserID usr21 bname
Person usr21 persnumber
BusinessPartnerUUID usr21 bpperson
FirstName _Person name_first
LastName _Person name_last
FullName
AddressID usr21 addrnumber
PhoneNumber
MobilePhoneNumber
EmailAddress
Department _OrgData department
@AbapCatalog.sqlViewName: 'ICMMDTYUSRDET'
@AbapCatalog.compiler.compareFilter     : true
@AbapCatalog.preserveKey: true
@ClientHandling: {
   type                                 : #CLIENT_DEPENDENT,
   algorithm                            : #SESSION_VARIABLE }
   
@AccessControl: {
  authorizationCheck                    : #CHECK,
  personalData.blocking                 : #REQUIRED
}

@EndUserText.label                      : 'Basic View for User Details'
@VDM.viewType                           : #BASIC
@ObjectModel.usageType.dataClass        : #MASTER
@ObjectModel.usageType.serviceQuality   : 'C'
@ObjectModel.usageType.sizeCategory     : #L
@ObjectModel.representativeKey          : 'UserID'
@VDM.lifecycle.contract.type            : #SAP_INTERNAL_API




define view         I_CmmdtyDrvtvOrderUserDetails as select from usr21 as _User
  left outer join   adrp  as UserAddress  on _User.persnumber = UserAddress.persnumber
  association [0..1] to adrp as _Person                   on  _Person.persnumber = $projection.Person
                                                          and _Person.persnumber <> ''

  association [0..1] to adcp as _OrgData                  on  _OrgData.addrnumber = $projection.AddressID
                                                          and _OrgData.persnumber = $projection.Person

  association [0..1] to adr2 as _DefaultPhoneNumber       on  _DefaultPhoneNumber.addrnumber = $projection.AddressID
                                                          and _DefaultPhoneNumber.persnumber = $projection.Person
                                                          and _DefaultPhoneNumber.r3_user    = '1'

  association [0..1] to adr2 as _DefaultMobilePhoneNumber on  _DefaultMobilePhoneNumber.addrnumber = $projection.AddressID
                                                          and _DefaultMobilePhoneNumber.persnumber = $projection.Person
                                                          and _DefaultMobilePhoneNumber.r3_user    = '3'

  association [0..1] to adr6 as _DefaultEmailAddress      on  _DefaultEmailAddress.addrnumber = $projection.AddressID
                                                          and _DefaultEmailAddress.persnumber = $projection.Person
                                                          and _DefaultEmailAddress.flgdefault = 'X'
  
  
{
    //  @ObjectModel.text.element : 'UserDescription'

   //   @Semantics.contact.type: #PERSON

      @Semantics.organization.role
       key _User.bname                                                                            as UserID,
      _User.persnumber                                                                            as Person,
      _User.bpperson                                                                              as BusinessPartnerUUID,

      @Semantics.name.givenName: true
      _Person.name_first                                                                          as FirstName,

      @Semantics.name.familyName: true
      _Person.name_last                                                                           as LastName,

      @Semantics.name.fullName: true
      cast(coalesce( _Person.name_text , _User.techdesc ) as ad_namtext preserving type )         as FullName,

      _User.addrnumber                                                                            as AddressID,

      @Semantics.telephone.type:  [#PREF, #WORK ]
      cast(_DefaultPhoneNumber.telnr_long as contactcardphonenumber preserving type )             as PhoneNumber,

      @Semantics.telephone.type:  [#PREF, #CELL ]
      cast(_DefaultMobilePhoneNumber.telnr_long as contactcardmobilephonenumber preserving type ) as MobilePhoneNumber,

      @Semantics.eMail.type:  #WORK
      @Semantics.eMail.address: true
      cast(_DefaultEmailAddress.smtp_addr as contactcardemailaddress preserving type )            as EmailAddress,

      @Semantics.organization.name: true
      _OrgData.department                                                                         as Department

     

   
}
 
  

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ADCP",
"ADR2",
"ADR6",
"ADRP",
"USR21"
],
"ASSOCIATED":
[
"ADCP",
"ADR2",
"ADR6",
"ADRP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/