I_BusEvtLogUserContactCard
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)
| Source | Alias | Join Type |
|---|---|---|
| I_User | _User | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA