A_SrvcConfItmPartnerAddress

DDL: A_SRVCCONFITMPARTNERADDRESS Type: view_entity COMPOSITE

Partner Address of Service Confirmation Item

A_SrvcConfItmPartnerAddress is a Composite CDS View that provides data about "Partner Address of Service Confirmation Item" in SAP S/4HANA. It reads from 3 data sources (I_Address_2, A_ServiceConfirmationItem, I_CustMgmtPartner) and exposes 39 fields with key fields ServiceConfirmation, CustMgmtPartnerFunction, CustMgmtBusinessPartner. It has 2 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_Address_2 Address inner
A_ServiceConfirmationItem ServiceConfItem inner
I_CustMgmtPartner ServicePartner from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_PersonWorkplaceAddress _PersonWorkplaceAddress $projection.AddressID = _PersonWorkplaceAddress.AddressID and $projection.AddressPersonID = _PersonWorkplaceAddress.AddressPersonID
[1] A_ServiceConfirmation _ServiceConfirmation $projection.ServiceConfirmation = _ServiceConfirmation.ServiceConfirmation

Annotations (9)

NameValueLevelField
EndUserText.label Partner Address of Service Confirmation Item view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AccessControl.authorizationCheck #CHECK 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 (39)

KeyFieldSource TableSource FieldDescription
KEY ServiceConfirmation 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
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
_ServiceConfirmation _ServiceConfirmation
@EndUserText.label: 'Partner Address of Service Confirmation Item'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   updateEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}
@Metadata.ignorePropagatedAnnotations: true

//@feature: 'BF:API_FULLSCOPE'

/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ]  } */
define view entity A_SrvcConfItmPartnerAddress
  as select from I_CustMgmtPartner         as ServicePartner

    inner join   I_Address_2               as Address         on Address.AddressID = ServicePartner.AddressID

    inner join   A_ServiceConfirmationItem as ServiceConfItem on  ServicePartner.CustMgmtDocument     = ServiceConfItem.ServiceConfirmation
                                                              and ServicePartner.CustMgmtDocumentItem = ServiceConfItem.SrvcDocItmPartReferenceItem
                                                              and ServicePartner.CustMgmtObjectType   = ServiceConfItem.ServiceObjectType
                                                              and ServicePartner.CustMgmtObjectType   = 'BUS2000117'

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

  association [1]    to A_ServiceConfirmation    as _ServiceConfirmation    on  $projection.ServiceConfirmation = _ServiceConfirmation.ServiceConfirmation
{

  key  ServicePartner.CustMgmtDocument                                     as ServiceConfirmation,
  key  case ServicePartner.CustMgmtDocumentItem
   when '000000'   then ServiceConfItem.ServiceConfirmationItem
   else ServicePartner.CustMgmtDocumentItem
  end                                                                      as ServiceConfirmationItem,
  key  ServicePartner.CustMgmtPartnerFunction,
  key  ServicePartner.CustMgmtBusinessPartner,

       //Added for PersonWorkPlaceAddress association

       @Consumption.hidden: true
       @ObjectModel.readOnly: true
       ServicePartner.AddressID,
       @Consumption.hidden: true
       @ObjectModel.readOnly: true
       ServicePartner.AddressPersonID,

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

       ServicePartner.AddressObjectType,

       @ObjectModel.readOnly: true
       case
           when ServicePartner.AddressObjectType = '3'
            then _PersonWorkplaceAddress.PersonFullName
           else Address.AddresseeFullName
       end                                                                 as AddresseeFullName,
       Address.CityName,
       case
           when ServicePartner.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 ServicePartner.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 ServicePartner.AddressObjectType = '3'
            then _PersonWorkplaceAddress.FamilyName
           else Address.PersonFamilyName
       end                                                                 as PersonFamilyName,
       case
           when ServicePartner.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,

       //Association

       _ServiceConfirmation
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"A_SERVICECONFIRMATIONITEM",
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRCURDFLTMOBILEPHONENUMBER",
"I_ADDRESS_2",
"I_CUSTMGMTPARTNER",
"I_PERSONWORKPLACEADDRESS"
],
"ASSOCIATED":
[
"A_SERVICECONFIRMATION"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/