Financial Management Blogs by Members
Dive into a treasure trove of SAP financial management wisdom shared by a vibrant community of bloggers. Submit a blog post of your own to share knowledge.
cancel
Showing results for 
Search instead for 
Did you mean: 
lucas_costa3
Active Contributor
In BPC Embedded Consolidation the use of Data Manager Packages is not supported anymore. Instead Task Sequences are required to group the Business Rules to be executed via the Consolidation Monitor.

Through note 2476459 - Trigger Consolidation Tasks from Analysis Office, a new Function Type has been introduced to allow the launch of consolidation logic via planning functions. The planning function can then be attached to an Analysis for Office workbook and executed from there.

One gap in the function type, is that, does not allow the selection of BPC Environment or Model. Which will quite often cause an error when executing from RSPLAN or via ABAP (that will call the planning function).

To overcome this, we need to create a new Function Type and Implementation Class and make it available the option to set the BPC Environment and Model.

1- Implementation Class

Go to SE24 and copy the class: CL_UJP_CONS_SRVTYPE

I copied to ZCL_UJP_CONS_SRVTYPE

In row 46 include the following code:
* BPC Environment
get_parameter_value( EXPORTING i_r_param_set = <l_s_rule>-r_param_set
i_param_name = 'APPSET'
i_param_elem = rs_c_true
IMPORTING e_param_value = p_appset_id ).
* BPC Model
get_parameter_value( EXPORTING i_r_param_set = <l_s_rule>-r_param_set
i_param_name = 'APPL'
i_param_elem = rs_c_true
IMPORTING e_param_value = p_appl_id ).

Move the following section to the end of the loop at l_t_rule - as this section requires the BPC Environment and Model to work:
* Get key figure
IF p_keyfigure IS INITIAL.
TRY.
p_keyfigure = cl_ujp_utility=>get_dim_by_type( EXPORTING i_appset_id = p_appset_id
i_application_id = p_appl_id
i_type = cl_rsbpca_constants=>n_c_dim_type_measure
i_prov_role = cl_rsbpca_constants=>n_c_iprov_role_consolidation ).

CATCH cx_uja_admin_error.
CATCH cx_uj_no_auth.
CATCH cx_uj_static_check.


* X Message

ENDTRY.
ENDIF.

 

2- Info Objects

Create two info objects one for BPC Environment and one for BPC model.

I've created both as Char 20, no master data and no text.

3- Function Type

Now go to RSPLF1 and copy function type /CPMB/LAUNCH_LOGIC.

I copied to ZLAUNCH_LOGIC

In the properties tab, you will need to update the Implementation Class to your newly created one:



In the Parameter tab, create two new Elementary parameters:

APPSET and APPL



3- Planning Stuff

All done. Just create your Aggregation Level, Filter, Planning Function and Sequence and execute via RSPLAN.

 

 
12 Comments
charles_soper
Participant
0 Kudos
Hi Lucas,

What row did you insert the following code into:)

* Get key figure
IF p_keyfigure IS INITIAL.
TRY.
p_keyfigure = cl_ujp_utility=>get_dim_by_type( EXPORTING  i_appset_id      = p_appset_id
i_application_id =  p_appl_id
i_type           = cl_rsbpca_constants=>n_c_dim_type_measure
i_prov_role      = cl_rsbpca_constants=>n_c_iprov_role_consolidation ).

CATCH cx_uja_admin_error.
CATCH cx_uj_no_auth.
CATCH cx_uj_static_check.
lucas_costa3
Active Contributor
0 Kudos
Hi,

After the endloop of the loop at l_t_rule. This piece is actually at the beginning of the code, but it requires the parameters we created in order to work.

Cheers,

Lucas
gerd_schoeffl
Product and Topic Expert
Product and Topic Expert

Hi Lucas,

Nice post. Just two small remarks:

  1. The correct note number for executing consolidation functionality from AO is 237922.The note 2476459 mentioned above allows to set a ‘default’ emnvironment and model in the user parameters. This combination will then be used any time a user triggers a planning function from RSPLAN. This note actually also bridges the gap that in RSPLAN the environment and model are not know.
  2. The coding described above needs to be inserted into the method 'GET_PARAMETERS' of the copied class.

Best regards,

Gerd

former_member216978
Participant
0 Kudos
Awsome blog post !! Just that a sap note is now available to debug the consolidation tasks as well  just like UJKT but that might not be so great as this example !!
anil_agrawal
Active Participant
0 Kudos
Awsome blog post !!

 
former_member192249
Participant
0 Kudos
Thank you lucas.costa4, How do you restrict the planning function with property values. The planning sequence has a filter where it is restricted by Property but unable to restrict the planning function with property value. Due to this the planning function is not executing as it has different filters compared to planning sequence filter. Appreciate if you could explain how this can be achieved via Z - Custom Launch.
former_member279404
Discoverer
0 Kudos
Hi Gerd,

 

