I_CashPosition

DDL: I_CASHPOSITION SQL: ICASHPOSITION Type: view COMPOSITE

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)

SourceAliasJoin Type
I_BankAccount bam inner
P_CashPosition P_CashPosition from

Parameters (2)

NameTypeDefault
P_StartDate vdm_v_start_date
P_KeyDate sydate

Associations (7)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/