I_BusinessPartnerBank

DDL: I_BUSINESSPARTNERBANK SQL: IBUPABANK Type: view BASIC

Business Partner Bank

I_BusinessPartnerBank is a Basic CDS View (Dimension) that provides data about "Business Partner Bank" in SAP S/4HANA. It reads from 1 data source (but0bk) and exposes 27 fields with key fields BusinessPartner, BankIdentification. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
but0bk BusinessPartnerBank from

Associations (4)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[1..1] I_Bank _Bank $projection.BankNumber = _Bank.BankInternalID and $projection.BankCountryKey = _Bank.BankCountry
[1..1] I_Iban _IBAN $projection.BankAccount = _IBAN.BankAccount and $projection.BankNumber = _IBAN.Bank and $projection.BankCountryKey = _IBAN.BankCountry and $projection.BankControlKey = _IBAN.BankControlKey
[1..1] I_BusinessPartnerBankAlias _BusinessPartnerBankAlias $projection.BPBankUUID = _BusinessPartnerBankAlias.BPBankUUID

Annotations (18)

NameValueLevelField
AbapCatalog.sqlViewName IBUPABANK view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
AccessControl.personalData.blockingIndicator _BusinessPartner.IsBusinessPurposeCompleted view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
ObjectModel.representativeKey BankIdentification view
VDM.viewType #BASIC view
EndUserText.label Business Partner Bank view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
Search.searchable true view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner but0bk partner
KEY BankIdentification but0bk bkvid
BankCountryKey but0bk banks
BankName _Bank BankName
BankNumber but0bk bankl
SWIFTCode _Bank SWIFTCode
BankControlKey but0bk bkont
BankAccountHolderName but0bk koinh
BankAccountName but0bk accname
ValidityStartDate but0bk bk_valid_from
ValidityEndDate but0bk bk_valid_to
ibanendasIBAN
IBANValidityStartDate _IBAN IBANValidityStartDate
BankAccount but0bk bankn
BankAccountReferenceText but0bk bkref
CollectionAuthInd but0bk xezer
BusinessPartnerExternalBankID but0bk bkext
BPBankDetailsChangeDate but0bk bk_move_date
BPBankDetailsChangeTargetID but0bk move_bkvid
BPBankIsProtected but0bk protect
BPBankUUID but0bk bp_bank_guid
CityName _Bank CityName
_Bank _Bank
_IBAN _IBAN
_BusinessPartner _BusinessPartner
_BusinessPartnerBankAlias _BusinessPartnerBankAlias
AuthorizationGroup _BusinessPartner AuthorizationGroup
@AbapCatalog.sqlViewName: 'IBUPABANK'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.personalData.blockingIndicator: '_BusinessPartner.IsBusinessPurposeCompleted'
//@Analytics: {

 // dataCategory: #DIMENSION,

//  dataExtraction: {

//    enabled: true,

//    delta.changeDataCapture: {

 //     automatic: true

//    }

 // }

//}

@Analytics: {
    dataCategory: #DIMENSION,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture: {
            mapping:[
                {
                    table: 'BUT0BK', role: #MAIN,
                    viewElement: ['BusinessPartner','BankIdentification'],
                    tableElement: ['partner','bkvid']
                },
                {
                    table: 'BUT000', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['BusinessPartner'],
                    tableElement: ['partner']
                },
                {
                    table: 'BNKA', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['BankCountryKey','BankNumber'],
                    tableElement: ['banks', 'bankl']
                },
                
                {
                    table: 'TIBAN', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['BankCountryKey','BankNumber','BankAccount','BankControlKey'],
                    tableElement: ['banks', 'bankl','bankn', 'bkont']
                }
               
            ]
        }
    }
 }
@ObjectModel.representativeKey:'BankIdentification'
@VDM.viewType: #BASIC
@EndUserText.label: 'Business Partner Bank'// data'

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE,
                                     #CDS_MODELING_DATA_SOURCE,
                                     #CDS_MODELING_ASSOCIATION_TARGET,
                                     #EXTRACTION_DATA_SOURCE]
                                    
@ObjectModel.modelingPattern: #NONE                                  
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@Search.searchable: true

