A_BusSolnOrdItmPartnerAddress

DDL: A_BUSSOLNORDITMPARTNERADDRESS Type: view_entity COMPOSITE Package: ODATA_CRMS4_SOLUTIONORDER

Solution Order Item Partner Address

A_BusSolnOrdItmPartnerAddress is a Composite CDS View that provides data about "Solution Order Item Partner Address" in SAP S/4HANA. It reads from 3 data sources (I_Address_2, I_ServiceDocumentItemEnhcd, I_CustMgmtPartner) and exposes 40 fields with key fields BusinessSolutionOrder, BusinessSolutionOrderItem, 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_ServiceDocumentItemEnhcd BusinessSolutionOrderItem inner
I_CustMgmtPartner SolutionOrderItemPartner 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 Solution Order Item Partner Address 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 (40)

KeyFieldSource TableSource FieldDescription
KEY BusinessSolutionOrder I_CustMgmtPartner CustMgmtDocument
KEY BusinessSolutionOrderItem I_CustMgmtPartner CustMgmtDocumentItem
KEY CustMgmtPartnerFunction I_CustMgmtPartner CustMgmtPartnerFunction
KEY CustMgmtBusinessPartner I_CustMgmtPartner CustMgmtBusinessPartner
AddressID I_CustMgmtPartner AddressID
AddressPersonID I_CustMgmtPartner AddressPersonID
AddressObjectType I_CustMgmtPartner AddressObjectType
AddresseeFullNameendasAddresseeFullName
CityName I_Address_2 CityName
Country I_Address_2 Country
DistrictName I_Address_2 DistrictName
EmailAddress
FaxAreaCodeSubscriberNumber
FaxExtensionNumber
FaxNumberCountry
FormOfAddressendasFormOfAddress
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
StreetPrefixName1 I_Address_2 StreetPrefixName1
StreetPrefixName2 I_Address_2 StreetPrefixName2
StreetSuffixName1 I_Address_2 StreetSuffixName1
StreetSuffixName2 I_Address_2 StreetSuffixName2
TaxJurisdiction I_Address_2 TaxJurisdiction
TransportZone I_Address_2 TransportZone
_BusinessSolutionOrder _BusinessSolutionOrder
@EndUserText.label: 'Solution Order Item Partner Address'
@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_BusSolnOrdItmPartnerAddress  as select from I_CustMgmtPartner  as SolutionOrderItemPartner
    inner join     I_Address_2        as Address on Address.AddressID = SolutionOrderItemPartner.AddressID
    inner join     I_ServiceDocumentItemEnhcd as BusinessSolutionOrderItem on SolutionOrderItemPartner.CustMgmtDocument = BusinessSolutionOrderItem.ServiceDocument
                                                                           and SolutionOrderItemPartner.CustMgmtDocumentItem = BusinessSolutionOrderItem.ServiceDocumentItem
                                                                           and SolutionOrderItemPartner.CustMgmtObjectType   = BusinessSolutionOrderItem.ServiceObjectType
                                                                           and SolutionOrderItemPartner.CustMgmtObjectType   = 'BUS2000172'

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 SolutionOrderItemPartner.CustMgmtDocument as BusinessSolutionOrder,
  key SolutionOrderItemPartner.CustMgmtDocumentItem as BusinessSolutionOrderItem,
  key SolutionOrderItemPartner.CustMgmtPartnerFunction,
  key SolutionOrderItemPartner.CustMgmtBusinessPartner,
  
         @Consumption.hidden: true
       @ObjectModel.readOnly: true
       SolutionOrderItemPartner.AddressID,
       @Consumption.hidden: true
       @ObjectModel.readOnly: true
       SolutionOrderItemPartner.AddressPersonID,

       @Consumption.hidden: true
       @ObjectModel.readOnly: true
       //Added to fetch address details based on address type

       SolutionOrderItemPartner.AddressObjectType,

       @ObjectModel.readOnly: true
       case
           when SolutionOrderItemPartner.AddressObjectType = '3'
            then _PersonWorkplaceAddress.PersonFullName
           else Address.AddresseeFullName
       end                                                                 as AddresseeFullName,
       Address.CityName,
       case
           when SolutionOrderItemPartner.AddressObjectType = '3'
            then _PersonWorkplaceAddress.CorrespondenceLanguage
           else Address.CorrespondenceLanguage
       end                                                                 as CorrespondenceLanguage,
       Address.Country,
       Address.DistrictName,
       Address._CurrentDfltEmailAddress.EmailAddress,
       Address._CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber,
       Address._CurrentDfltFaxNumber.FaxExtensionNumber,
       Address._CurrentDfltFaxNumber.FaxNumberCountry,
       case
           when SolutionOrderItemPartner.AddressObjectType = '3'
            then _PersonWorkplaceAddress.FormOfAddress
           else Address.FormOfAddress
       end                                                                 as FormOfAddress,
       Address.HouseNumber,
       Address._CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber as MobileNumber,
       Address._CurrentDfltMobilePhoneNumber.PhoneNumberCountry            as MobilePhoneCountry,
       Address.OrganizationName1,
       Address.OrganizationName2,
       Address.OrganizationName3,
       Address.OrganizationName4,
       case
           when SolutionOrderItemPartner.AddressObjectType = '3'
            then _PersonWorkplaceAddress.FamilyName
           else Address.PersonFamilyName
       end                                                                 as PersonFamilyName,
       case
           when SolutionOrderItemPartner.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.StreetPrefixName1,
       Address.StreetPrefixName2,
       Address.StreetSuffixName1,
       Address.StreetSuffixName2,
       Address.TaxJurisdiction,
       Address.TransportZone,
       
       _BusinessSolutionOrder
}