I_SAFTBankStatement
SAF-T Bank Statement
I_SAFTBankStatement is a Basic CDS View that provides data about "SAF-T Bank Statement" in SAP S/4HANA. It reads from 3 data sources (febko, I_Housebank, I_Iban) and exposes 15 fields with key fields CompanyCode, BankStatementShortID. It has 2 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| febko | f | from |
| I_Housebank | hb | inner |
| I_Iban | iban | inner |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ISAFTBNKST | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_INCLUDED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #BASIC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | SAF-T Bank Statement | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CompanyCode | febko | bukrs | |
| KEY | BankStatementShortID | febko | kukey | |
| IBAN | I_Iban | IBAN | ||
| BankStatementInternalID | febko | azidt | ||
| BankStatementDate | febko | azdat | ||
| Currency | febko | waers | ||
| StartingBalSurplusDeficitCode | febko | ssvoz | ||
| ClosingBalSurplusDeficitCode | febko | esvoz | ||
| HouseBank | febko | hbkid | ||
| BankAccount | febko | ktonr | ||
| BankCountry | I_Housebank | BankCountry | ||
| BankInternalID | I_Housebank | BankInternalID | ||
| BankControlKey | I_Housebank | BankControlKey | ||
| _CompanyCode | _CompanyCode | |||
| _Currency | _Currency |
@AbapCatalog.sqlViewName: 'ISAFTBNKST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_INCLUDED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'SAF-T Bank Statement'
define view I_SAFTBankStatement
as select from febko as f
inner join I_Housebank as hb on hb.CompanyCode = f.bukrs
and hb.HouseBank = f.hbkid
inner join I_Iban as iban on iban.BankCountry = hb.BankCountry
and iban.Bank = hb.BankInternalID
and iban.BankAccount = f.ktonr
// association [0..*] to I_Iban as _IBAN on $projection.BankCountry = _IBAN.BankCountry
// and $projection.BankInternalID = _IBAN.Bank
// and $projection.BankAccount = _IBAN.BankAccount
// and $projection.BankControlKey = _IBAN.BankControlKey
association [1..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
{
key f.bukrs as CompanyCode,
key f.kukey as BankStatementShortID,
iban.IBAN as IBAN,
f.azidt as BankStatementInternalID,
f.azdat as BankStatementDate,
@Semantics.currencyCode:true
f.waers as Currency,
@Semantics.amount.currencyCode: 'Currency'
case when f.ssvoz = 'S'
then - abs(f.ssbtr)
else ssbtr
end as StartingBalanceAmtInTransCrcy,
f.ssvoz as StartingBalSurplusDeficitCode,
@Semantics.amount.currencyCode: 'Currency'
case when f.esvoz = 'S'
then - abs(f.esbtr)
else esbtr
end as ClosingBalanceAmtInTransCrcy,
f.esvoz as ClosingBalSurplusDeficitCode,
f.hbkid as HouseBank,
f.ktonr as BankAccount,
hb.BankCountry,
hb.BankInternalID,
hb.BankControlKey,
_CompanyCode,
// _IBAN,
_Currency
}
where
anwnd = '0001' //Electronic and manual bank statement
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_HOUSEBANK",
"I_IBAN",
"FEBKO"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CURRENCY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA