on 11-02-2009 1:56 PM
Hi.
I tried to search about this topic, but did not find something practical.
I want to read data from planning buffer in IP.
I want to create custom planning function that will read this data.
I tried to use next classes:
CL_RSPLS_DELTA_BUFFER Delta Buffer
CL_RSPLS_DELTA_BUFFER_A Delta Buffer for an Aggregation Level
CL_RSPLS_DELTA_BUFFER_AM Virtual Delta Buffer for (Multi-) AGGRLEVEL
CL_RSPLS_DELTA_BUFFER_B Concrete BASIC Delta Buffer
But without success.
Can anybody guide me set by step how to do it ?
My business scenario is: user enters new line in WEB layout and before save I want to check whether this line already exist in cube (this was standart functionality in BPS, but not in IP). So I need read this line from buffer and retrive data from cube with characteristic values of buffer (retrival part I know how to do).
Thanks.
Regards.
I know the answer to this let me know if you still need it....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Andrey,
The other option (may be difficult) is creating a flag characteristic ZCKLINE and differentiate the new line(N) entered and existing lines(O). The SAVE button should save folowed by code which will check the lines of N and O, if line of N is not already present in Lines of O then it should change the Flag from N to O and gives success message. If already exisits then the selective deletion Function Module (FM) executes to delete Line with ZCKLINE = N and throw error message.
Regards,
Gopi R
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Unfortunately my idea does not work.
If I enter line which exists in cube so in buffer this line becomes agregated line with old line (only KF value changes but also in buffer there is one line instead of 2 lines).
I'm very confused with the issue ...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Andrey,
please check note 1101726 Changing the active filter of planning functions
It explain how the plan buffer can be read. But I think you are more interested in the delta buffer which is part of the plan buffer.
This is also explained in that note.
Regards Matthias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you, Matthias, for your helpfull answer.
This note describes how to read buffer according to any selection and how to mark lines that been changed.
It may work but in my situation I have about 50 IP cubes and applications running in production system and make enhancement described in NOTE with derivation (enhance all cubes, add char relationship ...) will not be allowed for me.
I interested in delta buffer but this delta have to be in standart class (without char relationship).
Is it possible in any way ?
Regargs.
Thank you, Matthias, for your helpfull answer.
This note describes how to read buffer according to any selection and how to mark lines that been changed.
It may work but in my situation I have about 50 IP cubes and applications running in production system and make enhancement described in NOTE with derivation (enhance all cubes, add char relationship ...) will not be allowed for me.
I interested in delta buffer but this delta have to be in standart class (without char relationship).
Is it possible in any way ?
Regargs.
Hi Andrey,
even with access to the delta buffer it would be hard (I think impossible) to implement a new lines check.
1. You would need the data the query has read, possibly by reading again the data the query has read (vial plan buffer access). This is in general not possible since the query has much more filtering featues compared to the plan buffer (e.g. restricted key figures).
2. You would need a delta buffer access (but this is not exposed via an 'external API'), but this is not enough since the delta buffer does not care whether a record is new or old. One does not know this in the delta buffer.
To implement a real new line check (only 'real' new lines are allowed) one needs the old result set; this is not even known to the OLAP since e.g. for drill-down only the needed data will be read, not the full grid the end user sees in the front end. In the 7.0 code line this information is simply not there.
With the new infrastructure shipped in 7.01, SP05 (cf. note 1358614) a kind of new lines check in the above sense would be relatively easy (for SAP) to implement. But one question is, what is a new line, think of zero suppression, conditions ? Should the system take records into account filtered out by the above featues ? Should a new line check by a query property ?
Regards,
Gregor
Hi.
Indeed you rised hard questions.
About my issue: in the meantime I has an idea (just workaround) and I want listen opinion about it.
As described in note above i create FM that reads full buffer at the moment.
This full buffer ALREADY CONTAINS new entered line + old lines.
So I will try to retrive existing data from cube according to buffer selection and compare lines between buffer and cube data.
In this scenario I think will be able to deside whether line is new line and if it is exist in cube.
Am I missing something harmfull in this scenario ?
Regards.
User | Count |
---|---|
83 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.