C_BusinessPartnerCustomer

DDL: C_BUSINESSPARTNERCUSTOMER SQL: CBUPACUSTOMER Type: view CONSUMPTION Package: VDM_MD_BP

Business Partner

C_BusinessPartnerCustomer is a Consumption CDS View that provides data about "Business Partner" in SAP S/4HANA. It reads from 1 data source (I_BusinessPartnerTP) and exposes 129 fields with key field BusinessPartner. It has 38 associations to related views. Part of development package VDM_MD_BP.

Data Sources (1)

SourceAliasJoin Type
I_BusinessPartnerTP BusinessPartner from

Associations (38)

CardinalityTargetAliasCondition
[1..1] C_BusinessPartnerCust _BusinessPartnerCustomer $projection.BusinessPartner = _BusinessPartnerCustomer.BusinessPartner
[1..*] C_BusinessPartnerAddress _BusinessPartnerAddress $projection.BusinessPartner = _BusinessPartnerAddress.BusinessPartner
[1..*] C_BusinessPartnerBank _BusinessPartnerBank $projection.BusinessPartner = _BusinessPartnerBank.BusinessPartner
[1..*] C_Businesspartnertaxnumber _BusinessPartnerTaxNumber $projection.BusinessPartner = _BusinessPartnerTaxNumber.BusinessPartner
[1..*] C_BusinessPartnerContact _BusinessPartnerContact $projection.BusinessPartner = _BusinessPartnerContact.BusinessPartner
[1..*] C_BusinessPartnerCustCo _BusinessPartnerCustomerCo $projection.BusinessPartner = _BusinessPartnerCustomerCo.BusinessPartner
[1..*] C_BusinessPartnerSalesArea _BusinessPartnerSalesArea $projection.BusinessPartner = _BusinessPartnerSalesArea.BusinessPartner
[1..*] C_BusinessPartnerCustomerRole _BusinessPartnerRole $projection.BusinessPartner = _BusinessPartnerRole.BusinessPartner
[0..1] C_BusinessPartnerAddress _BusinessPartnerAddrFilter $projection.BusinessPartner = _BusinessPartnerAddrFilter.BusinessPartner and _BusinessPartnerAddrFilter.StandardUsage = 'X'
[1..*] C_PaymentCard _PaymentCard $projection.BusinessPartner = _PaymentCard.BusinessPartner
[1..*] C_BuPaIdentification _BPIdentificationNumbers $projection.BusinessPartner = _BPIdentificationNumbers.BusinessPartner
[1..*] C_BuPaIndustry _BPIndustry $projection.BusinessPartner = _BPIndustry.BusinessPartner
[0..*] C_BPCustomerTaxGrouping _BPCustomerTaxGrouping $projection.BusinessPartner = _BPCustomerTaxGrouping.BusinessPartner
[1..*] C_BPUnloadingPoint _BusinessPartnerUnloadingPoint $projection.BusinessPartner = _BusinessPartnerUnloadingPoint.BusinessPartner
[1..*] C_BPSiteReceivingPoint _BPCustReceivingPoint $projection.BusinessPartner = _BPCustReceivingPoint.BusinessPartner
[1..*] C_BPCustRcvgPtAddrDepdntInfo _BPCustRcvgPtAddrDepdntInfo $projection.BusinessPartner = _BPCustRcvgPtAddrDepdntInfo.BusinessPartner
[1..*] C_CustomerDepartment _CustomerDepartment $projection.BusinessPartner = _CustomerDepartment.BusinessPartner
[0..*] C_BPCustDepartmentAddrDepdnt _BPCustDepartmentAddrDepdnt $projection.BusinessPartner = _BPCustDepartmentAddrDepdnt.BusinessPartner
[1..*] C_BPAdditionalCustomer _BPAdditionalCustomer $projection.BusinessPartner = _BPAdditionalCustomer.BusinessPartner
[0..*] C_BusinessPartnerCustomerTxt _BusinessPartnerCustomerTxt $projection.BusinessPartner = _BusinessPartnerCustomerTxt.BusinessPartner
[0..*] C_BPGroupingTextVhTemp _BPGroupingText $projection.BusinessPartnerGrouping = _BPGroupingText.BusinessPartnerGrouping
[0..*] C_BPCatHelpTextVhTemp _BPCatHelpText $projection.BusinessPartnerCategory = _BPCatHelpText.BusinessPartnerCategory
[0..*] C_LegalFormTextVHTemp _LegalFormText $projection.LegalForm = _LegalFormText.LegalForm
[0..1] I_BPGenderValueHelp _GenderValueHelp $projection.GenderCodeName = _GenderValueHelp.GenderCodeName
[0..*] I_BPGenderValueHelpText _BPGenderText $projection.GenderCodeName = _BPGenderText.GenderCodeName
[1..*] I_BusPartAuthorizationGroupTxt _AuthorizationGrpText $projection.AuthorizationGroup = _AuthorizationGrpText.AuthorizationGroup and _AuthorizationGrpText.AuthorizationObject = 'BUPA'
[0..*] C_FormOfAddressTextVHTemp _FormOfAddressPersonText $projection.FormOfAddressPerson = _FormOfAddressPersonText.FormOfAddress
[0..*] C_FormOfAddressTextVHTemp _FormOfAddressOrgText $projection.FormOfAddressOrganization = _FormOfAddressOrgText.FormOfAddress
[0..1] I_Globalcompany _TradingPartnerValueHelp $projection.TradingPartner = _TradingPartnerValueHelp.Company
[0..*] I_BusinessPartnerCustomerVH _BusinessPartnerCustomerVH $projection.BusinessPartner = _BusinessPartnerCustomerVH.BusinessPartner
[1..*] I_BusinessPartnerCustSuplrVH _BusinessPartnerCustSuplrVH $projection.BusinessPartner = _BusinessPartnerCustSuplrVH.BusinessPartner
[0..*] C_BPCustAddrDepdntInformation _BPCustAddressDependentInfo $projection.BusinessPartner = _BPCustAddressDependentInfo.BusinessPartner
[0..*] C_BPCustUnldgPtAddrDepdntInfo _BPCustUnldgPtAddrDepdnt $projection.BusinessPartner = _BPCustUnldgPtAddrDepdnt.BusinessPartner
[0..*] C_BusPartAddrDepdntTaxNmbr _BusinessPartnerTaxNumberAdr $projection.BusinessPartner = _BusinessPartnerTaxNumberAdr.BusinessPartner
[0..*] C_CustAddrDepdntExtIdentifier _CustAddrDepdntExtIdentifier $projection.BusinessPartner = _CustAddrDepdntExtIdentifier.BusinessPartner
[0..*] C_BPAddrDepdntIntlLocNumber _BusinessPartnerAddrDepILN $projection.BusinessPartner = _BusinessPartnerAddrDepILN.BusinessPartner
[0..*] I_BusinessPartnerTypeText _BusinessPartnerTypeText $projection.BusinessPartnerType = _BusinessPartnerTypeText.BusinessPartnerType
[0..*] C_BPDataController _BPDataController $projection.BusinessPartner = _BPDataController.BusinessPartner

