I_BPCUSTOMERMULTIADDRVH
Customers by Multiple Addresses
I_BPCUSTOMERMULTIADDRVH is a CDS View in S/4HANA. Customers by Multiple Addresses. It contains 33 fields. 5 CDS views read from this table.
CDS Views using this table (5)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_BPCustomerMultiAddrVH | view_entity | from | CONSUMPTION | Customers by All Addresses |
| C_ProdCmplncCustAddrVH | view | from | CONSUMPTION | PC Customer Address |
| I_EngmntProjCustomerAddress | view | from | COMPOSITE | Customer Business Partner Multi Address Details |
| I_JP_InvcSmmryPyrMultiAddrVH | view_entity | from | COMPOSITE | Payers by Multiple Addresses |
| I_JP_InvcSmmryRcpntMultiAddrVH | view_entity | from | COMPOSITE | Recipients by Multiple Addresses |
Fields (33)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | AddressID | AddressID | 3 |
| KEY | BusinessPartner | BusinessPartner | 4 |
| KEY | Customer | Customer | 4 |
| AddressSearchTerm1 | AddressSearchTerm1 | 1 | |
| AddressSearchTerm2 | AddressSearchTerm2 | 1 | |
| AddressUsage | AddressUsage | 2 | |
| AddressValidityEndDate | AddressValidityEndDate | 3 | |
| AddressValidityStartDate | AddressValidityStartDate | 3 | |
| AuthorizationGroup | AuthorizationGroup | 4 | |
| BusinessPartnerType | BusinessPartnerType | 2 | |
| BusPartAddrLayoutStdIsHidden | BusPartAddrLayoutStdIsHidden | 2 | |
| CityName | CityName | 4 | |
| Country | Country | 4 | |
| CustomerAccountGroup | CustomerAccountGroup | 4 | |
| CustomerName | CustomerName | 4 | |
| DataController1 | DataController1 | 3 | |
| DataController10 | DataController10 | 3 | |
| DataController2 | DataController2 | 3 | |
| DataController3 | DataController3 | 3 | |
| DataController4 | DataController4 | 3 | |
| DataController5 | DataController5 | 3 | |
| DataController6 | DataController6 | 3 | |
| DataController7 | DataController7 | 3 | |
| DataController8 | DataController8 | 3 | |
| DataController9 | DataController9 | 3 | |
| DataControllerSet | DataControllerSet | 3 | |
| HouseNumber | HouseNumber | 1 | |
| IsBusinessPurposeCompleted | IsBusinessPurposeCompleted | 3 | |
| OrganizationBPName1 | OrganizationBPName1 | 4 | |
| OrganizationBPName2 | OrganizationBPName2 | 4 | |
| PostalCode | PostalCode | 4 | |
| StandardUsage | StandardUsage | 4 | |
| StreetName | StreetName | 3 |
@AbapCatalog.sqlViewName: 'IMULTIADDRCUSTVH'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@VDM.viewType: #COMPOSITE
@ObjectModel.dataCategory: #VALUE_HELP
@ObjectModel.representativeKey: 'Customer'
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#VALUE_HELP_PROVIDER,
#SEARCHABLE_ENTITY]
@ObjectModel.modelingPattern:#NONE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Customers by Multiple Addresses'
@Consumption.ranked: true
define view I_BPCustomerMultiAddrVH
as select from I_BusinessPartnerCustomer
inner join I_BusPartAddress on I_BusPartAddress.BusinessPartner = I_BusinessPartnerCustomer.BusinessPartner
inner join I_Address_2 on I_Address_2.AddressID = I_BusPartAddress.AddressID
and I_Address_2.AddressRepresentationCode = ' '
inner join I_Customer on I_Customer.Customer = I_BusinessPartnerCustomer.Customer
left outer to one join I_Businesspartneraddressusage on I_Businesspartneraddressusage.BusinessPartner = I_BusPartAddress.BusinessPartner
and I_Businesspartneraddressusage.AddressNumber = I_BusPartAddress.AddressID
and I_Businesspartneraddressusage.AddressUsage = 'XXDEFAULT'
and I_Businesspartneraddressusage.ValidityStartDate <= tstmp_current_utctimestamp()
and I_Businesspartneraddressusage.ValidityEndDate >= tstmp_current_utctimestamp()
{
@EndUserText.label: 'Address Number'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
@UI.hidden: true
@Consumption.filter.hidden: true
key I_BusPartAddress.AddressID,
@EndUserText.label: 'Business Partner'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
key I_BusinessPartnerCustomer.BusinessPartner,
@ObjectModel.text.element: ['CustomerName']
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
key I_BusinessPartnerCustomer.Customer,
// @EndUserText.label: 'Country/Region'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
I_Address_2.Country,
// @EndUserText.label: 'City'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
I_Address_2.CityName,
// @EndUserText.label: 'Street'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
I_Address_2.StreetName,
// @EndUserText.label: 'House Number'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #LOW
I_Address_2.HouseNumber,
// @EndUserText.label: 'Postal Code'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
I_Address_2.PostalCode,
// @EndUserText.label: 'Standard Address'
@ObjectModel.readOnly: true
@EndUserText.quickInfo: 'Standard Address Indicator'
case when I_Businesspartneraddressusage.AddressUsage ='XXDEFAULT'
then cast('X' as boole_d)
else cast(' ' as boole_d)
end as StandardUsage,
@EndUserText.label: 'Customer Name'
@Semantics.text: true
// @Search.defaultSearchElement: true
// @Search.fuzzinessThreshold: 0.8
// @Search.ranking: #HIGH
I_Customer.CustomerName,
@EndUserText.label: 'Customer Name'
@Semantics.text: true
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.BPCustomerName,
@UI.hidden: true
@Consumption.filter.hidden: true
I_BusinessPartnerCustomer.CustomerAccountGroup,
@UI.hidden: true
@Consumption.filter.hidden: true
I_BusinessPartnerCustomer.AuthorizationGroup,
@UI.hidden: true
@Consumption.filter.hidden: true
// @EndUserText.label: 'Purpose Complete Flag'
@Semantics.booleanIndicator: true
I_BusinessPartnerCustomer.IsBusinessPurposeCompleted,
// @EndUserText.label: 'Business Partner Type'
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer._CustomerToBusinessPartner._BusinessPartner.BusinessPartnerType,
// @EndUserText.label: 'Valid From'
tstmp_to_dats(I_BusPartAddress.ValidityStartDate,'UTC', $session.client, 'NULL') as AddressValidityStartDate,
// @EndUserText.label: 'Valid To'
tstmp_to_dats(I_BusPartAddress.ValidityEndDate,'UTC', $session.client, 'NULL') as AddressValidityEndDate,
// valid_on, todo
@UI.hidden: true
@Consumption.filter.hidden: true
I_Businesspartneraddressusage.AddressUsage,
@EndUserText.label: 'Name 1'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
I_Customer.OrganizationBPName1,
@EndUserText.label: 'Name 1'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #LOW
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.BusinessPartnerName1,
@EndUserText.label: 'Name 2'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
//@Search.ranking: #HIGH
@Search.ranking: #LOW
I_Customer.OrganizationBPName2,
@EndUserText.label: 'Name 2'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #LOW
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.BusinessPartnerName2,
@EndUserText.label: 'Search Term 1'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #LOW
I_Address_2.AddressSearchTerm1,
// I_Customer._CustomerToBusinessPartner._BusinessPartner.SearchTerm1,
@EndUserText.label: 'Search Term 2'
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #LOW
I_Address_2.AddressSearchTerm2,
// I_Customer._CustomerToBusinessPartner._BusinessPartner.SearchTerm2,
@UI.hidden: true
@Consumption.filter.hidden: true
cast(' ' as abap_boolean preserving type) as BusPartAddrLayoutStdIsHidden,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataControllerSet,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController1,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController2,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController3,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController4,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController5,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController6,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController7,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController8,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController9,
@UI.hidden: true
@Consumption.filter.hidden: true
I_Customer.DataController10
}