define view I_BusinessPartnerBank
  as select from but0bk as BusinessPartnerBank

  association [1..1] to I_BusinessPartner as _BusinessPartner on  $projection.BusinessPartner = _BusinessPartner.BusinessPartner

  association [1..1] to I_Bank            as _Bank            on  $projection.BankNumber     = _Bank.BankInternalID
                                                              and $projection.BankCountryKey = _Bank.BankCountry

  //  association [1..1] to tiban  as _IBAN on  $projection.BankAccount    = _IBAN.bankn

  //                                        and $projection.BankNumber     = _IBAN.bankl

  //                                        and $projection.BankCountryKey = _IBAN.banks

  //                                        and $projection.BankControlKey = _IBAN.bkont



  association [1..1] to I_Iban            as _IBAN            on  $projection.BankAccount    = _IBAN.BankAccount
                                                              and $projection.BankNumber     = _IBAN.Bank
                                                              and $projection.BankCountryKey = _IBAN.BankCountry
                                                              and $projection.BankControlKey = _IBAN.BankControlKey
                                                              
  association [1..1] to I_BusinessPartnerBankAlias as _BusinessPartnerBankAlias on $projection.BPBankUUID = _BusinessPartnerBankAlias.BPBankUUID
  
{
  @Search.defaultSearchElement: true
  @ObjectModel.foreignKey.association: '_BusinessPartner'
  key BusinessPartnerBank.partner                                            as  BusinessPartner,
  @Search.defaultSearchElement: true
  key BusinessPartnerBank.bkvid                                              as  BankIdentification,
      BusinessPartnerBank.banks                                              as  BankCountryKey,
      _Bank.BankName                                                         as  BankName,
      BusinessPartnerBank.bankl                                              as  BankNumber,
      _Bank.SWIFTCode                                                        as  SWIFTCode,
      BusinessPartnerBank.bkont                                              as  BankControlKey,
      BusinessPartnerBank.koinh                                              as  BankAccountHolderName,
      BusinessPartnerBank.accname                                            as  BankAccountName,
      BusinessPartnerBank.bk_valid_from                                      as  ValidityStartDate,
      BusinessPartnerBank.bk_valid_to                                        as  ValidityEndDate,
      //_IBAN.IBAN                                                             as  IBAN,

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'BPIsActualDate'
      case
      when BusinessPartnerBank.bk_valid_from <= tstmp_current_utctimestamp()
      and BusinessPartnerBank.bk_valid_to >= tstmp_current_utctimestamp()
      then cast('X' as boole_d)
      else cast(' ' as boole_d)
      end as IsActualDate,
      
       case
      when BusinessPartnerBank.bk_valid_from <= tstmp_current_utctimestamp()
      and BusinessPartnerBank.bk_valid_to >= tstmp_current_utctimestamp()
      then cast('X' as boole_d)
      else cast(' ' as boole_d)
      end as BPIsActualDate,
      
      case
      when BusinessPartnerBank.bankn <> ''
      then _IBAN.IBAN
      else
       BusinessPartnerBank.iban 
      end as IBAN,
      _IBAN.IBANValidityStartDate                                            as  IBANValidityStartDate,
      BusinessPartnerBank.bankn                                              as  BankAccount,
      BusinessPartnerBank.bkref                                              as  BankAccountReferenceText,
      BusinessPartnerBank.xezer                                              as  CollectionAuthInd,
      BusinessPartnerBank.bkext                                              as  BusinessPartnerExternalBankID,
      BusinessPartnerBank.bk_move_date                                       as  BPBankDetailsChangeDate,
      BusinessPartnerBank.move_bkvid                                         as  BPBankDetailsChangeTargetID,
      BusinessPartnerBank.protect                                            as  BPBankIsProtected,
      BusinessPartnerBank.bp_bank_guid                                       as  BPBankUUID,    
      _Bank.CityName                                                         as  CityName,
      _Bank,
      _IBAN,
      _BusinessPartner,
      _BusinessPartnerBankAlias,
      _BusinessPartner.AuthorizationGroup
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BANK",
"I_BUSINESSPARTNER",
"I_IBAN",
"BUT0BK"
],
"ASSOCIATED":
[
"I_BANK",
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNERBANKALIAS",
"I_IBAN"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/