cancel
Showing results for 
Search instead for 
Did you mean: 

Plan Data not saved

dieterzenger
Participant
0 Kudos

Dear all,

i have the follwoing problem: Within our BCS System I have to call a Planning Function (Type: Exit planning function) which does some calculation on a IP planning cube, not on the BCS Cube itself. I found the example program (RSPLS_PLSEQ_EXECUTE) from SAP to trigger a Planning Sequence. Unfortunately I have to call the planning function for the selected parameter (Version / Year / Period / Company) in the Consolidation Monitor. The Program RSPLS_PLSEQ_EXECUTE is asking for a variant. I do not want to create hundreds of variants for all combinations which can occur. Therefore I tried to call directly the planning function,calling the method

EXECUTE_SERVICE of class cl_rsplfr_controller. After the method is executed, the plan data are not saved to the cube. Can someone tell me, which method i have to call storing the data, or can give me a hint, how i can execute a Planning Function from a custom program ?

Thank you

Dieter

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

take a look at the implementation of report RSPLS_PLSEQ_EXECUTE.

There you can find the following code:


    IF save <> space.
      g_r_application = cl_rspls_plan_application=>get( ).
      g_r_data_area   = g_r_application->get_data_area( ).
      g_r_area = g_r_data_area->get_olap_area( ).
      g_r_area->save( ).
    ENDIF.

Regards Matthias

dieterzenger
Participant
0 Kudos

Thank you Mathias for your help.

The plan data are being saved now. Another Problem occured while executing the Planning Function with the "Execute_Service" method. If an Error occured in the Planning function the Method has only the returning paramter "r_ok". If it failed r_ok is not filled. But I can't see what the problem in the planning function was. When debugging the method i saw that the object l_r_msg (type cl_rsplfu_msg) is filled with a real error message. Is it possible to access the objekt from my call program ? I already tried the following, after executing the Planning function, but the Message table is empty at this point.


data: l_r_msg type REF TO  cl_rsplfu_msg.
data: t_msg type RSPLF_T_MSG.
create object l_r_msg.

CALL METHOD l_r_msg->get_t_msg
  receiving
    r_t_msg = t_msg.

Thank you

Dieter

Former Member
0 Kudos

Hi Dieter,

try calling function module


CALL FUNCTION 'RSPLFR_SERVICE_LOG_READ'
    TABLES
      E_T_LOG = L_TK_RETURN.

after the execution of your planning function. This should solve your issue.

Regards Matthias

dieterzenger
Participant
0 Kudos

Thank you Mathias, it works.

Dieter

Answers (1)

Answers (1)

Former Member
0 Kudos

May be you can try with function module RSPLSSQ_PLSQ_SAVE.

dieterzenger
Participant
0 Kudos

Hi, i don't have a planning Sequence, only a Planning Function.

Thank you

Dieter