@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":""
}
}*/