cancel
Showing results for 
Search instead for 
Did you mean: 

BI IP DataSlices runtime issue on Bex Analyzer Application.

RaviKVoruganti
Discoverer
0 Kudos

Scenario:

- We are using BEx Analyzer based IP application.

- We have built EXIT class data slice to set the data slice active/inactive at run time.

- On the IP workbook, we have Save and Submit buttons . Save is simply to save the data on the workbook. Submit is to save and copy the data from value type 10 to a new value type 20.

- The input ready query is set to value type 10. We want to have dataslice active/inactive on value type 20 only and this happens when data is being copied from value type 10 to 20 in the submit function.

- So, in other words, working value type 10 is always open. Only submitted value type '20' need to be locked or unlocked.

- On a side note, Locking or unlocking of value type 20 is being recorded in a custom z control table that is referenced in exit class.

Problem:

The only one case we are having an issue is, the exit class is not being hit for the second time if we have performed the same activity.

Regards,

Rav Koundinya

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Rav,

if I understand your requierement correctly you have an exit data slice which protects the data for value type 20. The problem you have seems to be to deactivate the exit data slice right before the execution of the copy function. The second part of the problem is to activate the exit data slice again. Am I right?

How did you implement the data slice. I guess you have a flag (or something similar) in your exit data slice and a method (e.g. activate or deactivate). If yes, you can use the following scheme.

Futhermoer I am assuming you are using the standard planning function "copy" to copy the data from value type 10 to 20.

1. call an exit planning function which calls the method in your exit data slice to deactivate the DS

2. call the copy function

3. call an exit planning function which calls the method in your exit data slice to activate the DS again

I have implemented this already an it is working fine.

Please do not use the method mentioned in [; which is modifying the entry in table rspls_ds. It does not work in your case.

Use the approach at the end of that message. In your case please also take a look at [;. Take a look at case 1 (FOX). This is the same in your case. Instead of using a FOX you are using a standard function. But the principle stays the same (as you can see above).

Hope this helps

Matthias Nutt

SAP Consulting Switzerland

RaviKVoruganti
Discoverer
0 Kudos

Mattaias,

Thank you so much for your response. It is very helpful answer. However we still have couple of things to figure out ...

We have lot of workbooks for different divisions/business units within the company going against different sets of data and we have similar setup as described above...( ie. with Save and Submit buttons - Working versions - value type 10 and submitted versions -Value type 20 )

What it means then, is that we would have to change the planning sequences with planning functions for all of them ...

Is there any way we could acomplish this with just exit class and not have to do planning functions.

What i noticed was the exit class was getting launched the first time we do submit, however on subsequent changes (of data) and submits to workbook, it was bypassing it...

Any further inputs?

Regards,

Rav.

Former Member
0 Kudos

Hi Rav,

exit data slice is called only once:

please check if the flag o_use_buffer is set to RS_C_FALSE in the constructor of your exit data slice. If not the planning framework buffers the result of the exit data slice and the exit data slice is probably called only once. This seems to be the reason why your exit data slice is called only once.

modifying the planning sequences:

You also may consider to use an exit planning function to copy the data from value type 10 to 20. In this case you could implement the case 2 mentioned in [;. That means you can call the data slice in the methods init_execution and finish_execution of your exit planning function. But this means you need to modify the planning sequences as well. Right now, I do not have a solution for this. You need to modify the planninig sequences. But maybe someone else in the forum has a good idea.

Hope this helps

Matthias Nutt

SAP Consulting Switzerland

former_member93896
Active Contributor
0 Kudos

Hi Rav, Matthias,

O_USE_BUFFER is only relevant if you implemented the buffering logic in your own exit class (based on the commented coding).

The correct flag to switch the buffering on or off is IF_RSPLS_DATASLICE->N_USE_EXTERNAL_BUFFER.

Regards,

Marc

SAP NetWeaver RIG

RaviKVoruganti
Discoverer
0 Kudos

Marc,

Thanks a lot for your response. It works !

Regards,

Rav.

Answers (0)