I_BankAcctNumberVH

DDL: I_BANKACCTNUMBERVH Type: view BASIC

Account Number

I_BankAcctNumberVH is a Basic CDS View that provides data about "Account Number" in SAP S/4HANA. It reads from 4 data sources (fclm_bam_amd, bnka, fclm_bam_amd_t, FCLM_BAM_SINGLE_HBA) and exposes 15 fields with key field BankAccountInternalID. It has 3 associations to related views.

Data Sources (4)

SourceAliasJoin Type
fclm_bam_amd amd from
bnka bank left_outer
fclm_bam_amd_t desc left_outer
FCLM_BAM_SINGLE_HBA linkage left_outer

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..1] I_Housebank _HouseBank $projection.HouseBank = _HouseBank.HouseBank and $projection.CompanyCode = _HouseBank.CompanyCode
[0..1] I_HouseBankAccount _HouseBankAccount $projection.CompanyCode = _HouseBankAccount.CompanyCode and $projection.HouseBank = _HouseBankAccount.HouseBank and $projection.HouseBankAccount = _HouseBankAccount.HouseBankAccount

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IBKACCTNUMBERVH view
AbapCatalog.compiler.compareFilter true view
ClientHandling.type #CLIENT_DEPENDENT view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #CUSTOMIZING view
ObjectModel.dataCategory #VALUE_HELP view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #BASIC view
EndUserText.label Account Number view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
UI.headerInfo.typeName Bank Account view
UI.headerInfo.typeNamePlural Bank Accounts view
UI.headerInfo.typeImageUrl sap-icon: title: { value: view
Consumption.ranked true view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY BankAccountInternalID fclm_bam_amd acc_id
BankAccountNumber fclm_bam_amd acc_num
BankAccountDescription fclm_bam_amd_t description
BankAccountCurrency fclm_bam_amd waers
CompanyCode fclm_bam_amd bukrs
BankAccountType fclm_bam_amd acc_type_id
Bank fclm_bam_amd bankl
BankCountry fclm_bam_amd banks
IBAN fclm_bam_amd iban
SWIFTCode bnka swift
HouseBank FCLM_BAM_SINGLE_HBA HouseBank
HouseBankAccount FCLM_BAM_SINGLE_HBA HouseBankAccount
_HouseBank _HouseBank
_HouseBankAccount _HouseBankAccount
_CompanyCode _CompanyCode
@AbapCatalog: {
  sqlViewName: 'IBKACCTNUMBERVH',
  compiler.compareFilter: true
}

@ClientHandling: {
  type:      #CLIENT_DEPENDENT,
  algorithm: #SESSION_VARIABLE
}

@ObjectModel: {
  usageType: {
    serviceQuality: #B,
    sizeCategory:   #S,
    dataClass:      #CUSTOMIZING
  }
}
@ObjectModel.dataCategory:#VALUE_HELP
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #BASIC
@EndUserText.label: 'Account Number'
@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@UI.headerInfo: {
  typeName:       'Bank Account',
  typeNamePlural: 'Bank Accounts',
  typeImageUrl:   'sap-icon://appointment-2',

  title:          { value: 'Bank Account' }
}

@Consumption.ranked: true

/* Comment of Usage
There are several bank account value helps provided.
This cds view will return bank account with inactive bank accounts and all activated ones.
If it does not meet your requirment, you may check below value help CDS Views.
I_BankAccountVH
I_BankAccountStdVH
I_BankAcctIdVH
C_BankAcctIdVH
C_BankAccountVH
*/

define view I_BankAcctNumberVH
  as select from    fclm_bam_amd        as amd
    left outer join fclm_bam_amd_t      as desc    on  amd.acc_id        =  desc.acc_id
                                                   and amd.revision      =  desc.revision
                                                   and desc.langu        = $session.system_language
                                                   and desc.deleted_flag <> 'X'
    left outer join bnka                as bank    on  amd.banks = bank.banks
                                                   and amd.bankl = bank.bankl
    left outer join FCLM_BAM_SINGLE_HBA as linkage on  amd.acc_id   = linkage.BankAccountInternalID
                                                   and amd.revision = linkage.BankAccountRevision
  association [1..1] to I_CompanyCode      as _CompanyCode      on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_Housebank        as _HouseBank        on  $projection.HouseBank   = _HouseBank.HouseBank
                                                                and $projection.CompanyCode = _HouseBank.CompanyCode
  association [0..1] to I_HouseBankAccount as _HouseBankAccount on  $projection.CompanyCode      = _HouseBankAccount.CompanyCode
                                                                and $projection.HouseBank        = _HouseBankAccount.HouseBank
                                                                and $projection.HouseBankAccount = _HouseBankAccount.HouseBankAccount
{
      @UI.hidden: true
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
  key amd.acc_id               as BankAccountInternalID,
      @UI.lineItem: [
       { position: 1, importance: #HIGH }
       ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 1, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #HIGH,
        fuzzinessThreshold: 0.8
      }
      amd.acc_num              as BankAccountNumber,
      @UI.lineItem: [
      { position: 2, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 2, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      desc.description         as BankAccountDescription,
      @UI.lineItem: [
      { position:3, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 3, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      amd.waers                as BankAccountCurrency,
      @UI.lineItem: [
      { position: 4, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 4, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      @ObjectModel.foreignKey.association: '_CompanyCode'
      amd.bukrs                as CompanyCode,
      @UI.lineItem: [
      { position: 5, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 5, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      amd.acc_type_id          as BankAccountType,
      @UI.lineItem: [
      { position: 6, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 6, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      amd.bankl                as Bank,
      @UI.lineItem: [
      { position: 7, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 7, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      amd.banks                as BankCountry,
      @UI.lineItem: [
      { position: 8, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 8, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      amd.iban                 as IBAN,
      @UI.lineItem: [
      { position: 9, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 9, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      bank.swift               as SWIFTCode,
      @UI.lineItem: [
      { position: 10, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 10, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_HouseBankStdVH',
                     element: 'HouseBank' },
          additionalBinding: [{ localElement: 'CompanyCode',
                                element: 'CompanyCode' }]
        }]
      @ObjectModel.foreignKey.association: '_HouseBank'
      linkage.HouseBank        as HouseBank,
      @UI.lineItem: [
      { position: 11, importance: #HIGH }
      ]
      @UI.fieldGroup: [
        { qualifier: 'Bank Account', position: 11, importance: #HIGH }
      ]
      @Search: {
        defaultSearchElement: true,
        ranking: #LOW,
        fuzzinessThreshold: 0.8
      }
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_HouseBankAccountVH',
                     element: 'HouseBankAccount' },
          additionalBinding: [{ localElement: 'CompanyCode',
                                element: 'CompanyCode' },
                              { localElement: 'HouseBank',
                                element: 'HouseBank' }  ]
        }]
      @ObjectModel.foreignKey.association: '_HouseBankAccount'
      linkage.HouseBankAccount as HouseBankAccount,
      _HouseBank,
      _HouseBankAccount,
      _CompanyCode
}
where
  (
        amd.revision        =  '0000'
    and amd.status          <> '99'
  )
  or(
        amd.revision        =  '0000'
    and amd.open_request_id is not initial
    and amd.status          =  '99'
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"BNKA",
"FCLM_BAM_AMD",
"FCLM_BAM_AMD_T"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_HOUSEBANK",
"I_HOUSEBANKACCOUNT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/