cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to add Consolidation FS Item by Time Version to the Group Data Analysis app?

0 Likes
640

Hi experts,

This is my first time working with an FS Item configuration, so I might be missing some detail, however, I'll try to explain the issue as much as possible.

I have a requirement for extending the Group Data Analysis app (W0135) on a SAP S/4HANA 2022 on-premises system. The users need to be able to add some of the information available in the customising table "Consolidation FS Item by Time Version" (fincs_fsiassgmt).

So far, I have gone with the ABAP Extensibility route and added a custom CDS extension to the GDA query (C_CnsldtnRpt30Q) and the underlying Matrix Consolidation views (I_MatrixCnsldtnFndnCube and I_MatrixCnsldtnFndnPeriodic). With this, the fields become available in the Query. However, there's an unexpected result when running the query.

The FS Item has two validity periods in the customising table (using CDS view I_CnsldtnFSItemByTimeVersion), one on FYP range 0000.000 to 2023.004 and the other on FYP 2023.005 to 9999.999

andres_rodriguez_guapacha_0-1717691163046.png

andres_rodriguez_guapacha_3-1717692206973.png

 

But the resulting query run with YTD Period Mode shows the Elimination Selection field as unchanged only until FYP > 2024.000. 

andres_rodriguez_guapacha_2-1717692159065.png

The users are expecting to see the YTD mode to reflect the configuration on the FS Item Attribute, even if there is no data in ACDOCU until FYP 2024.000.

Here's an extract of my implementation of the link between the CDS views:

extend view C_CnsldtnRpt30Q with YGL_COBL_E_GRPDTAPPEXT
{
// ...
  @AnalyticsDetails.query.axis: #FREE
  @AnalyticsDetails.query.display: #KEY_TEXT
  MatrixCnsldtnFndnCube.CnsldtnFSItemElimination,

  @AnalyticsDetails.query.axis: #FREE
  @AnalyticsDetails.query.display: #KEY_TEXT
  MatrixCnsldtnFndnCube.CnsldtnFSItemCustomerSpecific
}

 

extend view I_MatrixCnsldtnFndnCube with YGL_COBL_E_MTRXCNSLDFNCEXT
{
// ...
  association [0..1] to I_CnsldtnFSItemByTimeVersion as _CsFSItemAttribute on  $projection.consolidationchartofaccounts =  _CsFSItemAttribute.ConsolidationChartOfAccounts
                                                                           and $projection.financialstatementitem       =  _CsFSItemAttribute.CnsldtnFinancialStatementItem
                                                                           and $projection.consolidationversion         =  _CsFSItemAttribute.ConsolidationVersion
                                                                           and $projection.fiscalyearperiod             >= _CsFSItemAttribute.FromFiscalYearPeriod
                                                                           and $projection.fiscalyearperiod             <= _CsFSItemAttribute.ToFiscalYearPeriod

// ...
  @ObjectModel.foreignKey.association: '_CnsldtnFSItemElimination'
  _CsFSItemAttribute.CnsldtnFSItemElimination,

  @ObjectModel.foreignKey.association: '_CnsldtnFSItemCustSpcfc'
  _CsFSItemAttribute.CnsldtnFSItemCustomerSpecific,

  _CsFSItemAttribute,
  _CsFSItemAttribute._CnsldtnFSItemElimination,
  _CsFSItemAttribute._CnsldtnFSItemCustSpcfc,

}
extend view I_MatrixCnsldtnFndnPeriodic with YGL_COBL_E_IMCFNDNPEXT
{
//...
  association [0..1] to I_CnsldtnFSItemByTimeVersion as _CsFSItemAttribute on  $projection.consolidationchartofaccounts =  _CsFSItemAttribute.ConsolidationChartOfAccounts
                                                                           and $projection.financialstatementitem       =  _CsFSItemAttribute.CnsldtnFinancialStatementItem
                                                                           and $projection.consolidationversion         =  _CsFSItemAttribute.ConsolidationVersion
                                                                           and $projection.fiscalyearperiod             >= _CsFSItemAttribute.FromFiscalYearPeriod
                                                                           and $projection.fiscalyearperiod             <= _CsFSItemAttribute.ToFiscalYearPeriod

// ...

  @ObjectModel.foreignKey.association: '_CnsldtnFSItemElimination'
  _CsFSItemAttribute.CnsldtnFSItemElimination,

  @ObjectModel.foreignKey.association: '_CnsldtnFSItemCustSpcfc'
  _CsFSItemAttribute.CnsldtnFSItemCustomerSpecific,
  _CsFSItemAttribute,
  _CsFSItemAttribute._CnsldtnFSItemElimination,
  _CsFSItemAttribute._CnsldtnFSItemCustSpcfc,

//...
}

 

  1. Am I missing some functionality of the FS Item configuration? Or is it an error in the logic of the CDS views that retrieve the data from the Consolidation tables?
  2. Are CDS views too complicated for this task? Is there any other way to implement this? Maybe using the Custom Fields and Logic app?

In any case, many thanks in advance for any help or guidance that you can provide.

 

Accepted Solutions (0)

Answers (0)