Annotations (25)

NameValueLevelField
AbapCatalog.sqlViewName CBUPACUSTOMER view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Business Partner view
Metadata.allowExtensions true view
ObjectModel.transactionalProcessingDelegated true view
ObjectModel.writeEnabled true view
ObjectModel.compositionRoot true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.representativeKey BusinessPartner view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.draftEnabled true view
Search.searchable true view
UI.headerInfo.typeName Customer view
UI.headerInfo.typeNamePlural Customers view
UI.headerInfo.imageUrl BusinessPartnerImageURL view
UI.headerInfo.title.value BusinessPartnerName view
UI.headerInfo.description.value BusinessPartnerForEdit view
ObjectModel.text.control #ASSOCIATED_TEXT_UI_HIDDEN view
VDM.viewType #CONSUMPTION view

Fields (129)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner I_BusinessPartnerTP BusinessPartner
FullName I_BusinessPartnerTP FullName
BusinessPartnerGrouping I_BusinessPartnerTP BusinessPartnerGrouping
BusinessPartnerType I_BusinessPartnerTP BusinessPartnerType
BusinessPartnerForEdit I_BusinessPartnerTP BusinessPartnerForEdit
OrganizationFoundationDate I_BusinessPartnerTP OrganizationFoundationDate Date Founded
OrganizationLiquidationDate I_BusinessPartnerTP OrganizationLiquidationDate Liquidation Date
BusinessPartnerCategory I_BusinessPartnerTP BusinessPartnerCategory
FormOfAddressPerson I_BusinessPartnerTP FormOfAddressPerson
FormOfAddressOrganization I_BusinessPartnerTP FormOfAddressOrganization
FirstName I_BusinessPartnerTP FirstName
LastName I_BusinessPartnerTP LastName
Name I_BusinessPartnerTP Name
AdditionalName I_BusinessPartnerTP AdditionalName
OrganizationBPName1 I_BusinessPartnerTP OrganizationBPName1
OrganizationBPName2 I_BusinessPartnerTP OrganizationBPName2
OrganizationBPName3 I_BusinessPartnerTP OrganizationBPName3
OrganizationBPName4 I_BusinessPartnerTP OrganizationBPName4
LegalForm I_BusinessPartnerTP LegalForm Legal Form
Industry I_BusinessPartnerTP Industry
GenderCodeName I_BusinessPartnerTP GenderCodeName
AcademicTitle I_BusinessPartnerTP AcademicTitle Academic Title
BirthDate I_BusinessPartnerTP BirthDate
BusinessPartnerBirthplaceName I_BusinessPartnerTP BusinessPartnerBirthplaceName
Role
CityName
StreetName
CountryName
CompanyCode
SalesArea
DistributionChannel
Division
PostalCode
IndustrySector
HouseNumber
Region
Customer
BPLastNameSearchHelp I_BusinessPartnerTP BPLastNameSearchHelp
BPFirstNameSearchHelp I_BusinessPartnerTP BPFirstNameSearchHelp
DataControllerName
BPTaxNumber
BusinessPartnerUUID I_BusinessPartnerTP BusinessPartnerUUID
CreatedByUser I_BusinessPartnerTP CreatedByUser
CreationTime I_BusinessPartnerTP CreationTime
LastChangedByUser I_BusinessPartnerTP LastChangedByUser
LastChangeDate I_BusinessPartnerTP LastChangeDate
LastChangeTime I_BusinessPartnerTP LastChangeTime
CreationDate I_BusinessPartnerTP CreationDate
LastChangedByUserName _LastChangedByUser UserDescription
CreatedByUserName _CreatedByUser UserDescription
SearchTerm1 I_BusinessPartnerTP SearchTerm1
SearchTerm2 I_BusinessPartnerTP SearchTerm2
BusinessPartnerIsBlocked I_BusinessPartnerTP BusinessPartnerIsBlocked
IsNaturalPerson I_BusinessPartnerTP IsNaturalPerson
AuthorizationGroup I_BusinessPartnerTP AuthorizationGroup
IsBusinessPurposeCompleted I_BusinessPartnerTP IsBusinessPurposeCompleted
BusinessPartnerName I_BusinessPartnerTP BusinessPartnerName
TradingPartner I_BusinessPartnerTP TradingPartner
BusinessPartnerIDByExtSystem I_BusinessPartnerTP BusinessPartnerIDByExtSystem
IsMarkedForArchiving I_BusinessPartnerTP IsMarkedForArchiving
InternationalLocationNoPart1 I_BusinessPartnerTP InternationalLocationNoPart1
InternationalLocationNoPart2 I_BusinessPartnerTP InternationalLocationNoPart2
InternationalLocationNoPart3 I_BusinessPartnerTP InternationalLocationNoPart3 Check Digit
BPCustMultiAddrIsActive
BPTaxNmbrMultiAddrIsActive
BPIntlLocNmbrMultiAddrIsActive
IsMultipleAccountAssignment
BPIsMltplAddrDepdntDataPresent
BusinessPartnerImageURL
BusinessPartnerBusinessPurpose
AddressCityName _BusinessPartnerAddrFilter CityName
Country _BusinessPartnerAddrFilter Country
AddressHouseNumber _BusinessPartnerAddrFilter HouseNumber
AddressRegion _BusinessPartnerAddrFilter Region
AddressStreetName _BusinessPartnerAddrFilter StreetName
AddressPostalCode _BusinessPartnerAddrFilter PostalCode
DataControllerSet I_BusinessPartnerTP DataControllerSet
DataController1 I_BusinessPartnerTP DataController1
DataController2 I_BusinessPartnerTP DataController2
DataController3 I_BusinessPartnerTP DataController3
DataController4 I_BusinessPartnerTP DataController4
DataController5 I_BusinessPartnerTP DataController5
DataController6 I_BusinessPartnerTP DataController6
DataController7 I_BusinessPartnerTP DataController7
DataController8 I_BusinessPartnerTP DataController8
DataController9 I_BusinessPartnerTP DataController9
DataController10 I_BusinessPartnerTP DataController10
BPDataControllerIsNotRequired I_BusinessPartnerTP BPDataControllerIsNotRequired
_BusinessPartnerCustomer _BusinessPartnerCustomer
_BusinessPartnerAddress _BusinessPartnerAddress
_PaymentCard _PaymentCard
_BusinessPartnerBank _BusinessPartnerBank
_BusinessPartnerTaxNumber _BusinessPartnerTaxNumber
_BusinessPartnerContact _BusinessPartnerContact
_BusinessPartnerCustomerCo _BusinessPartnerCustomerCo
_BusinessPartnerSalesArea _BusinessPartnerSalesArea
_BusinessPartnerRole _BusinessPartnerRole
_BPIdentificationNumbers _BPIdentificationNumbers
_BPIndustry _BPIndustry
_BusinessPartnerUnloadingPoint _BusinessPartnerUnloadingPoint
_BPCustReceivingPoint _BPCustReceivingPoint
_BPCustRcvgPtAddrDepdntInfo _BPCustRcvgPtAddrDepdntInfo
_CustomerDepartment _CustomerDepartment
_BPCustDepartmentAddrDepdnt _BPCustDepartmentAddrDepdnt
_BPAdditionalCustomer _BPAdditionalCustomer
_BusinessPartnerCustomerTxt _BusinessPartnerCustomerTxt
_AcademicTitleValueHelp _AcademicTitleValueHelp
_AcademicTitleText _AcademicTitleText
_BusinessPartnerAddrFilter _BusinessPartnerAddrFilter
_BPGroupingText _BPGroupingText
_BPCatHelpText _BPCatHelpText
_LegalFormText _LegalFormText
_BPGenderText _BPGenderText
_GenderValueHelp _GenderValueHelp
_AuthorizationGrpText _AuthorizationGrpText
_FormOfAddressPersonText _FormOfAddressPersonText
_FormOfAddressOrgText _FormOfAddressOrgText
_TradingPartnerValueHelp _TradingPartnerValueHelp
_BPCustomerTaxGrouping _BPCustomerTaxGrouping
BPHasEmployeeRoles BPHasEmployeeRoles
_BusinessPartnerCustomerVH _BusinessPartnerCustomerVH
_BusinessPartnerCustSuplrVH _BusinessPartnerCustSuplrVH
_BPCustAddressDependentInfo _BPCustAddressDependentInfo
_BPCustUnldgPtAddrDepdnt _BPCustUnldgPtAddrDepdnt
_BusinessPartnerTaxNumberAdr _BusinessPartnerTaxNumberAdr
_CustAddrDepdntExtIdentifier _CustAddrDepdntExtIdentifier
_BusinessPartnerAddrDepILN _BusinessPartnerAddrDepILN
_BusinessPartnerTypeText _BusinessPartnerTypeText
_BPDataController _BPDataController
@AbapCatalog.sqlViewName: 'CBUPACUSTOMER'
@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Business Partner'

