C_SoldToMultipleAddressVH

DDL: C_SOLDTOMULTIPLEADDRESSVH Type: view_entity CONSUMPTION Package: ODATA_SD_S4H_COMMON

Sold to Party by All Addresses

C_SoldToMultipleAddressVH is a Consumption CDS View that provides data about "Sold to Party by All Addresses" in SAP S/4HANA. It reads from 1 data source (C_Q2CCustomerMultiAddrVH) and exposes 30 fields with key fields AddressID, BusinessPartner, SoldToParty. Part of development package ODATA_SD_S4H_COMMON.

Data Sources (1)

SourceAliasJoin Type
C_Q2CCustomerMultiAddrVH SoldToMultiAddrVH from

Annotations (15)

NameValueLevelField
VDM.viewType #CONSUMPTION view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.representativeKey SoldToParty view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
Consumption.ranked true view
Consumption.filter.businessDate.at true view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Sold to Party by All Addresses view
Feature SW:Q2C_MULTIPLE_BP_ADDRESSES3, SW:Q2C_MULTIPLE_BP_ADDRESSES2 view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY AddressID C_Q2CCustomerMultiAddrVH AddressID
KEY BusinessPartner C_Q2CCustomerMultiAddrVH BusinessPartner
KEY SoldToParty C_Q2CCustomerMultiAddrVH Customer
CustomerName C_Q2CCustomerMultiAddrVH CustomerName Customer Name
StandardUsage Standard Address
Country C_Q2CCustomerMultiAddrVH Country
CityName C_Q2CCustomerMultiAddrVH CityName
StreetName C_Q2CCustomerMultiAddrVH StreetName
HouseNumber C_Q2CCustomerMultiAddrVH HouseNumber
PostalCode C_Q2CCustomerMultiAddrVH PostalCode
AddressValidityStartDate C_Q2CCustomerMultiAddrVH AddressValidityStartDate Valid From
AddressValidityEndDate C_Q2CCustomerMultiAddrVH AddressValidityEndDate Valid To
OrganizationBPName1 C_Q2CCustomerMultiAddrVH OrganizationBPName1
OrganizationBPName2 C_Q2CCustomerMultiAddrVH OrganizationBPName2
AddressSearchTerm1 C_Q2CCustomerMultiAddrVH AddressSearchTerm1
AddressSearchTerm2 C_Q2CCustomerMultiAddrVH AddressSearchTerm2
CustomerAccountGroup C_Q2CCustomerMultiAddrVH CustomerAccountGroup
AuthorizationGroup C_Q2CCustomerMultiAddrVH AuthorizationGroup
IsBusinessPurposeCompleted C_Q2CCustomerMultiAddrVH IsBusinessPurposeCompleted
DataControllerSet C_Q2CCustomerMultiAddrVH DataControllerSet
DataController1 C_Q2CCustomerMultiAddrVH DataController1
DataController2 C_Q2CCustomerMultiAddrVH DataController2
DataController3 C_Q2CCustomerMultiAddrVH DataController3
DataController4 C_Q2CCustomerMultiAddrVH DataController4
DataController5 C_Q2CCustomerMultiAddrVH DataController5
DataController6 C_Q2CCustomerMultiAddrVH DataController6
DataController7 C_Q2CCustomerMultiAddrVH DataController7
DataController8 C_Q2CCustomerMultiAddrVH DataController8
DataController9 C_Q2CCustomerMultiAddrVH DataController9
DataController10 C_Q2CCustomerMultiAddrVH DataController10
@VDM.viewType: #CONSUMPTION

