C_ShrtTrmCshPosActualFlow

DDL: C_SHRTTRMCSHPOSACTUALFLOW Type: view_entity CONSUMPTION Package: FCLM_CP_SHORTTERM

Overdue Actual Flows

C_ShrtTrmCshPosActualFlow is a Consumption CDS View that provides data about "Overdue Actual Flows" in SAP S/4HANA. It reads from 11 data sources and exposes 47 fields with key fields CashPositionProfile, CashPositionDisplayCurrency, OriginSystem, OriginApplication, OriginDocument. It has 1 association to related views. It is exposed through 1 OData service (UI_SHORTTERMCASHPOS_DISPLAY). It is used in 1 Fiori application: Short-Term Cash Positioning. Part of development package FCLM_CP_SHORTTERM.

Data Sources (11)

SourceAliasJoin Type
I_CalendarDate CashBalanceDate cross
I_CalendarDate CashBalanceDate cross
I_Currency Currency cross
I_Currency Currency cross
I_CashPositionFlow flow from
I_CashPositionFlow flow union_all
I_CalendarDate KeyDate cross
I_CalendarDate KeyDate cross
I_CashPositionProfile profile cross
I_CashPositionProfile profile cross
I_CashSnapshot Snapshot cross

Associations (1)

CardinalityTargetAliasCondition
[0..*] I_CshPosCurrencySourceText _CshPosCurSoucText $projection.CashPositionCurrencySource = _CshPosCurSoucText.CashPositionCurrencySource

Annotations (11)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Overdue Actual Flows view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
UI.headerInfo.typeName Cash Flow view
UI.headerInfo.typeNamePlural Cash Flows view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.value TransactionDate view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
UI_SHORTTERMCASHPOS_DISPLAY UI_SHORTTERMCASHPOS_DISP V2 C1 NOT_TO_BE_RELEASED_STABLE

Fiori Apps (1)

App IDApp NameTypeDescription
F5380 Short-Term Cash Positioning Transactional, Analytical This app facilitates cash managers and cash specialists to see short-term cash position based on direct bank balances. How cash position will be displayed depends on the selected profiles that are defined in app Define Cash Position Profiles.

Short-Term Cash Positioning

Business Role: Cash Manager

With this new app, you can view the forecasted cash positions for the current data by location, company, and currency. Cash position data is caculated based on the cash position profiles that are defined in the Define Cash Position Profiles app.

Fields (47)

KeyFieldSource TableSource FieldDescription
KEY CashPositionProfile I_CashPositionProfile CashPositionProfile
KEY CashPositionDisplayCurrency I_Currency Currency
KEY OriginSystem I_CashPositionFlow OriginSystem
KEY OriginApplication I_CashPositionFlow OriginApplication
KEY OriginDocument I_CashPositionFlow OriginDocument
KEY OriginTransaction I_CashPositionFlow OriginTransaction
KEY OriginTransactionQualifier I_CashPositionFlow OriginTransactionQualifier
KEY CashFlow I_CashPositionFlow CashFlow
KEY CashBalanceDate I_CalendarDate CalendarDate
KEY KeyDate I_CalendarDate CalendarDate
KEY CashSnapshot I_CashSnapshot CashSnapshot
TransactionDate I_CashPositionFlow TransactionDate
BankAccountInternalID I_CashPositionFlow BankAccountInternalID
CompanyCode I_CashPositionFlow CompanyCode
AmountInBankAccountCurrency
BankAccountCurrency
AmountInDisplayCurrency
CashPositionCurrencySource
CashPositionCurrencySourceText
CshPosScaledAmountInTransCrcy I_CashPositionFlow AmountInTransactionCurrency
AmountInTransactionCurrency I_CashPositionFlow AmountInTransactionCurrency
TransactionCurrency I_CashPositionFlow TransactionCurrency
CompanyCodeName
CashPositionProfile
KEY CashPositionDisplayCurrency I_Currency Currency
KEY OriginSystem I_CashPositionFlow OriginSystem
KEY OriginApplication I_CashPositionFlow OriginApplication
KEY OriginDocument I_CashPositionFlow OriginDocument
KEY OriginTransaction I_CashPositionFlow OriginTransaction
KEY OriginTransactionQualifier I_CashPositionFlow OriginTransactionQualifier
KEY CashFlow I_CashPositionFlow CashFlow
KEY CashBalanceDate I_CalendarDate CalendarDate
KEY KeyDate I_CalendarDate CalendarDate
KEY CashSnapshot
TransactionDate I_CashPositionFlow TransactionDate
BankAccountInternalID I_CashPositionFlow BankAccountInternalID
CompanyCode I_CashPositionFlow CompanyCode
AmountInBankAccountCurrency
BankAccountCurrency
AmountInDisplayCurrency
CashPositionCurrencySource
CashPositionCurrencySourceText
CshPosScaledAmountInTransCrcy I_CashPositionFlow AmountInTransactionCurrency
AmountInTransactionCurrency I_CashPositionFlow AmountInTransactionCurrency
TransactionCurrency I_CashPositionFlow TransactionCurrency
CompanyCodeName
CashClosingAvailBalanceSource
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Overdue Actual Flows'
@Metadata.ignorePropagatedAnnotations: true

