I_AddressEmailAddress_2

DDL: I_ADDRESSEMAILADDRESS_2 Type: view_entity BASIC Package: S_ADDRESS_VDM

Email Address

I_AddressEmailAddress_2 is a Basic CDS View (Dimension) that provides data about "Email Address" in SAP S/4HANA. It reads from 1 data source (adr6) and exposes 12 fields with key fields AddressID, AddressPersonID, CommMediumSequenceNumber. It has 4 associations to related views. Part of development package S_ADDRESS_VDM.

Data Sources (1)

SourceAliasJoin Type
adr6 adr6 from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_AddrOrgNamePostalAddress _OrgNamePostalAddress _OrgNamePostalAddress.AddressID = $projection.AddressID and _OrgNamePostalAddress.AddressRepresentationCode = ''
[0..1] I_AddressPersonName _AddressPersonName $projection.AddressPersonID = _AddressPersonName.AddressPersonID and _AddressPersonName.AddressRepresentationCode = ''
[0..*] I_AddressCommunicationRemark_2 _AddressCommunicationRemark $projection.AddressID = _AddressCommunicationRemark.AddressID and $projection.AddressPersonID = _AddressCommunicationRemark.AddressPersonID and $projection.CommMediumSequenceNumber = _AddressCommunicationRemark.CommMediumSequenceNumber and _AddressCommunicationRemark.CommunicationMediumType = 'INT'
[0..*] I_AddressCommunicationUsage _AddressCommunicationUsage $projection.AddressID = _AddressCommunicationUsage.AddressID and $projection.AddressPersonID = _AddressCommunicationUsage.AddressPersonID and $projection.CommMediumSequenceNumber = _AddressCommunicationUsage.CommMediumSequenceNumber and _AddressCommunicationUsage.CommunicationMediumType = 'INT'

Annotations (13)

NameValueLevelField
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
EndUserText.label Email Address view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.representativeKey CommMediumSequenceNumber view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.sapObjectNodeType.name EmailAddress view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY AddressID addrnumber
KEY AddressPersonID persnumber
KEY CommMediumSequenceNumber consnumber
EmailAddress smtp_addr
EmailAddressIsCurrentDefault
CommLineNotForUnsolicitedCntct
datsendasValidityStartDate
datsendasValidityEndDate
_AddressCommunicationRemark _AddressCommunicationRemark
_AddressCommunicationUsage _AddressCommunicationUsage
_OrgNamePostalAddress _OrgNamePostalAddress
_AddressPersonName _AddressPersonName
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@Analytics: {
    dataCategory: #DIMENSION,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture.automatic: true
    }
}
@AccessControl.privilegedAssociations: ['_AddressCommunicationRemark', '_AddressCommunicationUsage']
@EndUserText.label: 'Email Address'
//@Metadata.allowExtensions: true

@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.supportedCapabilities: [#CDS_MODELING_ASSOCIATION_TARGET, #CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE, #EXTRACTION_DATA_SOURCE]
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.representativeKey: 'CommMediumSequenceNumber'
@VDM: {
  viewType: #BASIC,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ObjectModel.sapObjectNodeType.name: 'EmailAddress'
define view entity I_AddressEmailAddress_2
  as select from adr6
  association [0..1] to I_AddrOrgNamePostalAddress     as _OrgNamePostalAddress       on  _OrgNamePostalAddress.AddressID                 = $projection.AddressID
                                                                                      and _OrgNamePostalAddress.AddressRepresentationCode = '' 
                                                                                      
  association [0..1] to I_AddressPersonName            as _AddressPersonName          on  $projection.AddressPersonID = _AddressPersonName.AddressPersonID 
                                                                                      and _AddressPersonName.AddressRepresentationCode = ''                                     
                                                                                        
  association [0..*] to I_AddressCommunicationRemark_2 as _AddressCommunicationRemark on  $projection.AddressID                               = _AddressCommunicationRemark.AddressID
                                                                                      and $projection.AddressPersonID                         = _AddressCommunicationRemark.AddressPersonID
                                                                                      and $projection.CommMediumSequenceNumber                = _AddressCommunicationRemark.CommMediumSequenceNumber
                                                                                      and _AddressCommunicationRemark.CommunicationMediumType = 'INT'

  association [0..*] to I_AddressCommunicationUsage    as _AddressCommunicationUsage  on  $projection.AddressID                              = _AddressCommunicationUsage.AddressID
                                                                                      and $projection.AddressPersonID                        = _AddressCommunicationUsage.AddressPersonID
                                                                                      and $projection.CommMediumSequenceNumber               = _AddressCommunicationUsage.CommMediumSequenceNumber
                                                                                      and _AddressCommunicationUsage.CommunicationMediumType = 'INT'
{
  @ObjectModel.foreignKey.association: '_OrgNamePostalAddress'
  key addrnumber                                                        as AddressID,
  @ObjectModel.foreignKey.association: '_AddressPersonName'
  key persnumber                                                        as AddressPersonID,
  key consnumber                                                        as CommMediumSequenceNumber,
      smtp_addr                                                         as EmailAddress,
      cast (flgdefault as ad_emailcurdflt preserving type)              as EmailAddressIsCurrentDefault,
      cast (flg_nouse as ad_commlinenotforunslctdcntct preserving type) as CommLineNotForUnsolicitedCntct,
      case valid_from
          when '' then '00010101'
          else cast( substring( valid_from,1,8) as abap.dats)
      end                                                               as ValidityStartDate,
      case valid_to
          when '' then '99991231'
          else cast( substring( valid_to,1,8) as abap.dats)
      end                                                               as ValidityEndDate,

      _AddressCommunicationRemark,
      _AddressCommunicationUsage,
      _OrgNamePostalAddress,
      _AddressPersonName
}
where
  date_from = '00010101'