A_SalesOrderPartnerAddress

DDL: A_SALESORDERPARTNERADDRESS Type: view_entity COMPOSITE

Header Partner Address

A_SalesOrderPartnerAddress is a Composite CDS View that provides data about "Header Partner Address" in SAP S/4HANA. It reads from 3 data sources (I_Address_2, I_SDDocumentPartner, I_SalesDocumentBasic) and exposes 40 fields with key fields SalesOrder, PartnerFunction, AddressRepresentationCode. It has 2 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_Address_2 Address inner
I_SDDocumentPartner HeaderPartner from
I_SalesDocumentBasic SalesDocument inner

Associations (2)

CardinalityTargetAliasCondition
[1..1] A_SalesOrder _SalesOrder $projection.SalesOrder = _SalesOrder.SalesOrder
[1..1] A_SalesOrderHeaderPartner _Partner $projection.SalesOrder = _Partner.SalesOrder and $projection.PartnerFunction = _Partner.PartnerFunction

Annotations (9)

NameValueLevelField
EndUserText.label Header Partner Address view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.updateEnabled true view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
Metadata.ignorePropagatedAnnotations true view

Fields (40)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder I_SDDocumentPartner SDDocument
KEY PartnerFunction I_SDDocumentPartner PartnerFunction
KEY AddressRepresentationCode I_Address_2 AddressRepresentationCode
CorrespondenceLanguage I_Address_2 CorrespondenceLanguage
AddresseeFullName I_Address_2 AddresseeFullName
OrganizationName1 I_Address_2 OrganizationName1
OrganizationName2 I_Address_2 OrganizationName2
OrganizationName3 I_Address_2 OrganizationName3
OrganizationName4 I_Address_2 OrganizationName4
CityName I_Address_2 CityName
DistrictName I_Address_2 DistrictName
PostalCode I_Address_2 PostalCode
StreetPrefixName1 I_Address_2 StreetPrefixName1 Street Address Non-Deliverable Reason
StreetPrefixName2 I_Address_2 StreetPrefixName2
StreetName I_Address_2 StreetName
StreetSuffixName1 I_Address_2 StreetSuffixName1
StreetSuffixName2 I_Address_2 StreetSuffixName2
HouseNumber I_Address_2 HouseNumber
Country I_Address_2 Country
Region I_Address_2 Region
FormOfAddress I_Address_2 FormOfAddress
TaxJurisdiction I_Address_2 TaxJurisdiction
TransportZone I_Address_2 TransportZone
POBox I_Address_2 POBox
POBoxPostalCode I_Address_2 POBoxPostalCode
EmailAddress
MobilePhoneCountry
MobileNumber
PhoneNumberCountry
PhoneNumber
PhoneExtensionNumber
FaxNumberCountry
FaxAreaCodeSubscriberNumber
FaxExtensionNumber
SalesOrderType I_SalesDocumentBasic SalesDocumentType
OrganizationDivision I_SalesDocumentBasic OrganizationDivision
SalesOrganization I_SalesDocumentBasic SalesOrganization
DistributionChannel I_SalesDocumentBasic DistributionChannel
_SalesOrder _SalesOrder
_Partner _Partner
@EndUserText.label: 'Header Partner Address'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
//   createEnabled: true,

     updateEnabled: true,
//   deleteEnabled: true,

   usageType: {
     dataClass:      #MIXED,
     serviceQuality: #C,
     sizeCategory:   #XXL
   }
}
@Metadata.ignorePropagatedAnnotations:true

define view entity A_SalesOrderPartnerAddress
  as select from I_SDDocumentPartner  as HeaderPartner

    inner join   I_Address_2          as Address       on Address.AddressID = HeaderPartner.AddressID
    inner join   I_SalesDocumentBasic as SalesDocument on  SalesDocument.SalesDocument      = HeaderPartner.SDDocument
                                                       and SalesDocument.SDDocumentCategory = 'C'

  association [1..1] to A_SalesOrder              as _SalesOrder on  $projection.SalesOrder = _SalesOrder.SalesOrder
  association [1..1] to A_SalesOrderHeaderPartner as _Partner    on  $projection.SalesOrder      = _Partner.SalesOrder
                                                                 and $projection.PartnerFunction = _Partner.PartnerFunction
                                                                 
                                                                                                                      

{
  key HeaderPartner.SDDocument                                            as SalesOrder,
  key HeaderPartner.PartnerFunction,
  key Address.AddressRepresentationCode,

      Address.CorrespondenceLanguage,
      Address.AddresseeFullName,
      //        Address.PersonGivenName, for next release

      //        Address.PersonFamilyName, for next release

      Address.OrganizationName1,
      Address.OrganizationName2,
      Address.OrganizationName3,
      Address.OrganizationName4,
      Address.CityName,
      Address.DistrictName,
      Address.PostalCode,
      //Address.CompanyPostalCode, --> This is planned to be in A2A


      @EndUserText.label: 'Street Address Non-Deliverable Reason'
      Address.StreetPrefixName1,
      Address.StreetPrefixName2,
      Address.StreetName,
      Address.StreetSuffixName1,
      Address.StreetSuffixName2,
      Address.HouseNumber,
      //Address.HouseNumberSupplementText, --> This is planned to be in A2A (#1)

      Address.Country,
      Address.Region,
      Address.FormOfAddress,
      Address.TaxJurisdiction,
      Address.TransportZone,

      Address.POBox,
      Address.POBoxPostalCode,
      //        @EndUserText.label: 'PO Box Address Non-Deliverable Reason'

      //        Address.POBoxIsWithoutNumber,  --> This is planned to be in A2A

      //        Address.CareOfName, --> This is planned to be in A2A (#1)


      Address._CurrentDfltEmailAddress.EmailAddress,
      
      Address._CurrentDfltMobilePhoneNumber.PhoneNumberCountry            as MobilePhoneCountry,
      Address._CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber as MobileNumber,

      Address._CurrentDfltLandlinePhoneNmbr.PhoneNumberCountry,
      Address._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber as PhoneNumber,
      Address._CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber,

      Address._CurrentDfltFaxNumber.FaxNumberCountry,
      Address._CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber,
      Address._CurrentDfltFaxNumber.FaxExtensionNumber,

      // For Access control

      @Consumption.hidden: true
      SalesDocument.SalesDocumentType                                     as SalesOrderType,
      @Consumption.hidden: true
      SalesDocument.OrganizationDivision,
      @Consumption.hidden: true
      SalesDocument.SalesOrganization,
      @Consumption.hidden: true
      SalesDocument.DistributionChannel,

      _SalesOrder,
      _Partner


}
where
     HeaderPartner.SDDocPartnerAddressRefType = 'E'
  or HeaderPartner.SDDocPartnerAddressRefType = 'F'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRCURDFLTMOBILEPHONENUMBER",
"I_ADDRESS_2",
"I_SALESDOCUMENTBASIC",
"I_SDDOCUMENTPARTNER"
],
"ASSOCIATED":
[
"A_SALESORDER",
"A_SALESORDERHEADERPARTNER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/