I_CustomerContactAttribute
Customer Contact Attribute
I_CustomerContactAttribute is a Basic CDS View that provides data about "Customer Contact Attribute" in SAP S/4HANA. It reads from 1 data source (udm_cct_attr) and exposes 33 fields with key field CustomerContactUUID. It has 11 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| udm_cct_attr | udm_cct_attr | from |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_BusinessPartner | _BusinessPartner | $projection.BusinessPartner = _BusinessPartner.BusinessPartner |
| [0..1] | I_CollectionSegment | _CollectionSegment | $projection.CollectionSegment = _CollectionSegment.CollectionSegment |
| [0..1] | I_UserContactCard | _CollectionSpecialistCard | $projection.CollectionSpecialist = _CollectionSpecialistCard.ContactCardID |
| [0..1] | I_Country | _Country | $projection.ContactPersonFaxCountry = _Country.Country |
| [0..1] | I_UserContactCard | _CreatedByCard | $projection.CreatedByUser = _CreatedByCard.ContactCardID |
| [0..1] | I_UserContactCard | _ChangedByCard | $projection.ChangedBy = _ChangedByCard.ContactCardID |
| [0..1] | I_CollectionWorklistItem | _CollectionWorklistItem | $projection.CollectionWorklistItemUUID = _CollectionWorklistItem.CollectionWorklistItemUUID |
| [0..1] | I_CustomerContactResult | _CustomerContactResult | $projection.CustomerContactResult = _CustomerContactResult.CustomerContactResult |
| [0..1] | I_CustomerContactType | _CustomerContactType | $projection.CustomerContactType = _CustomerContactType.CustomerContactType |
| [0..1] | I_CustomerContactDirection | _CustomerContactDirection | $projection.CustomerContactDirection = _CustomerContactDirection.CustomerContactDirection |
| [0..1] | I_CustomerContact | _CustomerContact | $projection.ContactPerson = _CustomerContact.CustomerContact |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ICCTATTR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Customer Contact Attribute | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.representativeKey | CustomerContactUUID | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Analytics.dataExtraction.delta.changeDataCapture.automatic | true | view |
Fields (33)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CustomerContactUUID | cct_guid | ||
| BusinessPartner | customer | |||
| CollectionSegment | coll_segment | |||
| CollectionCustomerContact | cct_id | |||
| CollectionSpecialist | ||||
| ContactPerson | contact_key | |||
| ContactPersonName | cct_name | |||
| ContactPersonEmailAddress | cct_email | |||
| ContactPersonPhoneNumber | cct_phone | |||
| ContactPersonFaxNumber | cct_fax | |||
| ContactPersonFaxCountry | cct_faxc | |||
| CustomerContactDirection | ||||
| CustomerContactType | cct_type | |||
| CustomerContactResult | ||||
| CustomerIsReached | xreached | |||
| CustomerContactDateTime | ||||
| CustContactDurationInMinutes | cct_duration | |||
| CreatedByUser | created_by | |||
| CreationDateTime | ||||
| ChangedBy | changed_by | |||
| ChangedOnDateTime | ||||
| CollectionWorklistItemUUID | workitem_id | |||
| _BusinessPartner | _BusinessPartner | |||
| _CollectionSegment | _CollectionSegment | |||
| _CollectionSpecialistCard | _CollectionSpecialistCard | |||
| _Country | _Country | |||
| _CreatedByCard | _CreatedByCard | |||
| _ChangedByCard | _ChangedByCard | |||
| _CollectionWorklistItem | _CollectionWorklistItem | |||
| _CustomerContactResult | _CustomerContactResult | |||
| _CustomerContactType | _CustomerContactType | |||
| _CustomerContactDirection | _CustomerContactDirection | |||
| _CustomerContact | _CustomerContact |
@AbapCatalog: { sqlViewName: 'ICCTATTR',
compiler: { compareFilter: true } }
@AccessControl: { authorizationCheck: #CHECK,
privilegedAssociations: [ '_CollectionSpecialistCard',
'_CreatedByCard',
'_ChangedByCard' ] }
@EndUserText: { label: 'Customer Contact Attribute' }
@VDM: { viewType: #BASIC,
lifecycle: { contract: { type: #PUBLIC_LOCAL_API } } }
@ClientHandling: { algorithm: #SESSION_VARIABLE }
@ObjectModel: { usageType: { serviceQuality: #A,
sizeCategory: #L,
dataClass: #TRANSACTIONAL },
semanticKey: ['CustomerContactUUID', 'CollectionSegment' ],
representativeKey: 'CustomerContactUUID',
supportedCapabilities: [#EXTRACTION_DATA_SOURCE,#SQL_DATA_SOURCE] }
@Metadata.ignorePropagatedAnnotations:true
@Analytics.dataExtraction: {
enabled: true,
delta.changeDataCapture.automatic: true
}
/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
define view I_CustomerContactAttribute
as select from udm_cct_attr
// VDM Associations
// Business Partner
association [0..1] to I_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
// Collection Segment
association [0..1] to I_CollectionSegment as _CollectionSegment on $projection.CollectionSegment = _CollectionSegment.CollectionSegment
// Collection Specialist
association [0..1] to I_UserContactCard as _CollectionSpecialistCard on $projection.CollectionSpecialist = _CollectionSpecialistCard.ContactCardID
// Fax Country
association [0..1] to I_Country as _Country on $projection.ContactPersonFaxCountry = _Country.Country
// Created By
association [0..1] to I_UserContactCard as _CreatedByCard on $projection.CreatedByUser = _CreatedByCard.ContactCardID
// Changed By
association [0..1] to I_UserContactCard as _ChangedByCard on $projection.ChangedBy = _ChangedByCard.ContactCardID
// Collection Worklist Item
association [0..1] to I_CollectionWorklistItem as _CollectionWorklistItem on $projection.CollectionWorklistItemUUID = _CollectionWorklistItem.CollectionWorklistItemUUID
// Customer Contact Result
association [0..1] to I_CustomerContactResult as _CustomerContactResult on $projection.CustomerContactResult = _CustomerContactResult.CustomerContactResult
// Customer Contact Type
association [0..1] to I_CustomerContactType as _CustomerContactType on $projection.CustomerContactType = _CustomerContactType.CustomerContactType
// Customer Contact Direction
association [0..1] to I_CustomerContactDirection as _CustomerContactDirection on $projection.CustomerContactDirection = _CustomerContactDirection.CustomerContactDirection
// Customer Contact
association [0..1] to I_CustomerContact as _CustomerContact on $projection.ContactPerson = _CustomerContact.CustomerContact
{
// VDM Fields
key cct_guid as CustomerContactUUID,
@ObjectModel: { foreignKey: { association: '_BusinessPartner' } }
customer as BusinessPartner,
@ObjectModel: { foreignKey: { association: '_CollectionSegment' } }
coll_segment as CollectionSegment,
cct_id as CollectionCustomerContact,
@ObjectModel: { foreignKey: { association: '_CollectionSpecialistCard' } }
// @Semantics: { user: { id: true } }
cast ( coll_specialist as coll_cct_collection_specialist preserving type ) as CollectionSpecialist,
@ObjectModel: { foreignKey: { association: '_CustomerContact' } }
contact_key as ContactPerson,
cct_name as ContactPersonName,
@Semantics: { eMail: { address: true } }
cct_email as ContactPersonEmailAddress,
@Semantics: { telephone: { type: [ #PREF ] } }
cct_phone as ContactPersonPhoneNumber,
@Semantics: { telephone: { type: [ #FAX ] } }
cct_fax as ContactPersonFaxNumber,
@ObjectModel: { foreignKey: { association: '_Country' } }
cct_faxc as ContactPersonFaxCountry,
@ObjectModel: { foreignKey: { association: '_CustomerContactDirection' } }
cast ( cct_direction as coll_cct_direction preserving type ) as CustomerContactDirection,
@ObjectModel: { foreignKey: { association: '_CustomerContactType' } }
cct_type as CustomerContactType,
@ObjectModel: { foreignKey: { association: '_CustomerContactResult' } }
cast( cct_result as coll_cct_result preserving type ) as CustomerContactResult,
xreached as CustomerIsReached,
cast( cct_time as coll_cct_datetime preserving type ) as CustomerContactDateTime,
cct_duration as CustContactDurationInMinutes,
// @Semantics: { user: { id: true,
@Semantics: { user: { createdBy: true } }
@ObjectModel: { foreignKey: { association: '_CreatedByCard' } }
created_by as CreatedByUser,
@Semantics: { systemDateTime: { createdAt: true } }
cast ( created_at as coll_pr_creation_date_time preserving type ) as CreationDateTime,
// @Semantics: { user: { id: true,
@Semantics: { user: { lastChangedBy: true } }
@ObjectModel: { foreignKey: { association: '_ChangedByCard' } }
changed_by as ChangedBy,
@Semantics: { systemDateTime: { lastChangedAt: true } }
cast ( changed_at as coll_pr_changed_at preserving type ) as ChangedOnDateTime,
workitem_id as CollectionWorklistItemUUID,
// Exposed Associations
_BusinessPartner,
_CollectionSegment,
_CollectionSpecialistCard,
_Country,
_CreatedByCard,
_ChangedByCard,
_CollectionWorklistItem,
_CustomerContactResult,
_CustomerContactType,
_CustomerContactDirection,
_CustomerContact
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"UDM_CCT_ATTR"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"I_COLLECTIONSEGMENT",
"I_COLLECTIONWORKLISTITEM",
"I_COUNTRY",
"I_CUSTOMERCONTACT",
"I_CUSTOMERCONTACTDIRECTION",
"I_CUSTOMERCONTACTRESULT",
"I_CUSTOMERCONTACTTYPE",
"I_USERCONTACTCARD"
],
"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