A_BusSolnOrdPartnerAddress

DDL: A_BUSSOLNORDPARTNERADDRESS Type: view_entity COMPOSITE Package: ODATA_CRMS4_SOLUTIONORDER

Partner Address of Solution Order

A_BusSolnOrdPartnerAddress is a Composite CDS View that provides data about "Partner Address of Solution Order" in SAP S/4HANA. It reads from 3 data sources (I_Address_2, I_ServiceDocument, I_CustMgmtPartner) and exposes 32 fields with key fields BusinessSolutionOrder, CustMgmtPartnerFunction, CustMgmtBusinessPartner. It has 2 associations to related views. Part of development package ODATA_CRMS4_SOLUTIONORDER.

Data Sources (3)

SourceAliasJoin Type
I_Address_2 Address inner
I_ServiceDocument SolutionOrder inner
I_CustMgmtPartner SolutionOrderPartner from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_PersonWorkplaceAddress _PersonWorkplaceAddress $projection.AddressID = _PersonWorkplaceAddress.AddressID and $projection.AddressPersonID = _PersonWorkplaceAddress.AddressPersonID
[1] A_BusinessSolutionOrder _BusinessSolutionOrder $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder

Annotations (9)

NameValueLevelField
EndUserText.label Partner Address of Solution Order view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AccessControl.authorizationCheck #MANDATORY view
ObjectModel.updateEnabled true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Metadata.ignorePropagatedAnnotations true view

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY BusinessSolutionOrder I_CustMgmtPartner CustMgmtDocument
KEY CustMgmtPartnerFunction I_CustMgmtPartner CustMgmtPartnerFunction
KEY CustMgmtBusinessPartner I_CustMgmtPartner CustMgmtBusinessPartner
AddressID I_CustMgmtPartner AddressID
AddressPersonID I_CustMgmtPartner AddressPersonID
AddressObjectType I_CustMgmtPartner AddressObjectType
AddresseeFullNameendasAddresseeFullName
Country I_Address_2 Country
DistrictName I_Address_2 DistrictName
EmailAddress
FaxAreaCodeSubscriberNumber
FaxExtensionNumber
FaxNumberCountry
HouseNumber I_Address_2 HouseNumber
MobileNumber
MobilePhoneCountry
OrganizationName1 I_Address_2 OrganizationName1
OrganizationName2 I_Address_2 OrganizationName2
OrganizationName3 I_Address_2 OrganizationName3
OrganizationName4 I_Address_2 OrganizationName4
PersonFamilyNameendasPersonFamilyName
PersonGivenNameendasPersonGivenName
PhoneExtensionNumber
PhoneNumber
PhoneNumberCountry
POBox I_Address_2 POBox
POBoxPostalCode I_Address_2 POBoxPostalCode
PostalCode I_Address_2 PostalCode
Region I_Address_2 Region
StreetName I_Address_2 StreetName
TransportZone I_Address_2 TransportZone
_BusinessSolutionOrder _BusinessSolutionOrder
@EndUserText.label: 'Partner Address of Solution Order'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AccessControl: {
  authorizationCheck:#MANDATORY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   updateEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}
@Metadata.ignorePropagatedAnnotations: true
define view entity A_BusSolnOrdPartnerAddress as select from I_CustMgmtPartner as SolutionOrderPartner
    inner join   I_Address_2       as Address      on Address.AddressID = SolutionOrderPartner.AddressID
    inner join   I_ServiceDocument as SolutionOrder on  SolutionOrderPartner.CustMgmtDocument          = SolutionOrder.ServiceDocument
                                                   and SolutionOrderPartner.CustMgmtObjectType        = SolutionOrder.ServiceObjectType
                                                   and SolutionOrderPartner.CustMgmtDocumentItem      = '000000'
                                                   and SolutionOrder.ServiceObjectType           = 'BUS2000172'
                                                   and SolutionOrder.ServiceDocumentIsQuotation  is initial
                                                   and SolutionOrder.ServiceDocumentTemplateType is initial

association [0..1] to I_PersonWorkplaceAddress as _PersonWorkplaceAddress on  $projection.AddressID       = _PersonWorkplaceAddress.AddressID
                                                                          and $projection.AddressPersonID = _PersonWorkplaceAddress.AddressPersonID

association [1] to A_BusinessSolutionOrder as _BusinessSolutionOrder on $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder
{
  key SolutionOrderPartner.CustMgmtDocument as BusinessSolutionOrder,
  key SolutionOrderPartner.CustMgmtPartnerFunction,
  key SolutionOrderPartner.CustMgmtBusinessPartner,
       @ObjectModel.readOnly: true
       SolutionOrderPartner.AddressID,
       @ObjectModel.readOnly: true
       SolutionOrderPartner.AddressPersonID,
        @ObjectModel.readOnly: true
       SolutionOrderPartner.AddressObjectType,
       
       @ObjectModel.readOnly: true
       case
        when SolutionOrderPartner.AddressObjectType = '3'
         then _PersonWorkplaceAddress.PersonFullName
        else Address.AddresseeFullName
       end  as AddresseeFullName,
       Address.Country,
       Address.DistrictName,
       Address._CurrentDfltEmailAddress.EmailAddress,
       Address._CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber,
       Address._CurrentDfltFaxNumber.FaxExtensionNumber,
       Address._CurrentDfltFaxNumber.FaxNumberCountry,
       Address.HouseNumber,
       Address._CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber as MobileNumber,
       Address._CurrentDfltMobilePhoneNumber.PhoneNumberCountry            as MobilePhoneCountry,
       Address.OrganizationName1,
       Address.OrganizationName2,
       Address.OrganizationName3,
       Address.OrganizationName4,
       case
        when SolutionOrderPartner.AddressObjectType = '3'
         then _PersonWorkplaceAddress.FamilyName
        else Address.PersonFamilyName
       end                                                                 as PersonFamilyName,
       case
        when SolutionOrderPartner.AddressObjectType = '3'
         then _PersonWorkplaceAddress.GivenName
        else Address.PersonGivenName
       end  as PersonGivenName,
       Address._CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber,
       Address._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber as PhoneNumber,
       Address._CurrentDfltLandlinePhoneNmbr.PhoneNumberCountry,
       Address.POBox,
       Address.POBoxPostalCode,
       Address.PostalCode,
       Address.Region,
       Address.StreetName,
       Address.TransportZone,
       
       _BusinessSolutionOrder
}