cancel
Showing results for 
Search instead for 
Did you mean: 

Authorization with customer exit variable (CP, BT, EQ)

Former Member
0 Kudos

Hi SDN-Experts,

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...

Joerg

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

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...

Olivier.

Former Member
0 Kudos

Hi Olivier.

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?

Thanks,

Joerg

Former Member
0 Kudos

Hi,

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....

Olivier.

Former Member
0 Kudos

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???

Cheers,

Joerg

Former Member
0 Kudos

well, if it works properly then it is the right solution!

so your problem is solved, right?

Former Member
0 Kudos

Yes, it is.

Thanks......