C_Customer360ExternalContact

DDL: C_CUSTOMER360EXTERNALCONTACT Type: view_entity CONSUMPTION Package: ODATA_SD_ADVNCD_CUSTOMER360

Customer 360 External Contact

C_Customer360ExternalContact is a Consumption CDS View that provides data about "Customer 360 External Contact" in SAP S/4HANA. It reads from 1 data source (I_CustomerContact) and exposes 27 fields with key fields Customer, BusinessPartnerCompany, BusinessPartnerPerson, ContactPerson. It is exposed through 1 OData service (SD_ADVNCD_CUSTOMER360). Part of development package ODATA_SD_ADVNCD_CUSTOMER360.

Data Sources (1)

SourceAliasJoin Type
I_CustomerContact CustomerContact from

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Customer 360 External Contact view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
SD_ADVNCD_CUSTOMER360 SD_ADVNCD_CUSTOMER360 V4 C1 NOT_RELEASED

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY Customer _Customer Customer
KEY BusinessPartnerCompany I_CustomerContact BusinessPartnerCompany
KEY BusinessPartnerPerson I_CustomerContact BusinessPartnerPerson
KEY ContactPerson I_CustomerContact CustomerContact
FirstName I_CustomerContact FirstName
LastName I_CustomerContact LastName
BusinessPartnerFullName
IsStandardRelationship I_CustomerContact IsStandardRelationship
PartnerFunctionName
InternationalPhoneNumber I_CustomerContact InternationalPhoneNumber
EmailAddress I_CustomerContact EmailAddress
InternationalMobilePhoneNumber I_CustomerContact InternationalMobilePhoneNumber
AuthorizationGroup _Customer AuthorizationGroup
CustomerAccountGroup _Customer CustomerAccountGroup
DataControllerSet _Customer DataControllerSet
DataController1 _Customer DataController1
DataController2 _Customer DataController2
DataController3 _Customer DataController3
DataController4 _Customer DataController4
DataController5 _Customer DataController5
DataController6 _Customer DataController6
DataController7 _Customer DataController7
DataController8 _Customer DataController8
DataController9 _Customer DataController9
DataController10 _Customer DataController10
_BusinessPartnerCompany I_CustomerContact _BusinessPartnerCompany
_BusinessPartnerPerson I_CustomerContact _BusinessPartnerPerson
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Customer 360 External Contact'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
    serviceQuality: #X,
    sizeCategory: #S,
    dataClass: #MIXED
}
@VDM.viewType: #CONSUMPTION
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]

define view entity C_Customer360ExternalContact as select from I_CustomerContact as CustomerContact 
//association [0..1] to I_Customer_to_BusinessPartner as _CustomerToBusinessPartner on  $projection.PartnerUUID = _CustomerToBusinessPartner.BusinessPartnerUUID

join I_BusinessPartnerCustomer as _Customer on _Customer.BusinessPartner= CustomerContact.BusinessPartnerCompany

 // association [0..1] to I_ContactPersonFunction      as _CntctPersnFuncValueHelp   on  $projection.contactpersonfunction = _CntctPersnFuncValueHelp.ContactPersonFunction

//                                                                                    and _CntctPersnFuncValueHelp.Language = $session.system_language

 {
   key _Customer.Customer,
         @UI.hidden:true
  key CustomerContact.BusinessPartnerCompany,
      @UI.hidden:true
  key CustomerContact.BusinessPartnerPerson,

   key CustomerContact.CustomerContact as ContactPerson,
    @Semantics:   { name.givenName: true }
      CustomerContact.FirstName,
      @Semantics:   { name.familyName: true }
      CustomerContact.LastName,

      @Semantics:   { name.fullName: true }
      concat_with_space(CustomerContact.FirstName, CustomerContact.LastName, 1) as BusinessPartnerFullName,
    
      CustomerContact.IsStandardRelationship,
      
     @Semantics.name.jobTitle: true
      @Semantics:   { organization.role: true }
      CustomerContact._ContactPersonFunction._Text[1: Language=$session.system_language ].ContactPersonFunctionName as PartnerFunctionName,
      
      @Semantics.telephone.type: [#WORK]
      CustomerContact.InternationalPhoneNumber,

      @Semantics:   { eMail: { address: true, type:  [ #PREF, #WORK ] } }
      CustomerContact.EmailAddress,

      @Semantics:   { telephone.type: [ #CELL ] }
      CustomerContact.InternationalMobilePhoneNumber,
      
      // Attributes for DCL

      _Customer.AuthorizationGroup,
      _Customer.CustomerAccountGroup,   
      
      /*Fields for DCL - BP Data Contoller*/
      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataControllerSet,
      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController1,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController2,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController3,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController4,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController5,
      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController6,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController7,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController8,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController9,

      @Consumption.hidden:true
      @UI.hidden:true
      _Customer.DataController10,
      
      
      //Associations

      @Consumption.hidden:true
      @UI.hidden:true
      CustomerContact._BusinessPartnerCompany,
      
      @Consumption.hidden:true
      @UI.hidden:true
      CustomerContact._BusinessPartnerPerson

}