I_HDMUserContactCard

DDL: I_HDMUSERCONTACTCARD Type: view_entity COMPOSITE Package: SECM_HDM_RAP

User Contact Card

I_HDMUserContactCard is a Composite CDS View that provides data about "User Contact Card" in SAP S/4HANA. It reads from 1 data source (usr21) and exposes 18 fields with key field ContactCardID. It has 6 associations to related views. Part of development package SECM_HDM_RAP.

Data Sources (1)

SourceAliasJoin Type
usr21 _User from

Associations (6)

CardinalityTargetAliasCondition
[0..1] adrp _Person _Person.persnumber = $projection.Person and _Person.persnumber <> '' and _Person.nation = ''
[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] adr3 _DefaultFaxNumber _DefaultFaxNumber.addrnumber = $projection.AddressID and _DefaultFaxNumber.persnumber = $projection.Person and _DefaultFaxNumber.flgdefault = 'X'
[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 (8)

NameValueLevelField
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
EndUserText.label User Contact Card view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.representativeKey ContactCardID view
Search.searchable true view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY ContactCardID usr21 bname
Person usr21 persnumber
BusinessPartnerUUID usr21 bpperson
FirstName _Person name_first
LastName _Person name_last
FullName
UserDescription
AddressID usr21 addrnumber
PhoneNumber
MobilePhoneNumber
FaxNumber
EmailAddress
Department _OrgData department
FunctionalTitleName _OrgData function
ContactCardRole
ContactCardType
ContactCardNavLinkSemanticObj
ContactCardNavLinkQueryPart
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'User Contact Card'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.representativeKey: 'ContactCardID'
@Search.searchable: true
 /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/ 
define view entity I_HDMUserContactCard
  as select from usr21 as _User
  association [0..1] to adrp as _Person                   on  _Person.persnumber = $projection.Person
                                                          and _Person.persnumber <> ''
                                                          and _Person.nation     =  ''

  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 adr3 as _DefaultFaxNumber         on  _DefaultFaxNumber.addrnumber = $projection.AddressID
                                                          and _DefaultFaxNumber.persnumber = $projection.Person
                                                          and _DefaultFaxNumber.flgdefault                   = 'X'

  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
  key _User.bname                                                                                 as ContactCardID,
      _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,

      @Semantics.text: true
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
      cast( _User.techdesc as vdm_userdescription preserving type )                               as UserDescription,

      _User.addrnumber                                                                            as AddressID,

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

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

      @Semantics.telephone.type:  [ #FAX ]
      cast(_DefaultFaxNumber.faxnr_long as shdm_contactcardfaxnumber preserving type )                 as FaxNumber,

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

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

      @Semantics.organization.role: true
      _OrgData.function                                                                           as FunctionalTitleName,

      @UI.hidden:true
      'Creator'                                                                                   as ContactCardRole,
      @UI.hidden:true
      'User'                                                                                      as ContactCardType,

      @UI.hidden:true
      'User'                                                                                      as ContactCardNavLinkSemanticObj,
      @UI.hidden:true
      concat('User=', _User.bname)                                                                as ContactCardNavLinkQueryPart
}