R_BankTP

DDL: R_BANKTP Type: view_entity TRANSACTIONAL

Transactional Bank

R_BankTP is a Transactional CDS View that provides data about "Transactional Bank" in SAP S/4HANA. It reads from 1 data source (I_Bank_2) and exposes 35 fields with key fields BankCountry, BankInternalID. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_Bank_2 Bank from

Associations (5)

CardinalityTargetAliasCondition
[1..1] R_BankAddressTP _BankAddressAssoc $projection.BankCountry = _BankAddressAssoc.BankCountry and $projection.BankInternalID = _BankAddressAssoc.BankInternalID
[1..1] C_BankCategoryVH _BankCategory $projection.BankCategory = _BankCategory.BankCategory
[1..1] E_Bank _Extension $projection.BankCountry = _Extension.BankCountry and $projection.BankInternalID = _Extension.BankInternalID
[1..1] P_BankAddressRprstnCode _AddrRprstnCode 1 = 1
[1..1] R_BankAddressTP _BankAddress

Annotations (15)

NameValueLevelField
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
VDM.viewType #TRANSACTIONAL view
Search.searchable false view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.elementSuffix BNK view
AbapCatalog.extensibility.allowNewDatasources false view
AbapCatalog.extensibility.quota.maximumFields 500 view
AbapCatalog.extensibility.quota.maximumBytes 5000 view
AbapCatalog.extensibility.allowNewCompositions true view
ObjectModel.sapObjectNodeType.name Bank view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Transactional Bank view

Fields (35)

KeyFieldSource TableSource FieldDescription
KEY BankCountry BankCountry
KEY BankInternalID BankInternalID
BankName I_Bank_2 BankName
LongBankNameendasLongBankName
BankBranch I_Bank_2 BankBranch
LongBankBranchendasLongBankBranch
ShortStreetName I_Bank_2 ShortStreetName
StreetNameendasStreetName
ShortCityName I_Bank_2 ShortCityName
CityNameendasCityName
Region I_Bank_2 Region
RegionendasAddressRegion
SWIFTCode SWIFTCode
BankNetworkGrouping BankNetworkGrouping
IsMarkedForDeletion IsMarkedForDeletion
BankNumber Bank
CheckDigitCalculationMethod CheckDigitCalculationMethod
AddressID AddressID
BankDataFileFormat BankDataFileFormat
BankCategory
BankCategoryDescription _BankCategory BankCategoryDescription
LongBankNameend1asBankKeyForDisplay
LongBankBranchIsHidden
BankNumberIsHidden
SWIFTCodeIsHidden
BankNetworkGroupingIsHidden
BankAddressIsHidden
BankScriptedAddressIsHidden
BankCategoryIsHidden
CreationDate CreationDate
CreatedByUser CreatedByUser
_BankAddress _BankAddress
_Region _Region
_BankCategory _BankCategory
_Country _Country
@VDM: {
  lifecycle.contract.type: #SAP_INTERNAL_API,
  viewType: #TRANSACTIONAL
}

@Search.searchable: false

@AbapCatalog.extensibility: {
  extensible: true,
  elementSuffix: 'BNK',
  allowNewDatasources: false,
  dataSources: ['_Extension'],
  quota: {
    maximumFields: 500,
    maximumBytes: 5000
  },
  allowNewCompositions: true
}

