cancel
Showing results for 
Search instead for 
Did you mean: 

BPC Legal Consolidation Roll Up in Group

Former Member
0 Kudos

Dear Experts,

I would like to ask about the behaviors in the BPC Consolidation Monitor.

I have investigated that all transaction data that are consolidated are copied from the No Group/No Scope Group member into the respective Group where the data are consolidated.

For example if I have hierarchy of Core_Group with Subs_Group1 and Subs_Group2 as its children (maintained in PARENT_GROUP property), when we want to consolidate in Core_Group, it will copy the data with G_None (No Group/No Scope) dimension member instead of rolling up from its children (Subs_Group1 and Subs_Group2).

This behavior is undesirable by our clients. Sometimes they want to post manual journals directly into Group level (Subs_Group1 or Subs_Group2) after it is consolidated in the respective group. Then when they want to consolidate the data in the Core_Group, they want the manual journal that they already post in Subs_Group1 and Subs_Group2 to be rolled up into the Core_Group automatically without the need of copying the journal from each children group into their parent.

Is this behavior can be developed in the BPC 10 Netweaver version? We are using the consolidation monitor which is pretty standard by SAP so we don't really know if this roll up behavior can be configured.

Regards,

Siswono Tjia

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi all,

I have found the solution for this issue.

It only exists in the newer version of BPC as described in below link.

Hope it will help you in the similar problem.

I am closing the thread for now.

Thanks.

Regards,

Siswono

Answers (2)

Answers (2)

venkata_singanamala2
Participant
0 Kudos

Hi Siswono

Thanks for your post on Legal Consolidation rollup in groups. We had the same requirement in EPM10 NW also. Aas per as my knowledge goes There is no such function  that at later point of time  systemyou want  automatically move to Core Group(Higher Group).

Only thing you can do is Identify Entries that are going to be move to Core Group with Unique DataSrc/Audittrail member ID

Once they are ready to Move in, Might be they can use Copy Package function  from Sub_Groups1  to Core_Group or Journal Copy function from Subs_Group 1/2 to Core_Groups which you were already aware of it.

You can also down load Manual Entries monthly and upload with Core_Group from subs_Group1/2(tweak the file)

** You can use Reclass function(Account based calculation) using "Source Audit to Destination Audit with Account( if handful of accounts were involved)

   Write a script logic moving from Sub_Groups 1/1 to Core_Groups with Specified Audittrail and also RPTCURRENCY from USD to USD(based on your group currency)

Run Re-class once they are ready to push entries to Core_Groups ****. This process can be run based on need.

Thanks in Advance

Thanks

Venkat

Former Member
0 Kudos

Hi Venkat,

Thanks for your response on this query.

Most of your answers are applicable and can be done in the system.

However in your answers, the additional actions to reclass the journal from the sub group into the core group needs to be done by the sub group, while this reclassification does not really affect their reporting. The reclass in my case should be done by the core group, because they require these journals for their own reporting. If we want to make the reclassification to be done by the sub group as in your answers, that means we need to give the write access to the data in the core group to the performer in the sub group. This access will give the performer of sub group to read and change the data in the core group, which should not be allowed.

Currently I have created a custom BADI to be executed by the performer of core group, to collect all the data posted by manual journals (filtered by specific audittrail) in all of its sub group, and write the data with the core group Group dimension members. This require extra efforts in ABAP and the creation of process chain and should be considered as major enhancement in the system though.

If you have any other suggestions, you are welcomed to give.

Thanks,

Siswono

ALinetzky
Participant
0 Kudos

Dear Siswono

Could you solve this issue, i have the same problem

Regards

Ariel

Former Member
0 Kudos

Hi Ariel,

Please see my reply to Venkat below.

For my solution, I have created the custom BADI to achieve this.

Regards,

Siswono

ALinetzky
Participant
0 Kudos

Dear Siswono

Thanks for your answer

Did you use the Enhancement Spot UJ_CUSTOM_LOGIC? and if you use it, could you share the ABAP code

I want to do the same that you did

Thanks in advance

Regards

Ariel

Former Member
0 Kudos

Hola Siswono,

I would like to use the same solution like you.

Could you share us the BADI or the especification or a  direction to begin.

I mean, This could be a reference to use in all Projects.

Unless SAP has already created a solution for it.

Many thanks.

Best regards

Laura Colin

Former Member
0 Kudos

Hi Laura,

To create the BADI customization in BPC, you can use below link as reference.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20f4252d-98ca-2b10-e689-f85085ae2...

In my logic, I use class IF_UJO_QUERY to get the query adapter and to get the data from the children.

