I_CASHPOSITIONFLOW

CDS View

Cash Position Flow

I_CASHPOSITIONFLOW is a CDS View in S/4HANA. Cash Position Flow. It contains 23 fields. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
C_ShrtTrmCshPosActualFlow view from CONSUMPTION Overdue Actual Flows
P_CashLiquidityFlow view from BASIC Cash Liquidity Flow for WCI
P_RecnclnCashFlowBasic view from COMPOSITE

Fields (23)

KeyField CDS FieldsUsed in Views
KEY CashFlow CashFlow 2
KEY CashFlowID CashFlowID 1
KEY OriginApplication OriginApplication 2
KEY OriginDocument OriginDocument 2
KEY OriginSystem OriginSystem 2
KEY OriginTransaction OriginTransaction 2
KEY OriginTransactionQualifier OriginTransactionQualifier 2
KEY ValidFrom ValidFrom 1
_BankAccount _BankAccount 1
_CompanyCode _CompanyCode 1
AccountingDocument AccountingDocument 1
AmountInCompanyCodeCurrency AmountInCompanyCodeCurrency 2
AmountInTransactionCurrency AmountInTransactionCurrency,CshPosScaledAmountInTransCrcy 3
BankAccountInternalID BankAccountInternalID 3
CertaintyLevel CertaintyLevel 2
CompanyCode CompanyCode 3
CompanyCodeCurrency CompanyCodeCurrency 2
DocumentItemText DocumentItemText 1
ExpirationDate ExpirationDate 1
LiquidityItem LiquidityItem 1
PlanningLevel PlanningLevel 1
TransactionCurrency TransactionCurrency 3
TransactionDate TransactionDate 3
@VDM.viewType: #BASIC
@Analytics: { dataCategory: #FACT, dataExtraction.enabled: false }
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.sqlViewName: 'ICSHPOSFLW'
@AbapCatalog.preserveKey:true@AbapCatalog.compiler.compareFilter:true
@EndUserText.label: 'Cash Position Flow'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
define view I_CashPositionFlow
  as select from P_FQMFLOWCASHPOS as flow
  association [1..1] to I_CompanyCode                  as _CompanyCode        on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [1..1] to I_CompanyCode                  as _SourceCompanyCode  on  $projection.SourceCompanyCode = _SourceCompanyCode.CompanyCode
  association [0..1] to I_BankAccount                  as _BankAccount        on  $projection.BankAccountInternalID = _BankAccount.BankAccountInternalID
  association [0..1] to I_Currency                     as _Currency           on  $projection.TransactionCurrency = _Currency.Currency
  association [0..1] to I_CashPlanningGroup            as _CashPlanningGroup  on  $projection.CashPlanningGroup = _CashPlanningGroup.CashPlanningGroup
  association [0..1] to I_PlanningLevel                as _PlanningLevel      on  $projection.PlanningLevel = _PlanningLevel.PlanningLevel
  association [0..1] to I_LiquidityItem                as _LiquidityItem      on  $projection.LiquidityItem = _LiquidityItem.LiquidityItem
  association [0..1] to I_Glaccountwithaccountcurrency as _GLAccount          on  $projection.CompanyCode = _GLAccount.CompanyCode
                                                                              and $projection.GLAccount   = _GLAccount.GLAccount
  association [0..1] to I_WBSElementByInternalKey      as _WBSElement         on  $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  association [0..1] to I_AccountingDocument           as _AccountingDocument on  $projection.CompanyCode        = _AccountingDocument.CompanyCode
                                                                              and $projection.FiscalYear         = _AccountingDocument.FiscalYear
                                                                              and $projection.AccountingDocument = _AccountingDocument.AccountingDocument

{
  key flow.OriginSystem,
  key flow.OriginApplication,
  key flow.OriginDocument,
  key flow.OriginTransaction,
  key flow.OriginTransQualifier                                                                   as OriginTransactionQualifier,
  key flow.CashFlow,
      @Semantics.systemDateTime.createdAt: true
  key cast( flow.ValidFrom as timestampl )                                                        as ValidFrom,
      @Semantics.systemDateTime.lastChangedAt: true
  key cast( flow.ValidTo as timestampl )                                                          as ValidTo,
  key flow.flow_id                                                                                as CashFlowID,

      // general fields

      flow.IsValid,
      flow.CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      cast( flow.CreationDateTime as timestampl )                                                 as CreationDateTime,
      flow.LastChangedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      cast( flow.LastChangeDateTime as timestampl )                                               as LastChangeDateTime,
      flow.Owner                                                                                  as CashTransactionOwner,
      @ObjectModel.foreignKey.association: '_CompanyCode'
      flow.CompanyCode,
      flow.TransactionDate,
      flow.CertaintyLevel,
      @Semantics.currencyCode: true
      flow.Currency                                                                               as TransactionCurrency,
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @DefaultAggregation: #SUM
      flow.Amount                                                                                 as AmountInTransactionCurrency,
      @Semantics.currencyCode: true
      case when CertaintyLevel = 'CSHRQ' then cast('' as fqm_currency) else flow.BaseCurrency end as CompanyCodeCurrency,
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      case when CertaintyLevel = 'CSHRQ' then cast(0 as fqm_amount) else flow.BaseAmount end      as AmountInCompanyCodeCurrency,
      flow.rel_status                                                                             as CashReleaseStatus,

      // accouting fields

      @ObjectModel.foreignKey.association: '_AccountingDocument'
      flow.AccountingDocument,
      flow.AccountingDocumentItem,
      flow.FiscalYear,
      flow.FiscalPeriod                                                                           as PostingFiscalPeriod,
      flow.AccountingDocumentType,
      flow.PaymentMethodCode                                                                      as PaymentMethod,
      @ObjectModel.foreignKey.association: '_GLAccount'
      flow.GLAccount,
      flow.FinancialAccountType,
      flow.DocumentItemText,
      flow.PostingDate,      
      flow.fi_due_date                                                                            as NetDueDate,
      @ObjectModel.foreignKey.association: '_CashPlanningGroup'
      flow.PlanningGroup                                                                          as CashPlanningGroup,
      @ObjectModel.foreignKey.association: '_PlanningLevel'
      flow.PlanningLevel,

      // bank fields

      flow.HouseBank,
      flow.HouseBankAccount,
      @ObjectModel.foreignKey.association: '_BankAccount'
      flow.BankAccountId                                                                          as BankAccountInternalID,

      // account assignment

      flow.Customer,
      flow.Vendor                                                                                 as Supplier,
      flow.Partner                                                                                as BusinessPartner,
      flow.Material,
      flow.BusinessArea,
      flow.ProfitCenter,
      @ObjectModel.foreignKey.association: '_WBSElement'
      cast(flow.Project as ps_s4_pspnr)                                                           as WBSElementInternalID,
      flow.PartnerCompany,
      flow.CostCenter,
      flow.Segment,
      @ObjectModel.foreignKey.association: '_LiquidityItem'
      flow.LiquidityItem,
      flow.AssignedCompanyCode                                                                    as SourceCompanyCode,
      flow.Fund,
      flow.GrantID,

      // trm fields

      flow.ProductType                                                                            as FinancialInstrumentProductType,
      flow.FinancialTransactionType,
      flow.SecurityClass,
      flow.TrmSecurityAccount                                                                     as SecurityAccount,
      flow.ContractNumber                                                                         as AssetContract,
      flow.Portfolio,

      // memo record fields

      case when ( flow.CertaintyLevel = 'MEMO' or flow.CertaintyLevel = 'INTRAM' ) and flow.fi_due_date > '00000000'
           then flow.fi_due_date else cast('99991231' as abap.dats) end                                                                                as ExpirationDate,
      cast( flow.BankStatementShortKey as kukey_eb )                                              as BankStatementShortID,
      flow.BankStatementItem,

      /* Associations */
      _CompanyCode,
      _BankAccount,
      _Currency,
      _CashPlanningGroup,
      _PlanningLevel,
      _LiquidityItem,
      _GLAccount,
      _WBSElement,
      _SourceCompanyCode,
      _AccountingDocument
}
where
  (
       flow.cmm_state     = '0'
    or flow.cmm_state     = ''
  )
  and(
       cashrequest_status = ''
    or cashrequest_status = 'C'
    or cashrequest_status = 'S'
    or cashrequest_status = 'R'
    or cashrequest_status = 'T'
  )