I have a question concerning the new authorization concept.
I created an authorization for 0COSTCENTER which also contains the 3 special characters 0TCAACTVT, 0TCAIPROV and 0TCAVALID. I inserted a customer exit variable for 0COSTCENTER. The exit reads datasets from a db table which contains authorizations for the actual user. The authorizations have different formats, e.g. "1000", "1000;1200", "25*" etc.
The internal table e_t_range is filled as followed in the exit:
i eq 1000
i bt 1000 1200
i cp 25*
This does not work. It works if I only use "eq" OR "cp". But not both at the same time.
How can I achieve to use the different authorizations in the db table for the bi authorization?
Thanks in advance...
I am not sure about the probelem exactly but did you define your variable as selection option?
Did you try with EQ 25* insrtead of using CP?
Try with filling this variable during SETP = 1 and check what is the system displaying when you start the report (also turn the var temporarily as "ready for input")
let us know...
Yes, the variable is defined as selection option and I did also try to use "EQ" instead of "CP".
I tested again with another variable which is "ready for input" and is not used in an authorization. The Variable is filled in the customer exit. This is the code:
... WHEN 'ZJGR_COSTCTR_TEST'. l_s_range-sign = 'I'. l_s_range-opt = 'BT'. l_s_range-low = '0000001000'. l_s_range-high = '0000001200'. APPEND l_s_range TO e_t_range. l_s_range-sign = 'I'. l_s_range-opt = 'CP'. l_s_range-low = '0000002*'. APPEND l_s_range TO e_t_range.
The result in the variable screen in BEx Analyzer is the following:
1000 - 1200;0000002*;
And it still does not work. It seems that you could not mix EQ, BT and CP. But this is exactly what I have to do with the authorization variable...
Do you have any other tipps that I might try out?
as far as I understand, the varscreen is showing your selection properly but the execution doesn't work, am I correct?
now that you have the opportunity to change the variable defaults before execution, does it work when you remove the iterval and only keep the CP?
perhaps this is not supported and you'll have to generate another interval representing 0000002*, that is [0000002000;0000002999]....
hope this helps....
A "CP" selection on the variable screen like "2*" seems not to be supported.
I created two more variables with customer exits which I also included in the authorization for 0COSTCENTER. Each of these three variables now contains the "EQ", "BT" or the "CP" selection. This seems to work properly.
So I played around and deleted variables again. Now I just have two different exit variables, one for "EQ" and "BT", the other one for "CP". This works so far. The authorization checks work as expected.
But I wonder whether this could be the right solution???