This peace of code is not working , i am getting dump.

Please advise.


SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S31 {
font-style: italic;
color: #808080;
}
.L0S52 {
color: #0000FF;
}
.L0S55 {
color: #800080;
}
.L0S70 {
color: #808080;
}
    IF p_keyfigure IS INITIAL.
TRY.
p_keyfigure cl_ujp_utility=>get_dim_by_typeEXPORTING  i_appset_id      p_appset_id
i_application_id =  p_appl_id
i_type           cl_rsbpca_constants=>n_c_dim_type_measure
i_prov_role      cl_rsbpca_constants=>n_c_iprov_role_consolidation ).

CATCH cx_uja_admin_error.
CATCH cx_uj_no_auth.
CATCH cx_uj_static_check.


* X Message

ENDTRY.
ENDIF.

 

Thanks and Regards,

Prashant
0 Kudos
 

So please do not laugh at me too much, but how do I call this custom class using a Planning Function? I see the choice for "Launch Consolidation Logic, but where do I go from there?

 

We are using BW 7.4 SP16 on Hana with BPC 10.1 Embedded and we want to automate the Cons Monitor. I wrote ABAP code to automate the 'Post Loads' in BPC 7.5, but I cannot trap how the web-based Cons Monitor hooks into the Netweaver side. Any help or tricks would be greatly appreciated.
Hi Lukas,

I want to add some remarks about the approach outlined here.

1 BPC embedded runs in a kind of 'container' called the OLAP area: an area has attributes and two attributes are BPC Environment, BPC Model; this information has to be set by the client when the user session is opened. This approach is explained in

https://blogs.sap.com/2014/10/21/concepts-compared-bpc-standard-and-bpc-embedded/

in section 3.

2 Analysis Office and Design Studio allow to set BPC Environment/Model information, e.g. in Analysis Office on the Components tab -> Planning Model.

3. Without BPC Environment/Model set in the run time container (OLAP area) one gets BW-IP/PAK and no BPC embedded feature is considered at all, e.g. no DAPs, no BPC embedded work status. Only with BPC Enviroment/Model set by the client the run time knows about BPC embedded features and will e.g. check DAP (authorizations) and work status. More details can be found here:

https://blogs.sap.com/2016/07/18/bpc-101-embedded-how-daps-determine-authorizations-for-hcprs/

4. The above mentioned note 2476459 introduces two parameter IDs that allow to set BPC Enviroment/Model information to be used in transaction RSPLAN (i.e. the customizing and test enviroment for planning functions/sequences).

5. Note 2698203 allows to use the same parameter IDs to set BPC Enviroment/Model information in planning sequences used in process chains.

The approach described in this blog uses planning function parameters and a 'custom' planning function type that calls the BPC consolidation engine. The problem here is that planning functions might not be self-contained, i.e. BW services might be called that use no or other BPC Enviroment/Model information: this information must not come from planning function parameters but from the OLAP area used at run time. This is how the standard implementation works. The approach in the blog overwrites the OLAP area run time information in the planning function: p_appset_id, p_appl_id.

Regards,

Gregor
0 Kudos
Kurt, did you find a solution to your problem? We are also interested in the possibility of launching our Abap from the Consolidation Monitor.
0 Kudos
Hello Lucas,

I am receiving the same error as Prashant.

we had two issues with the logic

  1. when we use the customized LAUNCH/ LOGIC  Planning class as described above, if we go to Planning Function and then try to map the created Custom Planning function type, it throws an error as the ZAPPSET and ZAPPL is not a valid Parameter and needs to be activated from BI content. However these are Zobjects and they have been created as charecteristics without any master data or texts. I am unable to add these Zobjects(ZAPPSET and ZAPPL) to any ag level or composite provider. the two Zobjects are in activated state.

  2. I tried to use the standard /CPMB/LAUNC_LOGIC and followed the note 2379229. This resulted in the Dump error which Prashant is referring to when executing the planning sequence. I am on RTC 1709, just wanted to check if this is valid or there is any other route, if i have to use a Batch Job to trigger the consolidation Processes.


Thanks and Regards,

Shankar
syedwasay_safder
Participant
0 Kudos
Hi Gregor,

Thanks for providing this information. If I understand correctly your approach recommends following the note 2476459 and then try to execute consolidation tasks via planning functions?

Or should we follow the custom class and function type development as detailed in this blog?

We are currently trying to run IC_DATA (IC Matching) business rule from AO (via planning function) and its giving the error "SAP BI Add-In has disconnected all the data source".

When we try to run the planning sequence from the back end (RSPLAN), we face the error "Access using a zero object reference is not possible".

Any help/guidance will be much appreciated.

Best Regards,

Syed Wasay
Top kudoed authors