I_UserContactCard

DDL: I_USERCONTACTCARD SQL: IUSERCTC Type: view COMPOSITE

User Contact Card

I_UserContactCard 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.

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 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 (12)

NameValueLevelField
AbapCatalog.sqlViewName IUSERCTC view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED 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 User name
Person usr21 persnumber Person Number
BusinessPartnerUUID usr21 bpperson BP GUID
FirstName _Person name_first First Name
LastName _Person name_last Last Name
FullName
UserDescription
AddressID usr21 addrnumber Address Number
PhoneNumber
MobilePhoneNumber
FaxNumber
EmailAddress
Department _OrgData department Department
FunctionalTitleName _OrgData function Unit Func.
ContactCardRole
ContactCardType
ContactCardNavLinkSemanticObj
ContactCardNavLinkQueryPart

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_UserContactCard.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IUSERCTC

CREATE VIEW I_UserContactCard AS
SELECT
  _User.bname AS ContactCardID,
  _User.persnumber AS Person,
  _User.bpperson AS BusinessPartnerUUID,
  _Person.name_first AS FirstName,
  _Person.name_last AS LastName,
  cast(coalesce( _Person.name_text , _User.techdesc ) as ad_namtext preserving type ) AS FullName,
  cast( _User.techdesc as vdm_userdescription preserving type ) AS UserDescription,
  _User.addrnumber AS AddressID,
  cast(_DefaultPhoneNumber.telnr_long as contactcardphonenumber preserving type ) AS PhoneNumber,
  cast(_DefaultMobilePhoneNumber.telnr_long as contactcardmobilephonenumber preserving type ) AS MobilePhoneNumber,
  cast(_DefaultFaxNumber.faxnr_long as contactcardfaxnumber preserving type ) AS FaxNumber,
  cast(_DefaultEmailAddress.smtp_addr as contactcardemailaddress preserving type ) AS EmailAddress,
  _OrgData.department AS Department,
  _OrgData.function AS FunctionalTitleName,
  'Creator' AS ContactCardRole,
  'User' AS ContactCardType,
  'User' AS ContactCardNavLinkSemanticObj,
  concat('User=', _User.bname) AS ContactCardNavLinkQueryPart
FROM usr21 AS _User
LEFT OUTER JOIN adrp AS _Person ON _Person.persnumber = Person AND _Person.persnumber <> '' AND _Person.nation = ''  -- association [0..1]
LEFT OUTER JOIN adcp AS _OrgData ON _OrgData.addrnumber = AddressID AND _OrgData.persnumber = Person  -- association [0..1]
LEFT OUTER JOIN adr2 AS _DefaultPhoneNumber ON _DefaultPhoneNumber.addrnumber = AddressID AND _DefaultPhoneNumber.persnumber = Person AND _DefaultPhoneNumber.r3_user = '1'  -- association [0..1]
LEFT OUTER JOIN adr3 AS _DefaultFaxNumber ON _DefaultFaxNumber.addrnumber = AddressID AND _DefaultFaxNumber.persnumber = Person AND flgdefault = 'X'  -- association [0..1]
LEFT OUTER JOIN adr2 AS _DefaultMobilePhoneNumber ON _DefaultMobilePhoneNumber.addrnumber = AddressID AND _DefaultMobilePhoneNumber.persnumber = Person AND _DefaultMobilePhoneNumber.r3_user = '3'  -- association [0..1]
LEFT OUTER JOIN adr6 AS _DefaultEmailAddress ON _DefaultEmailAddress.addrnumber = AddressID AND _DefaultEmailAddress.persnumber = Person AND _DefaultEmailAddress.flgdefault = 'X'  -- association [0..1]
;