@ObjectModel:{
  dataCategory: #VALUE_HELP,
  representativeKey: 'SoldToParty',
  supportedCapabilities: [#VALUE_HELP_PROVIDER],
  modelingPattern:#NONE,
  usageType:{
    serviceQuality: #C,
    sizeCategory: #XL,
    dataClass: #MASTER
  }
}

@AccessControl:{
  authorizationCheck: #MANDATORY,
  personalData.blocking: #REQUIRED
}

@Consumption:{
  ranked: true,
  dbHints: [ 'USE_HEX_PLAN' ],
  filter.businessDate.at: true
}

@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Sold to Party by All Addresses'
@Feature: 'SW:Q2C_MULTIPLE_BP_ADDRESSES3, SW:Q2C_MULTIPLE_BP_ADDRESSES2'

define view entity C_SoldToMultipleAddressVH
  as select from           C_Q2CCustomerMultiAddrVH      as SoldToMultiAddrVH
    left outer to one join P_CustWithPrtnFuncSoldToParty as CustomerWithRoleSoldToParty on SoldToMultiAddrVH.Customer = CustomerWithRoleSoldToParty.Customer
{
      @UI.hidden: true
      @Consumption.filter.hidden: true
      @Consumption.valueHelpDefault.binding.usage:#RESULT
  key SoldToMultiAddrVH.AddressID,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #LOW
      @UI.lineItem: [{ position:80, importance: #LOW }]
      @UI.selectionField: [{ position: 80 }]
  key SoldToMultiAddrVH.BusinessPartner,

      @ObjectModel.text.element: ['CustomerName']
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      @UI: {
       lineItem: [{ position: 10, importance: #HIGH }],
       selectionField: [{ position: 10 }] }
      @Consumption.valueHelpDefault.binding.usage:#FILTER_AND_RESULT
  key SoldToMultiAddrVH.Customer                                                       as SoldToParty,

      @UI: {
       lineItem: [{ position: 20, importance: #HIGH }] }
      @EndUserText.label: 'Customer Name'
      @Semantics.text: true
      SoldToMultiAddrVH.CustomerName,

      @EndUserText.label: 'Standard Address'
      @EndUserText.quickInfo: 'Standard Address Indicator'
      @UI.lineItem: [{ position:30, importance:#LOW }]
      @UI.selectionField: [{ position: 20 }]
      cast( coalesce(SoldToMultiAddrVH.StandardUsage, '') as boole_d preserving type ) as StandardUsage,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #LOW
      @UI.lineItem: [{ position:40, importance:#LOW }]
      @UI.selectionField: [{ position: 30 }]
      SoldToMultiAddrVH.Country,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #LOW
      @UI.lineItem: [{ position:50, importance:#HIGH}]
      @UI.selectionField: [{ position: 40 }]
      SoldToMultiAddrVH.CityName,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #LOW
      @UI.lineItem: [{ position:60, importance:#HIGH}]
      @UI.selectionField: [{ position: 50 }]
      SoldToMultiAddrVH.StreetName,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #LOW
      @UI.lineItem: [{ position:70, importance:#LOW }]
      @UI.selectionField: [{ position: 60 }]
      SoldToMultiAddrVH.HouseNumber,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #LOW
      @UI.lineItem: [{ position:80, importance:#HIGH}]
      @UI.selectionField: [{ position: 70 }]
      SoldToMultiAddrVH.PostalCode,

      @EndUserText.label: 'Valid From'
      @Search: {
       defaultSearchElement:false,
       ranking: #LOW }
      @Semantics.businessDate.from: true
      SoldToMultiAddrVH.AddressValidityStartDate,

      @Search: {
       defaultSearchElement:false,
       ranking: #LOW }
      @EndUserText.label: 'Valid To'
      @Semantics.businessDate.to: true
      SoldToMultiAddrVH.AddressValidityEndDate,

      @UI.hidden: true
      @Search: {
       defaultSearchElement: true,
       ranking: #LOW,
       fuzzinessThreshold: 0.8 }
      SoldToMultiAddrVH.OrganizationBPName1,

      @UI.hidden: true
      @Search: {
       defaultSearchElement: true,
       ranking: #LOW,
       fuzzinessThreshold: 0.8 }
      SoldToMultiAddrVH.OrganizationBPName2,
      
      @UI.lineItem: [{ position:90, importance:#LOW }]
      @Search: {
       defaultSearchElement: true,
       ranking: #LOW,
       fuzzinessThreshold: 0.8 }
      SoldToMultiAddrVH.AddressSearchTerm1,
      
      @UI.lineItem: [{ position:100, importance:#LOW }]
      @Search: {
       defaultSearchElement: true,
       ranking: #LOW,
       fuzzinessThreshold: 0.8 }
      SoldToMultiAddrVH.AddressSearchTerm2,

      @Consumption.hidden: true
      @UI.hidden: true
      SoldToMultiAddrVH.CustomerAccountGroup,
      @Consumption.hidden: true
      @UI.hidden: true
      SoldToMultiAddrVH.AuthorizationGroup,
      @Consumption.hidden: true
      @UI.hidden: true
      @Semantics.booleanIndicator: true
      SoldToMultiAddrVH.IsBusinessPurposeCompleted,
      
      //Added for DPP Data Controller

      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataControllerSet,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController1,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController2,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController3,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController4,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController5,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController6,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController7,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController8,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController9,
      @Consumption.hidden:true
      @UI.hidden: true
      SoldToMultiAddrVH.DataController10
}
where
  CustomerWithRoleSoldToParty.Customer is not null