I_BPCUSTOMERMULTIADDRVH

CDS View

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)

ViewTypeJoinVDMDescription
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)

KeyField CDS FieldsUsed 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
      

      
      





}