P_SlsOrdReqBPPersAddr

DDL: P_SLSORDREQBPPERSADDR SQL: PSLSORDREQBPPERS Type: view_entity COMPOSITE

Person and Address Info

P_SlsOrdReqBPPersAddr is a Composite CDS View that provides data about "Person and Address Info" in SAP S/4HANA. It reads from 1 data source (I_BusinessPartnerCustomer) and exposes 48 fields with key field BPAddressID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_BusinessPartnerCustomer _BPCustomer from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_CountryText _CountryText _CountryText.Country = $projection.Country
[0..1] I_RegionText _RegionText _RegionText.Country = $projection.Country and _RegionText.Region = $projection.Region

Annotations (8)

NameValueLevelField
EndUserText.label Person and Address Info view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
VDM.private true view
AccessControl.personalData.blocking #REQUIRED view
AccessControl.authorizationCheck #MANDATORY view

Fields (48)

KeyFieldSource TableSource FieldDescription
KEY BPAddressID _BPAddress AddressNumber
Customer I_BusinessPartnerCustomer Customer
BusinessPartner I_BusinessPartnerCustomer BusinessPartner
AddressID I_BusinessPartnerCustomer AddressID
AddressPersonID _PersonAddress AddressPersonID
CityName _PersonAddress CityName
Country _PersonAddress Country
CountryName
DistrictName _PersonAddress DistrictName
Region _PersonAddress Region
RegionName
Street _PersonAddress Street
StreetName _PersonAddress StreetName
VillageName _PersonAddress VillageName
GivenName _PersonAddress GivenName
FamilyName _PersonAddress FamilyName
PersonFullName _PersonAddress PersonFullName
PersonBirthName _PersonAddress PersonBirthName
PersonMiddleName _PersonAddress PersonMiddleName
SecondFamilyName _PersonAddress SecondFamilyName
HouseNumber _PersonAddress HouseNumber
RoomNumber _PersonAddress RoomNumber
PostalCode _PersonAddress PostalCode
CompanyPostalCode _PersonAddress CompanyPostalCode
EmailAddress1
EmailAddress2
FaxNumber1
FaxNumber2
TelePhoneNumber1
TelePhoneNumber2
TelePhoneNumber3
cusIsBusinessPurposeCompleted I_BusinessPartnerCustomer IsBusinessPurposeCompleted
CustomerAccountGroup I_BusinessPartnerCustomer CustomerAccountGroup
cusAuthorizationGroup I_BusinessPartnerCustomer AuthorizationGroup
DataControllerSet I_BusinessPartnerCustomer DataControllerSet
DataController1 I_BusinessPartnerCustomer DataController1
DataController2 I_BusinessPartnerCustomer DataController2
DataController3 I_BusinessPartnerCustomer DataController3
DataController4 I_BusinessPartnerCustomer DataController4
DataController5 I_BusinessPartnerCustomer DataController5
DataController6 I_BusinessPartnerCustomer DataController6
DataController7 I_BusinessPartnerCustomer DataController7
DataController8 I_BusinessPartnerCustomer DataController8
DataController9 I_BusinessPartnerCustomer DataController9
DataController10 I_BusinessPartnerCustomer DataController10
BPAuthorizationGroup
BPIsBusinessPurposeCompleted
_CustomerToBusinessPartner I_BusinessPartnerCustomer _CustomerToBusinessPartner
//@AbapCatalog.sqlViewName: 'PSLSORDREQBPPERS'

//@ClientHandling.algorithm: #SESSION_VARIABLE

//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@EndUserText.label: 'Person and Address Info'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@VDM.private: true
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.authorizationCheck: #MANDATORY

