I_CashPosition
Cash Position
I_CashPosition is a Composite CDS View (Cube) that provides data about "Cash Position" in SAP S/4HANA. It reads from 2 data sources (I_BankAccount, P_CashPosition) and exposes 18 fields with key fields CompanyCode, BankAccountInternalID, CertaintyLevel, Currency. It has 7 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_BankAccount | bam | inner |
| P_CashPosition | P_CashPosition | from |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_StartDate | vdm_v_start_date | |
| P_KeyDate | sydate |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_BankAccount | _BankAccount | $projection.BankAccountInternalID = _BankAccount.BankAccountInternalID |
| [0..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
| [0..1] | I_Bank | _Bank | $projection.Bank = _Bank.BankInternalID and $projection.BankCountry = _Bank.BankCountry |
| [0..1] | I_Country | _Country | $projection.BankCountry = _Country.Country |
| [0..1] | I_BankAccountWithBGN | _BankGroup | $projection.BankAccountInternalID = _BankGroup.BankAccountInternalID |
| [0..1] | I_CertaintyLevelText | _Text | $projection.CertaintyLevel = _Text.CertaintyLevel and _Text.Language = $session.system_language |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Cash Position | view | |
| Analytics.dataCategory | #CUBE | view | |
| Analytics.dataExtraction.enabled | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AbapCatalog.sqlViewName | ICASHPOSITION | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| Metadata.ignorePropogatedAnnotations | true | view | |
| Metadata.allowExtensions | true | view |
Fields (18)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CompanyCode | pos | CompanyCode | |
| TransactionDate | ||||
| KEY | BankAccountInternalID | pos | BankAccountInternalID | |
| KEY | CertaintyLevel | pos | CertaintyLevel | |
| KEY | Currency | pos | Currency | |
| HouseBank | ||||
| HouseBankAccount | ||||
| Bank | pos | Bank | ||
| BankCountry | pos | BankCountry | ||
| BankAccount | pos | BankAccount | ||
| AmountInBankAccountCurrency | ||||
| _CompanyCode | _CompanyCode | |||
| _BankAccount | _BankAccount | |||
| _Currency | _Currency | |||
| _Bank | _Bank | |||
| _Country | _Country | |||
| _BankGroup | _BankGroup | |||
| _Text | _Text |
@EndUserText.label: 'Cash Position'
@Analytics: { dataCategory: #CUBE, dataExtraction.enabled: true }
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.sqlViewName: 'ICASHPOSITION'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@Metadata.ignorePropogatedAnnotations: true
@Metadata.allowExtensions: true
define view I_CashPosition
with parameters
P_StartDate : vdm_v_start_date,
P_KeyDate : sydate
as select from P_CashPosition( P_StartDate: $parameters.P_StartDate, P_KeyDate: $parameters.P_KeyDate) as pos
--inner join I_BankAccount as bam
--on pos.BankAccountInternalID = bam.BankAccountInternalID
association [1..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [0..1] to I_BankAccount as _BankAccount on $projection.BankAccountInternalID = _BankAccount.BankAccountInternalID
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_Bank as _Bank on $projection.Bank = _Bank.BankInternalID
and $projection.BankCountry = _Bank.BankCountry
association [0..1] to I_Country as _Country on $projection.BankCountry = _Country.Country
association [0..1] to I_BankAccountWithBGN as _BankGroup on $projection.BankAccountInternalID = _BankGroup.BankAccountInternalID
association [0..1] to I_CertaintyLevelText as _Text on $projection.CertaintyLevel = _Text.CertaintyLevel
and _Text.Language = $session.system_language
{
@ObjectModel.foreignKey.association: '_CompanyCode' //Inserted by VDM CDS Suite Plugin
key pos.CompanyCode,
--key pos.TransactionDate,
@ObjectModel.foreignKey.association: '_BankAccount'
key pos.BankAccountInternalID,
key pos.CertaintyLevel,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_Currency' //Inserted by VDM CDS Suite Plugin
key pos.Currency,
--key pos.HouseBank,
--key pos.HouseBankAccount,
@ObjectModel.foreignKey.association: '_Bank'
pos.Bank,
@ObjectModel.foreignKey.association: '_Country'
pos.BankCountry,
pos.BankAccount,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
cast(pos.Amount as fclm_amount_bnkcrcy) as AmountInBankAccountCurrency,
/* Associations */
_CompanyCode,
_BankAccount,
_Currency,
_Bank,
_Country,
_BankGroup,
_Text
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_CASHPOSITION"
],
"ASSOCIATED":
[
"I_BANK",
"I_BANKACCOUNT",
"I_BANKACCOUNTWITHBGN",
"I_CERTAINTYLEVELTEXT",
"I_COMPANYCODE",
"I_COUNTRY",
"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