C_ShrtTrmCshPosActualFlow

DDL: C_SHRTTRMCSHPOSACTUALFLOW SQL: CSTCPACTLFLW Type: view CONSUMPTION

Overdue Actual Flows

C_ShrtTrmCshPosActualFlow is a Consumption CDS View that provides data about "Overdue Actual Flows" in SAP S/4HANA. It reads from 3 data sources (I_Currency, I_CashPositionFlow, I_CashPositionProfile) and exposes 19 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.

Data Sources (3)

SourceAliasJoin Type
I_Currency Currency cross
I_CashPositionFlow flow from
I_CashPositionProfile profile cross

Associations (1)

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

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName CSTCPACTLFLW view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
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_RELEASED

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 (19)

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
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
@AbapCatalog.sqlViewName: 'CSTCPACTLFLW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Overdue Actual Flows'
@Metadata.ignorePropagatedAnnotations: true

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

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

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

@VDM.viewType: #CONSUMPTION
define view C_ShrtTrmCshPosActualFlow
  as select from I_CashPositionFlow    as flow
    cross join   I_CashPositionProfile as profile
    cross join   I_Currency            as Currency
  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,
      @Semantics.currencyCode: true
      @EndUserText:{label: 'Display Currency'}
      @UI.hidden: true
  key Currency.Currency                                                        as CashPositionDisplayCurrency,
  key flow.OriginSystem,
      @UI.fieldGroup: [{position: 20, qualifier: 'GenInfo' }]
  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.lineItem: [{position: 20, importance: #HIGH}]
      @UI.fieldGroup: [{position: 10, qualifier: 'GenInfo' }]
      flow.TransactionDate,

      flow.BankAccountInternalID,

      flow.CompanyCode,

      @UI.lineItem: [{position:30, importance: #HIGH }]
      @Semantics.amount.currencyCode: 'BankAccountCurrency'
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: '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,
      @Semantics.currencyCode: true
      @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: '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: '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,
      @Semantics.currencyCode: true
      @EndUserText:{label: 'Transaction Currency'}
      @UI.hidden: true
      flow.TransactionCurrency
}
where
      flow.IsValid              =  'X'
  and flow.CertaintyLevel       =  'ACTUAL'
  and flow.CashTransactionOwner <> 'IBU'
  and flow.CashTransactionOwner <> 'AGG'