@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #L,
  dataClass: #TRANSACTIONAL
}

@UI.presentationVariant: [{requestAtLeast: ['AmountInTransactionCurrency','TransactionCurrency','BankAccountCurrency']}]

@UI.headerInfo: {
  typeName: 'Cash Flow',
  typeNamePlural: 'Cash Flows',
  title: {  type: #STANDARD, value: 'TransactionDate' }
}

@VDM.viewType: #CONSUMPTION
define view entity C_ShrtTrmCshPosActualFlow
  as select from I_CashPositionFlow    as flow
    cross join   I_CashPositionProfile as profile
    cross join   I_Currency            as Currency
    cross join   I_CalendarDate        as KeyDate
    cross join   I_CalendarDate        as CashBalanceDate
    cross join   I_CashSnapshot        as Snapshot
  association [0..*] to I_CshPosCurrencySourceText as _CshPosCurSoucText on $projection.CashPositionCurrencySource = _CshPosCurSoucText.CashPositionCurrencySource
{
      @UI.facet: [{
                    id: 'GenInfoSec',
                    type: #COLLECTION,
                    purpose: #STANDARD,
                    position: 10,
                    label: 'General Information'
                                             },
                    //General Info field group

                    {
                    id: 'GenInfo',
                    parentId: 'GenInfoSec',
                    type: #FIELDGROUP_REFERENCE,
                    position: 10,
                    targetQualifier: 'GenInfo',
                    label: 'General Information'

                                             }]
      @UI.hidden: true
  key profile.CashPositionProfile,
      @EndUserText:{label: 'Display Currency'}
      @UI.hidden: true
  key Currency.Currency                                                        as CashPositionDisplayCurrency,
  key flow.OriginSystem,
      @UI.fieldGroup: [{position: 20, qualifier: 'GenInfo' }]
      /* start suppress warning shlporigin_not_inherited */
  key flow.OriginApplication,
      @UI.fieldGroup: [{position: 30, qualifier: 'GenInfo' }]
      @UI.lineItem: [{position: 10, importance: #HIGH }]
  key flow.OriginDocument,
  key flow.OriginTransaction,
  key flow.OriginTransactionQualifier,
  key flow.CashFlow,
      @UI.hidden: true
  key CashBalanceDate.CalendarDate                                             as CashBalanceDate,
      @UI.hidden: true
  key KeyDate.CalendarDate                                                     as KeyDate,
      @UI.hidden: true
  key Snapshot.CashSnapshot,
      //  key KeyDate.CalendarDate                                                     as KeyDate,

      //  key CashBalanceDate.CalendarDate                                             as CashBalanceDate,

      @UI.hidden: true
      @UI.lineItem: [{position: 20, importance: #HIGH}]
      @UI.fieldGroup: [{position: 10, qualifier: 'GenInfo' }]
      flow.TransactionDate,

      flow.BankAccountInternalID,

      @Consumption.semanticObject: 'CompanyCode'
      @ObjectModel.text.element: [ 'CompanyCodeName' ]
      @UI.textArrangement: #TEXT_LAST
      flow.CompanyCode,

      @UI.lineItem: [{position:30, importance: #HIGH }]
      @Semantics.amount.currencyCode: 'BankAccountCurrency'
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FCLM_STCP_CALCULATE_AMOUNT'
      @UI.fieldGroup: [{position: 40, qualifier: 'GenInfo' }]
      cast(cast(0 as abap.curr(23,2)) as fclm_amount_bnkcrcy preserving type ) as AmountInBankAccountCurrency,
      @EndUserText:{label: 'Bank Account Currency'}
      @UI.hidden: true
      flow._BankAccount.BankAccountCurrency,

      @UI.lineItem: [{position: 40, importance: #HIGH }]
      @Semantics.amount.currencyCode: 'CashPositionDisplayCurrency'
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FCLM_STCP_CALCULATE_AMOUNT'
      @EndUserText:{label: 'Amount in Target Currency', quickInfo: 'Amount in Target Currency'}
      @UI.fieldGroup: [{position: 50, qualifier: 'GenInfo' }]
      cast(cast(0 as abap.curr(23,2)) as fqm_amount preserving type )          as AmountInDisplayCurrency,

      @UI.hidden                   : true
      profile. CashPositionCurrencySource,

      @UI.lineItem: [{position: 70, importance: #HIGH}]
      @UI.fieldGroup: [{position: 80, qualifier: 'GenInfo' }]
      @EndUserText:{label: 'Cash Position Currency Source', quickInfo: 'Cash Position Currency Source'}
      _CshPosCurSoucText[1:Language = $session.system_language].CashPositionCurrencySourceText,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FCLM_STCP_CALCULATE_AMOUNT'
      @UI.fieldGroup: [{position: 60, qualifier: 'GenInfo' }]
      @EndUserText:{label: 'Amount in Transaction Currency', quickInfo: 'Amount in Transaction Currency'}
      flow.AmountInTransactionCurrency                                         as CshPosScaledAmountInTransCrcy,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @UI.hidden: true
      flow.AmountInTransactionCurrency,
      @EndUserText:{label: 'Transaction Currency'}
      @UI.hidden: true
      flow.TransactionCurrency,
      /* end suppress warning shlporigin_not_inherited */
      @Semantics.text: true
      flow._CompanyCode.CompanyCodeName,

      @UI.hidden: true
      cast('' as fclm_balance_clav_source)                                     as CashClosingAvailBalanceSource


}
where
      flow.ValidFrom               <= Snapshot.CreationDateTime
  and flow.ValidTo                 >= Snapshot.CreationDateTime
  and flow.CertaintyLevel          =  'ACTUAL'
  and flow.CashTransactionOwner    <> 'IBU'
  and flow.CashTransactionOwner    <> 'AGG'
  and KeyDate.CalendarDate         >  flow.TransactionDate
  and CashBalanceDate.CalendarDate <  flow.TransactionDate

union all select from I_CashPositionFlow    as flow
  cross join          I_CashPositionProfile as profile
  cross join          I_Currency            as Currency
  cross join          I_CalendarDate        as KeyDate
  cross join          I_CalendarDate        as CashBalanceDate
association [0..*] to I_CshPosCurrencySourceText as _CshPosCurSoucText on $projection.CashPositionCurrencySource = _CshPosCurSoucText.CashPositionCurrencySource
{
  key profile.CashPositionProfile,
  key Currency.Currency                                                        as CashPositionDisplayCurrency,
  key flow.OriginSystem,
      /* start suppress warning shlporigin_not_inherited */
  key flow.OriginApplication,
  key flow.OriginDocument,
  key flow.OriginTransaction,
  key flow.OriginTransactionQualifier,
  key flow.CashFlow,
  key CashBalanceDate.CalendarDate                                             as CashBalanceDate,
  key KeyDate.CalendarDate                                                     as KeyDate,
  key cast('0000000000' as fclm_snapshot_id)                                   as CashSnapshot,
      //  key KeyDate.CalendarDate                                                     as KeyDate,

      //  key CashBalanceDate.CalendarDate                                             as CashBalanceDate,

      flow.TransactionDate,

      flow.BankAccountInternalID,


      flow.CompanyCode,


      cast(cast(0 as abap.curr(23,2)) as fclm_amount_bnkcrcy preserving type ) as AmountInBankAccountCurrency,

      flow._BankAccount.BankAccountCurrency,

      cast(cast(0 as abap.curr(23,2)) as fqm_amount preserving type )          as AmountInDisplayCurrency,

      profile. CashPositionCurrencySource,


      _CshPosCurSoucText[1:Language = $session.system_language].CashPositionCurrencySourceText,

      flow.AmountInTransactionCurrency                                         as CshPosScaledAmountInTransCrcy,
      flow.AmountInTransactionCurrency,
      flow.TransactionCurrency,
      /* end suppress warning shlporigin_not_inherited */
      flow._CompanyCode.CompanyCodeName,

      cast('' as fclm_balance_clav_source)                                     as CashClosingAvailBalanceSource


}
where
      flow.ValidFrom               <= tstmp_current_utctimestamp( )
  and flow.ValidTo                 >= tstmp_current_utctimestamp( )
  and flow.CertaintyLevel          =  'ACTUAL'
  and flow.CashTransactionOwner    <> 'IBU'
  and flow.CashTransactionOwner    <> 'AGG'
  and KeyDate.CalendarDate         >  flow.TransactionDate
  and CashBalanceDate.CalendarDate <  flow.TransactionDate;