@ObjectModel:{
   sapObjectNodeType:{ name: 'Bank'},
   usageType: {
     serviceQuality: #C,
     sizeCategory: #L,
     dataClass: #TRANSACTIONAL }
 }
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.privilegedAssociations: [ '_BankAddress' ]
@EndUserText.label: 'Transactional Bank'
define root view entity R_BankTP
  as select from I_Bank_2 as Bank
  composition [1..1] of R_BankAddressTP         as _BankAddress
  association [1..1] to R_BankAddressTP         as _BankAddressAssoc on  $projection.BankCountry    = _BankAddressAssoc.BankCountry
                                                                     and $projection.BankInternalID = _BankAddressAssoc.BankInternalID
  association [1..1] to C_BankCategoryVH        as _BankCategory     on  $projection.BankCategory = _BankCategory.BankCategory
  association [1..1] to E_Bank                  as _Extension        on  $projection.BankCountry    = _Extension.BankCountry
                                                                     and $projection.BankInternalID = _Extension.BankInternalID
  association [1..1] to P_BankAddressRprstnCode as _AddrRprstnCode   on  1 = 1
{
      @ObjectModel.foreignKey.association: '_Country'
  key BankCountry,
  key BankInternalID,
      @Semantics.text: true
      Bank.BankName, //char60


      case
        when ( _BankAddressAssoc.LongBankName is null or
               _BankAddressAssoc.LongBankName is initial ) then Bank.BankName      //char60

        else _BankAddressAssoc.LongBankName                                        //char80

      end                                                         as LongBankName, //char80


      Bank.BankBranch, //do not use "Branch" term, it was deprecated for bank

      case
        when ( _BankAddressAssoc.LongBankBranch is null or
               _BankAddressAssoc.LongBankBranch is initial ) then Bank.BankBranch
        else _BankAddressAssoc.LongBankBranch
      end                                                         as LongBankBranch,

      //    Bank.StreetName, is wrong name for BNKA-STRAS, it was depracated in I_BANK_2

      Bank.ShortStreetName, // correct name of BNKA-STRAS

      case
        when ( _BankAddressAssoc.StreetName is null or
               _BankAddressAssoc.StreetName is initial ) then Bank.ShortStreetName
        else _BankAddressAssoc.StreetName
      end                                                         as StreetName,

      //    Bank.CityName,  is wrong name for BNKA-ORT01, it was depracated in I_BANK_2

      Bank.ShortCityName, // correct name of BNKA-ORT01

      case
        when ( _BankAddressAssoc.CityName is null or
               _BankAddressAssoc.CityName is initial ) then Bank.ShortCityName
        else _BankAddressAssoc.CityName
      end                                                         as CityName,

      Bank.Region,
      case
        when ( _BankAddressAssoc.Region is null or
               _BankAddressAssoc.Region is initial ) then Bank.Region
        else _BankAddressAssoc.Region
      end                                                         as AddressRegion,

      SWIFTCode,
      BankNetworkGrouping,
      IsMarkedForDeletion,
      Bank                                                        as BankNumber,
      CheckDigitCalculationMethod,
      AddressID,
      BankDataFileFormat,

      cast(Bank.BankCategory as bf_bank_category preserving type) as BankCategory,

      _BankCategory.BankCategoryDescription                       as BankCategoryDescription,

      @Semantics.booleanIndicator:true
      case
        when BankCategory is not null then cast( 'X' as bf_bank_internal_flag preserving type)
        else cast( ' ' as bf_bank_internal_flag preserving type)
      end                                                         as BankIsInternal,
      @Semantics.booleanIndicator:true
      case
        when BankCategory is null then cast( 'X' as bf_bank_standard_flag preserving type)
        else cast( ' ' as bf_bank_standard_flag preserving type)
      end                                                         as BankIsStandard,

      //local ETag field --> OData ETag

//      cast( dats_tims_to_tstmp( CreationDate , cast('120000' as uzeit),

//                          abap_system_timezone( $session.client,'NULL' ),

//                          $session.client,

//                         'NULL' ) as timestampl )                 as LocalLastChangedAt,


      cast( dats_tims_to_tstmp( CreationDate , cast('120000' as uzeit),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client,
                         'NULL' ) as timestampl )                 as LastChangeDateTime,

      concat_with_space(BankInternalID,
          concat('(',
             concat(
                case
                  when ( _BankAddressAssoc.LongBankName is null or
                         _BankAddressAssoc.LongBankName is initial ) then Bank.BankName      //char60

                  else _BankAddressAssoc.LongBankName                                        //char80

                end
             ,')')

          )
      , 1 )                                                       as BankKeyForDisplay,


      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as LongBankBranchIsHidden,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as BankNumberIsHidden,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as SWIFTCodeIsHidden,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as BankNetworkGroupingIsHidden,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as BankAddressIsHidden,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as BankScriptedAddressIsHidden,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CA_BNK_RAP_MB_UI_FIELD_EXIT'
      @Semantics.booleanIndicator:true
      @UI.hidden: true
      abap.char' ' as BankCategoryIsHidden,

//      @Semantics.booleanIndicator:true

//      @UI.hidden: true

//      abap.char' ' as UICT_HideScrpAddr,



      @Semantics.systemDate.createdAt: true
      CreationDate                                                as CreationDate,
      @Semantics.user.createdBy: true
      CreatedByUser                                               as CreatedByUser,

      _BankAddress,
      _Region,
      _BankCategory,
      _Country

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_BANKCATEGORYVH",
"I_BANK_2",
"R_BANKADDRESSTP"
],
"ASSOCIATED":
[
"C_BANKCATEGORYVH",
"I_COUNTRY",
"I_REGION",
"R_BANKADDRESSTP"
],
"BASE":
[
"I_BANK_2"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/