@Metadata.allowExtensions: true

@ObjectModel.transactionalProcessingDelegated: true
@ObjectModel.writeEnabled: true
@ObjectModel.compositionRoot: true /* VDM check */
@ObjectModel: {
    semanticKey: ['BusinessPartnerForEdit'],
    createEnabled: true,
    updateEnabled: true,
    deleteEnabled: true       //Cancel button was throwing execption

}
@ObjectModel.representativeKey: 'BusinessPartner'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.draftEnabled: true

@Search.searchable: true

@UI.headerInfo:{
  typeName: 'Customer',
  typeNamePlural: 'Customers',
  imageUrl: 'BusinessPartnerImageURL',
  title:  {  value: 'BusinessPartnerName'},
  description: { value: 'BusinessPartnerForEdit' }
}
@ObjectModel.text.control: #ASSOCIATED_TEXT_UI_HIDDEN
@VDM.viewType: #CONSUMPTION
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view C_BusinessPartnerCustomer
  as select from I_BusinessPartnerTP as BusinessPartner
  association [1..1] to C_BusinessPartnerCust          as _BusinessPartnerCustomer       on  $projection.BusinessPartner = _BusinessPartnerCustomer.BusinessPartner
  association [1..*] to C_BusinessPartnerAddress       as _BusinessPartnerAddress        on  $projection.BusinessPartner = _BusinessPartnerAddress.BusinessPartner
  association [1..*] to C_BusinessPartnerBank          as _BusinessPartnerBank           on  $projection.BusinessPartner = _BusinessPartnerBank.BusinessPartner
  association [1..*] to C_Businesspartnertaxnumber     as _BusinessPartnerTaxNumber      on  $projection.BusinessPartner = _BusinessPartnerTaxNumber.BusinessPartner
  association [1..*] to C_BusinessPartnerContact       as _BusinessPartnerContact        on  $projection.BusinessPartner = _BusinessPartnerContact.BusinessPartner
  association [1..*] to C_BusinessPartnerCustCo        as _BusinessPartnerCustomerCo     on  $projection.BusinessPartner = _BusinessPartnerCustomerCo.BusinessPartner
  association [1..*] to C_BusinessPartnerSalesArea     as _BusinessPartnerSalesArea      on  $projection.BusinessPartner = _BusinessPartnerSalesArea.BusinessPartner
  association [1..*] to C_BusinessPartnerCustomerRole  as _BusinessPartnerRole           on  $projection.BusinessPartner = _BusinessPartnerRole.BusinessPartner
  association [0..1] to C_BusinessPartnerAddress       as _BusinessPartnerAddrFilter     on  $projection.BusinessPartner              = _BusinessPartnerAddrFilter.BusinessPartner
                                                                                         and _BusinessPartnerAddrFilter.StandardUsage = 'X'
  association [1..*] to C_PaymentCard                  as _PaymentCard                   on  $projection.BusinessPartner = _PaymentCard.BusinessPartner
  association [1..*] to C_BuPaIdentification           as _BPIdentificationNumbers       on  $projection.BusinessPartner = _BPIdentificationNumbers.BusinessPartner
  association [1..*] to C_BuPaIndustry                 as _BPIndustry                    on  $projection.BusinessPartner = _BPIndustry.BusinessPartner
  association [0..*] to C_BPCustomerTaxGrouping        as _BPCustomerTaxGrouping         on  $projection.BusinessPartner = _BPCustomerTaxGrouping.BusinessPartner
  association [1..*] to C_BPUnloadingPoint             as _BusinessPartnerUnloadingPoint on  $projection.BusinessPartner = _BusinessPartnerUnloadingPoint.BusinessPartner
  association [1..*] to C_BPSiteReceivingPoint         as _BPCustReceivingPoint          on  $projection.BusinessPartner = _BPCustReceivingPoint.BusinessPartner
  association [1..*] to C_BPCustRcvgPtAddrDepdntInfo   as _BPCustRcvgPtAddrDepdntInfo    on  $projection.BusinessPartner = _BPCustRcvgPtAddrDepdntInfo.BusinessPartner
  association [1..*] to C_CustomerDepartment           as _CustomerDepartment            on  $projection.BusinessPartner = _CustomerDepartment.BusinessPartner
  association [0..*] to C_BPCustDepartmentAddrDepdnt   as _BPCustDepartmentAddrDepdnt    on  $projection.BusinessPartner = _BPCustDepartmentAddrDepdnt.BusinessPartner

  association [1..*] to C_BPAdditionalCustomer         as _BPAdditionalCustomer          on  $projection.BusinessPartner = _BPAdditionalCustomer.BusinessPartner
  //association [0..*] to C_BusinessPartnerCustomerTxt   as _BusinessPartnerCustomerText   on  $projection.BusinessPartner = _BusinessPartnerCustomerText.BusinessPartner

  association [0..*] to C_BusinessPartnerCustomerTxt   as _BusinessPartnerCustomerTxt    on  $projection.BusinessPartner = _BusinessPartnerCustomerTxt.BusinessPartner
  //Text views

  association [0..*] to C_BPGroupingTextVhTemp         as _BPGroupingText                on  $projection.BusinessPartnerGrouping = _BPGroupingText.BusinessPartnerGrouping
  association [0..*] to C_BPCatHelpTextVhTemp          as _BPCatHelpText                 on  $projection.BusinessPartnerCategory = _BPCatHelpText.BusinessPartnerCategory
  association [0..*] to C_LegalFormTextVHTemp          as _LegalFormText                 on  $projection.LegalForm = _LegalFormText.LegalForm

  association [0..1] to I_BPGenderValueHelp            as _GenderValueHelp               on  $projection.GenderCodeName = _GenderValueHelp.GenderCodeName
  association [0..*] to I_BPGenderValueHelpText        as _BPGenderText                  on  $projection.GenderCodeName = _BPGenderText.GenderCodeName

  association [1..*] to I_BusPartAuthorizationGroupTxt as _AuthorizationGrpText          on  $projection.AuthorizationGroup            = _AuthorizationGrpText.AuthorizationGroup
                                                                                         and _AuthorizationGrpText.AuthorizationObject = 'BUPA'
  association [0..*] to C_FormOfAddressTextVHTemp      as _FormOfAddressPersonText       on  $projection.FormOfAddressPerson = _FormOfAddressPersonText.FormOfAddress
  association [0..*] to C_FormOfAddressTextVHTemp      as _FormOfAddressOrgText          on  $projection.FormOfAddressOrganization = _FormOfAddressOrgText.FormOfAddress
  association [0..1] to I_Globalcompany                as _TradingPartnerValueHelp       on  $projection.TradingPartner = _TradingPartnerValueHelp.Company
  association [0..*] to I_BusinessPartnerCustomerVH    as _BusinessPartnerCustomerVH     on  $projection.BusinessPartner = _BusinessPartnerCustomerVH.BusinessPartner
  association [1..*] to I_BusinessPartnerCustSuplrVH   as _BusinessPartnerCustSuplrVH    on  $projection.BusinessPartner = _BusinessPartnerCustSuplrVH.BusinessPartner

  association [0..*] to C_BPCustAddrDepdntInformation  as _BPCustAddressDependentInfo    on  $projection.BusinessPartner = _BPCustAddressDependentInfo.BusinessPartner

  association [0..*] to C_BPCustUnldgPtAddrDepdntInfo  as _BPCustUnldgPtAddrDepdnt       on  $projection.BusinessPartner = _BPCustUnldgPtAddrDepdnt.BusinessPartner

  association [0..*] to C_BusPartAddrDepdntTaxNmbr     as _BusinessPartnerTaxNumberAdr   on  $projection.BusinessPartner = _BusinessPartnerTaxNumberAdr.BusinessPartner

  association [0..*] to C_CustAddrDepdntExtIdentifier  as _CustAddrDepdntExtIdentifier   on  $projection.BusinessPartner = _CustAddrDepdntExtIdentifier.BusinessPartner

  association [0..*] to C_BPAddrDepdntIntlLocNumber    as _BusinessPartnerAddrDepILN     on  $projection.BusinessPartner = _BusinessPartnerAddrDepILN.BusinessPartner

  association [0..*] to I_BusinessPartnerTypeText      as _BusinessPartnerTypeText       on  $projection.BusinessPartnerType = _BusinessPartnerTypeText.BusinessPartnerType
  association [0..*] to C_BPDataController             as _BPDataController              on  $projection.BusinessPartner = _BPDataController.BusinessPartner
{
      @ObjectModel.readOnly: true
  key BusinessPartner.BusinessPartner,

      @ObjectModel.readOnly: true
      @Semantics.name.fullName: true
      BusinessPartner.FullName, //businesspartnername is used instead


      @ObjectModel: {
                   text.association: '_BPGroupingText'
                 }
      BusinessPartner.BusinessPartnerGrouping,
      @ObjectModel: {
                   text.association: '_BusinessPartnerTypeText'
                 }
      BusinessPartner.BusinessPartnerType,
      @ObjectModel: {
          readOnly: 'EXTERNAL_CALCULATION',
          text.element:'FullName'
      }
      BusinessPartner.BusinessPartnerForEdit,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      @EndUserText.label: 'Date Founded'
      BusinessPartner.OrganizationFoundationDate,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      @EndUserText.label: 'Liquidation Date'
      BusinessPartner.OrganizationLiquidationDate,

      @ObjectModel: {
          readOnly: 'EXTERNAL_CALCULATION',
          text.association: '_BPCatHelpText'
      }
      BusinessPartner.BusinessPartnerCategory,

      @ObjectModel: {
          text.association: '_FormOfAddressPersonText',
          readOnly: 'EXTERNAL_CALCULATION'
      }
      BusinessPartner.FormOfAddressPerson,

      @ObjectModel: {
          text.association: '_FormOfAddressOrgText',
          readOnly: 'EXTERNAL_CALCULATION'
      }
      BusinessPartner.FormOfAddressOrganization,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.FirstName,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.LastName,

      BusinessPartner.Name,

      BusinessPartner.AdditionalName,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.OrganizationBPName1,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.OrganizationBPName2,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.OrganizationBPName3,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.OrganizationBPName4,

      @ObjectModel: {
         text.association: '_LegalFormText',
         readOnly: 'EXTERNAL_CALCULATION'
      }
      @EndUserText.label: 'Legal Form'
      BusinessPartner.LegalForm,

      @ObjectModel: {
          readOnly: 'EXTERNAL_CALCULATION'
      }
      BusinessPartner.Industry,

      @ObjectModel: {
           foreignKey.association: '_GenderValueHelp',
           mandatory: 'undefined',
           text.association: '_BPGenderText'
      }
      BusinessPartner.GenderCodeName,

      @ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
      @EndUserText.label: 'Academic Title'
      @ObjectModel.text.association: '_AcademicTitleText'
      BusinessPartner.AcademicTitle,

      BusinessPartner.BirthDate,
      BusinessPartner.BusinessPartnerBirthplaceName,

      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as Role,

      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as CityName,

      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as StreetName,

      @ObjectModel: {
         virtualElement,
         readOnly: true,
         virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
         filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as CountryName,

      @ObjectModel: {
         virtualElement,
         readOnly: true,
         virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
         filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as CompanyCode,

      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as SalesArea,
      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as DistributionChannel,
      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as Division,

      @ObjectModel: {
         virtualElement,
         readOnly: true,
         virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
         filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as PostalCode,

      @ObjectModel: {
         virtualElement,
         readOnly: true,
         virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
         filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as IndustrySector,

      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
          filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as HouseNumber,

      @ObjectModel: {
         virtualElement,
         readOnly: true,
         virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
         filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '                                        ' as abap.sstring( 260 )  ) as Region,

      @ObjectModel: {
         virtualElement,
         readOnly: true,
         virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT',
         filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      }
      cast( '          ' as abap.sstring( 10 )  )                                as Customer,

      BusinessPartner.BPLastNameSearchHelp,

      BusinessPartner.BPFirstNameSearchHelp,
      @ObjectModel.virtualElement
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      cast( '                                        ' as abap.sstring( 260 )  ) as DataControllerName,

      @ObjectModel.virtualElement
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MD_BPSUPLR_ROLE_CALC_EXIT'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FILTER_BUSINESSPARTNERROLE'
      cast( '          ' as abap.sstring( 260 )  )                               as BPTaxNumber,


      BusinessPartner.BusinessPartnerUUID,

      @ObjectModel: {
          readOnly: true,
          text.element:  [ 'CreatedByUserName' ]
       }
      @Semantics.user.createdBy: true
      BusinessPartner.CreatedByUser,

      BusinessPartner.CreationTime,
      @ObjectModel: {
       readOnly: true,
       text.element:  [ 'LastChangedByUserName' ]
      }
      BusinessPartner.LastChangedByUser,

      @ObjectModel.readOnly: true
      BusinessPartner.LastChangeDate,

      BusinessPartner.LastChangeTime,

      @ObjectModel.readOnly: true
      BusinessPartner.CreationDate,

      @ObjectModel.readOnly: true
      _LastChangedByUser.UserDescription                                         as LastChangedByUserName,

      @ObjectModel.readOnly: true
      _CreatedByUser.UserDescription                                             as CreatedByUserName,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.SearchTerm1,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.SearchTerm2,

      BusinessPartner.BusinessPartnerIsBlocked,

      BusinessPartner.IsNaturalPerson,

      @ObjectModel: {
          text.association: '_AuthorizationGrpText'
      }
      BusinessPartner.AuthorizationGroup,

      BusinessPartner.IsBusinessPurposeCompleted,

      BusinessPartner.BusinessPartnerName, //BP ID + BP name

      @ObjectModel.foreignKey.association: '_TradingPartnerValueHelp'
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.TradingPartner,
      BusinessPartner.BusinessPartnerIDByExtSystem,
      BusinessPartner.IsMarkedForArchiving,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.InternationalLocationNoPart1,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      BusinessPartner.InternationalLocationNoPart2,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      @EndUserText.label: 'Check Digit'
      BusinessPartner.InternationalLocationNoPart3,

      // transient fields for handling SD Adoption business feature

      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_MULTI_ADDR_BF_CALC_EXIT'
      cast(' ' as abap_boolean preserving type)                                  as BPCustMultiAddrIsActive,

      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_MULTI_ADDR_BF_CALC_EXIT'
      cast(' ' as abap_boolean preserving type)                                  as BPTaxNmbrMultiAddrIsActive,
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_MULTI_ADDR_BF_CALC_EXIT'
      cast(' ' as abap_boolean preserving type)                                  as BPIntlLocNmbrMultiAddrIsActive,


      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_MLTASEXIST_CALC_EXIT'
      cast(' ' as abap_boolean preserving type)                                  as IsMultipleAccountAssignment,


      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_ADRDEPD_EXISTS_CALC_EXIT'
      cast(' ' as abap_boolean preserving type)                                  as BPIsMltplAddrDepdntDataPresent,

      @ObjectModel: {
          virtualElement,
          readOnly: true,
          virtualElementCalculatedBy: 'ABAP:CL_MD_BP_ROOT_CALC_EXIT'
      }
      cast( '' as abap.sstring( 260 ) )                                          as BusinessPartnerImageURL,


      // transient fields for handling DCP On fiori

      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_DCP_PURPOSE_CALC_EXIT'
      cast(' ' as abap.char( 2 ) )                                               as BusinessPartnerBusinessPurpose,



      /*@ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.AddressLine1Text, //to display standard address in the header


      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.AddressLine2Text, //to display standard address in the header*/  //FormattedPostalAddress from adress view is used in header


      //Standard address fields

      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.CityName                                        as AddressCityName,
      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.Country, //as AddressCountry,

      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.HouseNumber                                     as AddressHouseNumber,
      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.Region                                          as AddressRegion,
      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.StreetName                                      as AddressStreetName,
      @ObjectModel.readOnly: true
      _BusinessPartnerAddrFilter.PostalCode                                      as AddressPostalCode,




      ////////////// Start of Datacontroller 10+1 fields -  Not to be consumed by any other views//////////

      @UI.hidden:true
      @Consumption.hidden:true
      BusinessPartner.DataControllerSet,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController1,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController2,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController3,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController4,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController5,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController6,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController7,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController8,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController9,
      @Consumption.hidden:true
      @UI.hidden:true
      BusinessPartner.DataController10,

      ////////////// End of Datacontroller 10+1 fields//////////


      BusinessPartner.BPDataControllerIsNotRequired,

      /* @ObjectModel.readOnly: true
       _BusinessPartnerAddrFilter.InternationalPhoneNumber,
       @ObjectModel.readOnly: true
       _BusinessPartnerAddrFilter.EmailAddress,
       @ObjectModel.readOnly: true
       _BusinessPartnerAddrFilter.FormattedPostalAddress,*/

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      @UI.fieldGroup: [{value: '.CustomerClassification',qualifier: 'PersonalData',position: 1,groupLabel:'Personal Data',
       label:'Customer Classification',importance: #HIGH},
       {value: '.CustomerClassification',qualifier: 'filterdata',groupLabel:'Customer Information',
       label:'Customer Classification',importance: #HIGH},
       {value: '.VATLiability',qualifier: 'PersonalData',position: 2,groupLabel:'Personal Data',
       label:'VAT Liability',importance: #HIGH},
       {value: '.VATLiability',qualifier: 'filterdata',groupLabel:'Customer Information',label:'VAT Liability',importance: #HIGH},
       {value: '.DataMediumExchangeIndicator',qualifier: 'Finance',position: 1,groupLabel:'Finance',
       label:'Data Medium Exchange',importance: #HIGH}
       ,{value: '.DataMediumExchangeIndicator',qualifier: 'filterdata',groupLabel:'Customer Information',label:'Data Medium Exchange',importance: #HIGH}
       ,{value: '.Customer',qualifier: 'filterdata',groupLabel:'Customer Information',label:'Customer',importance: #HIGH}
       ,{value: '.CustomerAccountGroup',qualifier: 'filterdata',groupLabel:'Customer Information',label:'Customer Account Group',importance: #HIGH}
       ,{value: '.AlternativePayerAccount',qualifier: 'filterdata',groupLabel:'Customer Information',label:'Alternative Payer',importance: #HIGH}
       ,{value: '.Supplier',qualifier: 'filterdata',groupLabel:'Customer Information',label:'Supplier',importance: #HIGH}
       ,{value: '.BillingIsBlockedForCustomer',qualifier: 'blockdata',groupLabel:'Business Partner Status',label:'Billing Block',importance: #HIGH}
       ,{value: '.DeliveryIsBlocked',qualifier: 'blockdata',groupLabel:'Business Partner Status',label:'Delivery Block',importance: #HIGH}
       ,{value: '.PostingIsBlocked',qualifier: 'blockdata',groupLabel:'Business Partner Status',label:'Posting Block',importance: #HIGH}
       ,{value: '.AuthorizationGroup',qualifier: 'filterdata',groupLabel:'Customer Information',label:'Customer Authorization Group',importance: #HIGH}
       ]
      _BusinessPartnerCustomer,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerAddress,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _PaymentCard,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerBank,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerTaxNumber,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerContact,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerCustomerCo,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      @UI.fieldGroup: [{value: '.SalesOrganization',qualifier: 'filterdata2',groupLabel:'Customer Sales Area',label:'Sales Organization',importance: #HIGH}]
      _BusinessPartnerSalesArea,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerRole,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPIdentificationNumbers,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPIndustry,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerUnloadingPoint,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPCustReceivingPoint,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPCustRcvgPtAddrDepdntInfo,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _CustomerDepartment,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPCustDepartmentAddrDepdnt,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPAdditionalCustomer,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerCustomerTxt,
      //_BusinessPartnerCustomerText,

      _AcademicTitleValueHelp,
      _AcademicTitleText,
      @Consumption.filter.hidden: true
      @UI.fieldGroup: [{value: '.StreetName',qualifier: 'stdaddress1',groupLabel:'Standard Address - 1',position: 1,label:'Street',importance: #HIGH},
                        {value: '.CustomerSupplierStreetName',qualifier: 'stdaddress1',groupLabel:'Standard Address - 1',position: 2,label:'Street',importance: #HIGH},
                        {value: '.HouseNumber',qualifier: 'stdaddress1',groupLabel:'Standard Address - 1',position: 3,label:'House Number',importance: #HIGH},
                        {value: '.PostalCode',qualifier: 'stdaddress1',groupLabel:'Standard Address - 1 ',position: 4,label:'Postal Code',importance: #HIGH},
                        {value: '.CityName',qualifier: 'stdaddress1',groupLabel:'Standard Address - 1',position: 5,label:'City',importance: #HIGH},
                        {value: '.CustomerSupplierCityName',qualifier: 'stdaddress1',groupLabel:'Standard Address - 1',position: 6,label:'City',importance: #HIGH}]
      _BusinessPartnerAddrFilter,
      _BPGroupingText,
      _BPCatHelpText,
      _LegalFormText,
      _BPGenderText,
      _GenderValueHelp,
      @Consumption.filter.hidden: true
      _AuthorizationGrpText,
      _FormOfAddressPersonText,
      _FormOfAddressOrgText,
      _TradingPartnerValueHelp,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPCustomerTaxGrouping,
      @ObjectModel.readOnly: true
      BPHasEmployeeRoles,
      _BusinessPartnerCustomerVH,
      _BusinessPartnerCustSuplrVH,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPCustAddressDependentInfo,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BPCustUnldgPtAddrDepdnt,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerTaxNumberAdr,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _CustAddrDepdntExtIdentifier,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _BusinessPartnerAddrDepILN,
      @Consumption.filter.hidden: true
      _BusinessPartnerTypeText,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      //@feature: 'SW:ZNO_LIGHTWEIGHT_SWITCH'

      _BPDataController

}