I_BusEvtLogUserContactCard

DDL: I_BUSEVTLOGUSERCONTACTCARD Type: view_entity COMPOSITE

Business Event Log User Contact Card

I_BusEvtLogUserContactCard is a Composite CDS View that provides data about "Business Event Log User Contact Card" in SAP S/4HANA. It reads from 1 data source (I_User) and exposes 17 fields with key field ContactCardID. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_User _User from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_AddressWorkplaceDetails _OrgData _OrgData.AddressID = $projection.AddressID and _OrgData.AddressPersonID = $projection.Person
[0..1] I_AddressPhoneNumber_2 _DefaultPhoneNumber _DefaultPhoneNumber.AddressID = $projection.AddressID and _DefaultPhoneNumber.AddressPersonID = $projection.Person and _DefaultPhoneNumber.PhoneNumberType = '1'
[0..1] I_AddressFaxNumber_2 _DefaultFaxNumber _DefaultFaxNumber.AddressID = $projection.AddressID and _DefaultFaxNumber.AddressPersonID = $projection.Person and _DefaultFaxNumber.FaxNumberIsCurrentDefault = 'X'
[0..1] I_AddressPhoneNumber_2 _DefaultMobilePhoneNumber _DefaultMobilePhoneNumber.AddressID = $projection.AddressID and _DefaultMobilePhoneNumber.AddressPersonID = $projection.Person and _DefaultMobilePhoneNumber.PhoneNumberType = '3'
[0..1] I_AddressEmailAddress_2 _DefaultEmailAddress _DefaultEmailAddress.AddressID = $projection.AddressID and _DefaultEmailAddress.AddressPersonID = $projection.Person and _DefaultEmailAddress.EmailAddressIsCurrentDefault = 'X'

Annotations (9)

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

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY ContactCardID I_User UserID
Person I_User AddressPersonID
FirstName _AddressPersonName GivenName
LastName _AddressPersonName FamilyName
PersonFullNameendasFullName
UserDescription
AddressID I_User AddressID
PhoneNumber
MobilePhoneNumber
FaxNumber
EmailAddress
Department _OrgData WorkplaceDepartmentName
FunctionalTitleName _OrgData WorkplaceFunctionalTitleName
ContactCardRole
ContactCardType
ContactCardNavLinkSemanticObj
ContactCardNavLinkQueryPart
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'Business Event Log User Contact Card'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #XL,
  dataClass: #MASTER
}
@VDM.viewType: #COMPOSITE
@ObjectModel.representativeKey: 'ContactCardID'
@Search.searchable: true

define view entity I_BusEvtLogUserContactCard
  as select from I_User              as _User
    left outer to one join   I_AddressPersonName as _AddressPersonName on _User.AddressPersonID = _AddressPersonName.AddressPersonID

  association [0..1] to I_AddressWorkplaceDetails as _OrgData                  on  _OrgData.AddressID         = $projection.AddressID
                                                                               and _OrgData.AddressPersonID    = $projection.Person

  association [0..1] to I_AddressPhoneNumber_2    as _DefaultPhoneNumber       on  _DefaultPhoneNumber.AddressID         = $projection.AddressID
                                                                               and _DefaultPhoneNumber.AddressPersonID    = $projection.Person
                                                                               and _DefaultPhoneNumber.PhoneNumberType   = '1'

  association [0..1] to I_AddressFaxNumber_2      as _DefaultFaxNumber         on  _DefaultFaxNumber.AddressID                 = $projection.AddressID
                                                                               and _DefaultFaxNumber.AddressPersonID            = $projection.Person
                                                                               and _DefaultFaxNumber.FaxNumberIsCurrentDefault = 'X'

  association [0..1] to I_AddressPhoneNumber_2    as _DefaultMobilePhoneNumber on  _DefaultMobilePhoneNumber.AddressID         = $projection.AddressID
                                                                               and _DefaultMobilePhoneNumber.AddressPersonID    = $projection.Person
                                                                               and _DefaultMobilePhoneNumber.PhoneNumberType   = '3'

  association [0..1] to I_AddressEmailAddress_2   as _DefaultEmailAddress      on  _DefaultEmailAddress.AddressID                    = $projection.AddressID
                                                                               and _DefaultEmailAddress.AddressPersonID               = $projection.Person
                                                                               and _DefaultEmailAddress.EmailAddressIsCurrentDefault = 'X'

{
      @ObjectModel.text.element : [ 'UserDescription' ]
      @Semantics.contact.type: #PERSON
  key _User.UserID                                                                                              as ContactCardID,

      _User.AddressPersonID                                                                                     as Person,
      //      _User.bpperson                                                                                            as BusinessPartnerUUID,


      @Semantics.name.givenName: true
      _AddressPersonName.GivenName                                                                              as FirstName,

      @Semantics.name.familyName: true
      _AddressPersonName.FamilyName                                                                             as LastName,

      @Semantics.name.fullName: true
      case when _AddressPersonName.PersonFullName is null or _AddressPersonName.PersonFullName is initial
      then _User.UserDescription
      else _AddressPersonName.PersonFullName end                                                                as FullName,

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

      _User.AddressID                                                                                           as AddressID,

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

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

      @Semantics.telephone.type:  [ #FAX ]
      cast(_DefaultFaxNumber.InternationalFaxNumber as telfx )                                                  as FaxNumber,

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

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

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

      @UI.hidden:true
      cast('Creator' as contactcardrole)                                                                        as ContactCardRole,
      @UI.hidden:true
      cast('User' as contactcardtype)                                                                           as ContactCardType,

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

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESSEMAILADDRESS_2",
"I_ADDRESSFAXNUMBER_2",
"I_ADDRESSPERSONNAME",
"I_ADDRESSPHONENUMBER_2",
"I_ADDRESSWORKPLACEDETAILS",
"I_USER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/