I_CustomerContactAttribute

DDL: I_CUSTOMERCONTACTATTRIBUTE Type: view BASIC

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)

SourceAliasJoin Type
udm_cct_attr udm_cct_attr from

Associations (11)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/