DATA:     lo_query            TYPE REF TO if_ujo_query


"Get the data from Notes Application

   TRY.

       "Get Query Adapter based on environment and application

       lo_query = cl_ujo_query_factory=>get_query_adapter(

           i_appset_id = appset_id

           i_appl_id   = appl_id

       ).

       "Executing query to get the data in Notes Application

       lo_query->run_rsdri_query(

         EXPORTING

           it_dim_name       = lit_dim_list  " BPC: Dimension List

           it_range          = lit_range     " BPC: Selection condition

           if_check_security = abap_false    " BPC: Generic indicator

         IMPORTING

           et_data           = <lfs_query_result>

*          et_message        = lit_message   " BPC: Messages

       ).

     " Exception of common read

     CATCH cx_ujo_read.      "#EC NO_HANDLER

       "Update Execution Log of BPC BADI

       "Error in reading data of Group Children

       CALL METHOD zcl_bpc_badi_collect_data=>update_message

         EXPORTING

           im_message_type = message_type_error

           im_message_no   = '015'.

       error_flag = abap_true.

       "Free all memories reserved for the following objects

       REFRESHlit_dim_list,

                 lit_range.

       FREE:     lo_query,

                 lit_dim_list,

                 lit_range.

       UNASSIGN  <lfs_query_result>.

       RETURN.

   ENDTRY.

.

Then after the data is obtained from the children, you can write the data into the specific cube by changing the Group member into the top group by using below code.

"Write the result data into Consolidation model

     TRY.

         CALL METHOD cl_ujk_write=>write

           EXPORTING

             i_appset_id = appset_id

             i_appl_id   = text-con

           IMPORTING

             et_data     = <lfs_cons_data>.

       CATCH cx_uj_static_check .

         "Update Execution Log of BPC BADI

         "Error in writing the data into Consolidation Model

         CALL METHOD zcl_bpc_badi_collect_data=>update_message

           EXPORTING

             im_message_type = message_type_error

             im_message_no   = '46'.

         error_flag = abap_true.

     ENDTRY.


Some of the parameters used in the code are dependent to my local environment, so I think you might need to change it a little bit.

Thanks.

Regards,

Siswono

Former Member
0 Kudos

Hi Ariel,

Apologize for late response.

In my logic, I use class IF_UJO_QUERY to get the query adapter and to get the data from the children.

DATA:     lo_query            TYPE REF TO if_ujo_query


"Get the data from Notes Application

   TRY.

       "Get Query Adapter based on environment and application

       lo_query = cl_ujo_query_factory=>get_query_adapter(

           i_appset_id = appset_id

           i_appl_id   = appl_id

       ).

       "Executing query to get the data in Notes Application

       lo_query->run_rsdri_query(

         EXPORTING

           it_dim_name       = lit_dim_list  " BPC: Dimension List

           it_range          = lit_range     " BPC: Selection condition

           if_check_security = abap_false    " BPC: Generic indicator

         IMPORTING

           et_data           = <lfs_query_result>

*          et_message        = lit_message   " BPC: Messages

       ).

     " Exception of common read

     CATCH cx_ujo_read.      "#EC NO_HANDLER

       "Update Execution Log of BPC BADI

       "Error in reading data of Group Children

       CALL METHOD zcl_bpc_badi_collect_data=>update_message

         EXPORTING

           im_message_type = message_type_error

           im_message_no   = '015'.

       error_flag = abap_true.

       "Free all memories reserved for the following objects

       REFRESHlit_dim_list,

                 lit_range.

       FREE:     lo_query,

                 lit_dim_list,

                 lit_range.

       UNASSIGN  <lfs_query_result>.

       RETURN.

   ENDTRY.

.

Then after the data is obtained from the children, you can write the data into the specific cube by changing the Group member into the top group by using below code.

"Write the result data into Consolidation model

     TRY.

         CALL METHOD cl_ujk_write=>write

           EXPORTING

             i_appset_id = appset_id

             i_appl_id   = text-con

           IMPORTING

             et_data     = <lfs_cons_data>.

       CATCH cx_uj_static_check .

         "Update Execution Log of BPC BADI

         "Error in writing the data into Consolidation Model

         CALL METHOD zcl_bpc_badi_collect_data=>update_message

           EXPORTING

             im_message_type = message_type_error

             im_message_no   = '46'.

         error_flag = abap_true.

     ENDTRY.


Some of the parameters used in the code are dependent to my local environment, so I think you might need to change it a little bit.

Thanks.

Regards,

Siswono