I_LCMUserContactCard
Basic view for LCM User Contact Card
I_LCMUserContactCard is a Composite CDS View that provides data about "Basic view for LCM User Contact Card" in SAP S/4HANA. It reads from 1 data source (I_LCMUserAddressAssignment) and exposes 20 fields with key field ContactCardID. It has 6 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_LCMUserAddressAssignment | _User | from |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_LCMPerson | _Person | _Person.PersonNumber = $projection.Person and _Person.PersonNumber <> '' |
| [0..1] | I_LCMContactCardOrgData | _OrgData | _OrgData.AddressID = $projection.AddressID and _OrgData.Person = $projection.Person |
| [0..*] | I_AddressPhoneNumber | _DefaultPhoneNumber | _DefaultPhoneNumber.AddressID = $projection.AddressID and _DefaultPhoneNumber.Person = $projection.Person and _DefaultPhoneNumber.PhoneNumberType = '1' |
| [0..1] | I_LCMContactCardFaxData | _DefaultFaxNumber | _DefaultFaxNumber.AddressID = $projection.AddressID and _DefaultFaxNumber.Person = $projection.Person and _DefaultFaxNumber.IsDefaultFaxNumber = 'X' |
| [0..*] | I_AddressPhoneNumber | _DefaultMobilePhoneNumber | _DefaultMobilePhoneNumber.AddressID = $projection.AddressID and _DefaultMobilePhoneNumber.Person = $projection.Person and _DefaultMobilePhoneNumber.PhoneNumberType = '3' |
| [0..*] | I_AddressEmailAddress | _DefaultEmailAddress | _DefaultEmailAddress.AddressID = $projection.AddressID and _DefaultEmailAddress.Person = $projection.Person and _DefaultEmailAddress.IsDefaultEmailAddress = 'X' |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ILCMUSERCTC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Basic view for LCM User Contact Card | view | |
| ObjectModel.representativeKey | ContactCardID | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (20)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ContactCardID | I_LCMUserAddressAssignment | ContactCardID | |
| Person | I_LCMUserAddressAssignment | Person | ||
| BusinessPartnerUUID | I_LCMUserAddressAssignment | BusinessPartnerUUID | ||
| FirstName | _Person | FirstName | ||
| LastName | _Person | LastName | ||
| FullName | ||||
| AddressID | I_LCMUserAddressAssignment | AddressID | ||
| PhoneNumber | ||||
| MobilePhoneNumber | ||||
| InternationalFaxNumber | ||||
| EmailAddress | _DefaultEmailAddress | EmailAddress | ||
| Department | _OrgData | Department | ||
| FunctionalTitleName | _OrgData | FunctionalTitleName | ||
| ContactCardRole | ||||
| ContactCardType | ||||
| ContactCardNavLinkSemanticObj | ||||
| ContactCardNavLinkQueryPart | ||||
| _DefaultFaxNumber | _DefaultFaxNumber | |||
| _OrgData | _OrgData | |||
| _Person | _Person |
@AbapCatalog.sqlViewName: 'ILCMUSERCTC'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY //#CHECK //
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: [ '_DefaultFaxNumber', '_OrgData', '_Person' ]
@EndUserText.label: 'Basic view for LCM User Contact Card'
@ObjectModel.representativeKey: 'ContactCardID'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@AbapCatalog.preserveKey:true
@ObjectModel.usageType.sizeCategory: #L
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
define view I_LCMUserContactCard
as select from I_LCMUserAddressAssignment as _User
association [0..1] to I_LCMPerson as _Person on _Person.PersonNumber = $projection.Person
and _Person.PersonNumber <> ''
association [0..1] to I_LCMContactCardOrgData as _OrgData on _OrgData.AddressID = $projection.AddressID
and _OrgData.Person = $projection.Person
association [0..*] to I_AddressPhoneNumber as _DefaultPhoneNumber on _DefaultPhoneNumber.AddressID = $projection.AddressID
and _DefaultPhoneNumber.Person = $projection.Person
and _DefaultPhoneNumber.PhoneNumberType = '1'
association [0..1] to I_LCMContactCardFaxData as _DefaultFaxNumber on _DefaultFaxNumber.AddressID = $projection.AddressID
and _DefaultFaxNumber.Person = $projection.Person
and _DefaultFaxNumber.IsDefaultFaxNumber = 'X'
association [0..*] to I_AddressPhoneNumber as _DefaultMobilePhoneNumber on _DefaultMobilePhoneNumber.AddressID = $projection.AddressID
and _DefaultMobilePhoneNumber.Person = $projection.Person
and _DefaultMobilePhoneNumber.PhoneNumberType = '3'
association [0..*] to I_AddressEmailAddress as _DefaultEmailAddress on _DefaultEmailAddress.AddressID = $projection.AddressID
and _DefaultEmailAddress.Person = $projection.Person
and _DefaultEmailAddress.IsDefaultEmailAddress = 'X'
{
@Semantics.contact.type: #PERSON
@ObjectModel.text.element: 'FullName'
@Semantics.text: true
key _User.ContactCardID,
_User.Person,
_User.BusinessPartnerUUID,
@Semantics.name.givenName: true
_Person.FirstName,
@Semantics.name.familyName: true
_Person.LastName,
@Semantics.name.fullName: true
cast(coalesce( _Person.UserFullName , _User.FullName ) as name_text ) as FullName,
_User.AddressID,
@Semantics.telephone.type: [ #WORK ]
cast(_DefaultPhoneNumber.PhoneNumber as contactcardphonenumber) as PhoneNumber,
@Semantics.telephone.type: [ #CELL ]
cast(_DefaultMobilePhoneNumber.PhoneNumber as contactcardmobilephonenumber) as MobilePhoneNumber,
@Semantics.telephone.type: [ #FAX ]
cast(_DefaultFaxNumber.InternationalFaxNumber as contactcardfaxnumber) as InternationalFaxNumber,
@Semantics.eMail.type: #WORK
@Semantics.eMail.address: true
_DefaultEmailAddress.EmailAddress,
@Semantics.organization.name: true
_OrgData.Department,
@Semantics.organization.role: true
_OrgData.FunctionalTitleName,
cast( 'Creator' as contactcardrole ) as ContactCardRole,
cast( 'User' as contactcardtype ) as ContactCardType,
'User' as ContactCardNavLinkSemanticObj,
concat('User=', _User.UserID) as ContactCardNavLinkQueryPart,
//DCL0
_DefaultFaxNumber,
_OrgData,
_Person
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESSEMAILADDRESS",
"I_ADDRESSPHONENUMBER",
"I_LCMCONTACTCARDFAXDATA",
"I_LCMCONTACTCARDORGDATA",
"I_LCMPERSON",
"I_LCMUSERADDRESSASSIGNMENT"
],
"ASSOCIATED":
[
"I_ADDRESSEMAILADDRESS",
"I_ADDRESSPHONENUMBER",
"I_LCMCONTACTCARDFAXDATA",
"I_LCMCONTACTCARDORGDATA",
"I_LCMPERSON"
],
"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