R_BANKTP
Transactional Bank
R_BANKTP is a CDS View in S/4HANA. Transactional Bank. 3 CDS views read from this table.
@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":""
}
}*/