define view entity P_SlsOrdReqBPPersAddr as select from I_BusinessPartnerCustomer as _BPCustomer
  inner to many join I_BusinessPartnerAddress as _BPAddress  on _BPCustomer.BusinessPartner = _BPAddress.BusinessPartner
  inner to one  join I_PersonAddress as _PersonAddress on _PersonAddress .AddressID = _BPAddress.AddressNumber
  inner to one  join I_Businesspartneraddressusage as _addressusage on _addressusage.BusinessPartner = _BPAddress.BusinessPartner and _addressusage.StandardUsage is initial
  left outer to one join I_BPAddrTypeAssignment as _Assignment on _Assignment.AddressType = _addressusage.AddressUsage
  left outer to one join I_BPAddressDetermination as _Determination on _Determination.BPAddrDeterminationTransaction = _Assignment.BPAddrDeterminationTransaction
  association [0..1] to I_CountryText            as _CountryText   on _CountryText.Country = $projection.Country
  association [0..1] to I_RegionText             as _RegionText    on _RegionText.Country = $projection.Country
                                                                     and _RegionText.Region = $projection.Region
{
  key _BPAddress.AddressNumber                                             as BPAddressID,
      _BPCustomer.Customer                                                 as Customer,
      _BPCustomer.BusinessPartner                                          as BusinessPartner,
      _BPCustomer.AddressID                                                as AddressID,
      _PersonAddress.AddressPersonID,
  
  //Country,Reguon,City,Street...

  _PersonAddress.CityName,
  _PersonAddress.Country,
  _CountryText[1: Language = $session.system_language].CountryName,
  _PersonAddress.DistrictName,
  _PersonAddress.Region,
  _RegionText[1: Language = $session.system_language].RegionName,
  _PersonAddress.Street,
  _PersonAddress.StreetName,
  _PersonAddress.VillageName,
  
  //Person Address

  _PersonAddress.GivenName,
  _PersonAddress.FamilyName,
  _PersonAddress.PersonFullName,
  _PersonAddress.PersonBirthName,
  _PersonAddress.PersonMiddleName,
  _PersonAddress.SecondFamilyName,
  
  //Code

  _PersonAddress.HouseNumber,
  _PersonAddress.RoomNumber,
  _PersonAddress.PostalCode,
  _PersonAddress.CompanyPostalCode,
  
  //Contact Info

  _PersonAddress._EmailAddress.EmailAddress                                  as EmailAddress1,
  _PersonAddress._CurrentDfltEmailAddress.EmailAddress                       as EmailAddress2,
  _PersonAddress._FaxNumber.FaxAreaCodeSubscriberNumber                      as FaxNumber1,
  _PersonAddress._CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber           as FaxNumber2,
  _PersonAddress._PhoneNumber.PhoneAreaCodeSubscriberNumber                  as TelePhoneNumber1,
  _PersonAddress._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber as TelePhoneNumber2,
  _PersonAddress._CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber as TelePhoneNumber3,
  
  //DCL Fields

  _BPCustomer.IsBusinessPurposeCompleted                                  as cusIsBusinessPurposeCompleted,
  _BPCustomer.CustomerAccountGroup                                        as CustomerAccountGroup,
  _BPCustomer.AuthorizationGroup                                          as cusAuthorizationGroup,
  _BPCustomer.DataControllerSet                                           as DataControllerSet,
  _BPCustomer.DataController1                                             as DataController1,
  _BPCustomer.DataController2                                             as DataController2,
  _BPCustomer.DataController3                                             as DataController3,
  _BPCustomer.DataController4                                             as DataController4,
  _BPCustomer.DataController5                                             as DataController5,
  _BPCustomer.DataController6                                             as DataController6,
  _BPCustomer.DataController7                                             as DataController7,
  _BPCustomer.DataController8                                             as DataController8,
  _BPCustomer.DataController9                                             as DataController9,
  _BPCustomer.DataController10                                            as DataController10,
  _BPAddress._BusinessPartner.AuthorizationGroup                          as BPAuthorizationGroup,
  _BPAddress._BusinessPartner.IsBusinessPurposeCompleted                  as BPIsBusinessPurposeCompleted,
  _BPCustomer._CustomerToBusinessPartner
}
where ( _BPCustomer.Customer is not initial or _BPCustomer.BusinessPartner is not initial ) and _Determination.DataIsProtected is initial
  and _BPCustomer.DeletionIndicator <> 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRCURDFLTMOBILEPHONENUMBER",
"I_ADDRESSEMAILADDRESS_2",
"I_ADDRESSFAXNUMBER_2",
"I_ADDRESSPHONENUMBER_2",
"I_BPADDRESSDETERMINATION",
"I_BPADDRTYPEASSIGNMENT",
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNERADDRESS",
"I_BUSINESSPARTNERADDRESSUSAGE",
"I_BUSINESSPARTNERCUSTOMER",
"I_COUNTRYTEXT",
"I_PERSONADDRESS",
"I_REGIONTEXT"
],
"ASSOCIATED":
[
"I_CUSTOMER_TO_BUSINESSPARTNER"
],
"BASE":
[
"I_BUSINESSPARTNERCUSTOMER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/