P_SlsOrdReqBPPersAddr
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)
| Source | Alias | Join Type |
|---|---|---|
| I_BusinessPartnerCustomer | _BPCustomer | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA