A_SalesOrderItemPartnerAddress

DDL: A_SALESORDERITEMPARTNERADDRESS Type: view_entity COMPOSITE

Item Partner Address

A_SalesOrderItemPartnerAddress is a Composite CDS View that provides data about "Item Partner Address" in SAP S/4HANA. It reads from 3 data sources (I_Address_2, I_SDDocumentItemPartner, I_SalesDocumentItemBasic) and exposes 42 fields with key fields SalesOrder, SalesOrderItem, PartnerFunction, AddressRepresentationCode. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_Address_2 Address inner
I_SDDocumentItemPartner ItemPartner from
I_SalesDocumentItemBasic SalesDocumentItem inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] A_SalesOrder _SalesOrder $projection.SalesOrder = _SalesOrder.SalesOrder
[1..1] A_SalesOrderItem _SalesOrderItem $projection.SalesOrder = _SalesOrderItem.SalesOrder and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
[1..1] A_SalesOrderItemPartner _Partner $projection.SalesOrder = _Partner.SalesOrder and $projection.SalesOrderItem = _Partner.SalesOrderItem and $projection.PartnerFunction = _Partner.PartnerFunction

Annotations (9)

NameValueLevelField
EndUserText.label Item 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 (42)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder I_SDDocumentItemPartner SDDocument
KEY SalesOrderItem I_SDDocumentItemPartner SDDocumentItem
KEY PartnerFunction I_SDDocumentItemPartner 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
StreetName I_Address_2 StreetName
StreetPrefixName1 I_Address_2 StreetPrefixName1 Street Address Non-Deliverable Reason
StreetPrefixName2 I_Address_2 StreetPrefixName2
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_SalesDocumentItemBasic SalesDocumentType
OrganizationDivision I_SalesDocumentItemBasic OrganizationDivision
SalesOrganization I_SalesDocumentItemBasic SalesOrganization
DistributionChannel I_SalesDocumentItemBasic DistributionChannel
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
_Partner _Partner
@EndUserText.label: 'Item 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_SalesOrderItemPartnerAddress
  as select from  I_SDDocumentItemPartner  as ItemPartner
    inner join    I_Address_2              as Address          on   Address.AddressID = ItemPartner.AddressID 
                                                               and( ItemPartner.SDDocPartnerAddressRefType = 'E'
                                                               or   ItemPartner.SDDocPartnerAddressRefType = 'F' )
    inner join   I_SalesDocumentItemBasic as SalesDocumentItem on   SalesDocumentItem.SalesDocument        = ItemPartner.SDDocument
                                                               and  SalesDocumentItem.SalesDocumentItem    = ItemPartner.SDDocumentItem
                                                               and  SalesDocumentItem.SDDocumentCategory   = 'C'                                                               

  association [1..1] to A_SalesOrder            as _SalesOrder     on  $projection.SalesOrder     = _SalesOrder.SalesOrder
  association [1..1] to A_SalesOrderItem        as _SalesOrderItem on  $projection.SalesOrder     = _SalesOrderItem.SalesOrder
                                                                   and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
  association [1..1] to A_SalesOrderItemPartner as _Partner        on  $projection.SalesOrder     = _Partner.SalesOrder
                                                                   and $projection.SalesOrderItem = _Partner.SalesOrderItem
                                                                   and $projection.PartnerFunction = _Partner.PartnerFunction

{
  key   ItemPartner.SDDocument                                           as SalesOrder,
  key   ItemPartner.SDDocumentItem                                       as SalesOrderItem,
  key   ItemPartner.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

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

        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

        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
        SalesDocumentItem.SalesDocumentType                            as SalesOrderType,
        @Consumption.hidden: true
        SalesDocumentItem.OrganizationDivision,
        @Consumption.hidden: true
        SalesDocumentItem.SalesOrganization,
        @Consumption.hidden: true
        SalesDocumentItem.DistributionChannel,

        _SalesOrder,
        _SalesOrderItem,
        _Partner

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRCURDFLTMOBILEPHONENUMBER",
"I_ADDRESS_2",
"I_SALESDOCUMENTITEMBASIC",
"I_SDDOCUMENTITEMPARTNER"
],
"ASSOCIATED":
[
"A_SALESORDER",
"A_SALESORDERITEM",
"A_SALESORDERITEMPARTNER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/