Hierarchy Node authorization with customer exit
Hi All,
I have created a hierarchy for an info-object A along with nodes test1 and test 2.node test1 consisit of value 10,20,30,40,50 and node test2 consist of value 60,70,80,90. .
1) I want that perticuler user should access perticuler node in hierarachy for that reason I have created a database table in which i have maintained the username and the values from the Infoobject A .I want to write a customer exit code in which user X can access node test1 and user Y can access node test2
but in database table i can not maintain the nodes i can only maintain the values from the nodes
so how can i restrict the user to perticuler node instead of values
The authorization values for the perticuler user will get filled by customer exit variable maintained in the authorization profile
can any body suggest me or send me example customer exit code for this scenario.
I really appreciate your thoughts on this issue.
Thanks,
Hi,
in addition to Anil's valid input, make sure that ZTEST is NOT ready for input. Indeed "ready for input" vars cannot be changed via customer exits.
hope this helps...
Olivier.
Similar Messages
-
Passed i_step = 2,3(Hierarchy Node Variable with Customer-Exit)
Hellow !
I want to insert the following ststement to force the variable to be executed with i_step = 2 or 3.
CASE I_VNAM.
when 'ZTEST'.
CLEAR loc_var_range. REFRESH loc_var_range.
CLEAR: l_s_range, ytest001.
LOOP AT i_t_var_range INTO loc_var_range.
SELECT * FROM ytest001
WHERE bname = sy-uname
AND node = loc_var_range-low.
IF sy-subrc = 0.
l_s_range-low = loc_var_range-low.
l_s_range-high = '0HIER_NODE'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
else.
l_s_range-low = '#'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
endif.
ENDLOOP.
However, Passed customer-exit(Enhancements for Global Variables in Reporting) i_step =2,3
Regards,
DonHi,
in addition to Anil's valid input, make sure that ZTEST is NOT ready for input. Indeed "ready for input" vars cannot be changed via customer exits.
hope this helps...
Olivier. -
Authorization with customer exit variable (CP, BT, EQ)
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...
JoergHi 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 -
Hierchies and hierchies node with customer exit?
hi friends,
what scenerio we use hierchies and hierchies node variable with customer exit ?
Thanking u
suneel.Hierarchy variables represent hierarchies. You can use them wherever
hierarchies can be selected.
Hierarchy node variables represent a node in a hierarchy. You can use them as
an alternative to hierarchy nodes as fixed values for restricting a characteristic.
If you use a hierarchy node variable, you can make selections by hierarchy
node when you use the query.
The Customer Exit processing type for variables enables you to determine
values for variables by means of a function module exit. The function
module used is EXIT_SAPLRRS0_001.
You create a project in transaction CMOD by selecting the SAP
enhancement RSR00001 and assigning this to the enhancement project.
Activate the project.
WHEN 'HIERARCHY'. " Hierarchy variable
CLEAR L_S_RANGE.
L_S_RANGE-LOW = 'MY HIERARCHY'. " hierarchy name
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
-> Only dependents of hierarchy 'MY HIERARCHY'
WHEN 'HNODE'. " Hierarchy node variable
CLEAR L_S_RANGE.
L_S_RANGE-LOW = 'DEPT1'. " Node name
L_S_RANGE-HIGH = '0HIER_NODE'. " InfoObject
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
-> Node 'DEPT1', that cannot be posted to
WHEN 'HNODEVAL'. " Hierarchy node variable
CLEAR L_S_RANGE.
L_S_RANGE-LOW = 'LEAVE1'. " node name (node is a leaf)
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
-> Node 'LEAVE1' (leaf)
Regards
Naga -
Error while trying to Execute the Query with Customer Exit
Hi Experts,
I am having a Query with Customer Exit, it is working fine for all the Employess, except for one. When i try to remove the Customer Exit it is working for her too. Below is the error i am getting.
system error in program SAPLLRK0 and form RSRDR; CHECK_NAV_INIT_BACK
Thanks,
Kris.Hello Kris,
Are you working with multiprovider? Please check if OSS notes 813454,840080 or 578948 are applicable in your case.
Regards,
Praveen -
Prob in text variable with customer exit
Hi to all
I am working in PA module in HR ,In my Report i have to count total number of trainee and lateral in given Date range that From date to To Date , Before that i have to calculate a Total Employee Strength before one day of From date , suppose user enter a 1st of April 2007 to 1st of jun 2007 , so Employee strength should be calculated on the 31march 2007, for that i have written custome exit , now i am getting a value also , for Display that date have a created a text variable with customer exit , but i am not able to get that date , it should be display strength as on 31march2007 , instead of it is displaying Strength as on 00.00.0000.I am giving a cod also
ls_range-sign ='I'.
ls_range-opt = 'EQ'.
ls_range-low = 'EB1A'.
append LS_Range to e_t_range.
WHEN 'ZPA_DATE'.
if i_step = 3.
READ TABLE I_T_VAR_RANGE INTO L_S_VAR_RANGE WITH KEY VNAM = 'ZPA_DATE'.
IF SY-SUBRC = 0.
ZTEST = L_S_VAR_RANGE-LOW.
ztest1 = ZTEST - 1.
export p = ztest1 to MEMORY ID 'VALUE'.
ENDIF.
endif.
WHEN 'ZFRMDAT'.
if i_step = 3.
ls_range-sign ='I'.
ls_range-opt = 'EQ'.
ls_range-low = ztest.
append LS_Range to e_t_range.
endif.
when 'ZPA_CDAT'.
if i_step = 3.
ztest1 = ztest - 1.
ls_range-sign ='I'.
ls_range-opt = 'EQ'.
ls_range-low = ztest1.
append LS_Range to e_t_range.
endif.
when 'ZPA_VAR3'.
if i_step = 3.
ztest1 = ztest - 1.
import p = ztest1 from memory id 'VALUE'.
concatenate ztest16(2) ztest14(2) ztest1+0(4) into date separated by '.'.
move date to temp.
move 'Hello' to temp.
ls_range-sign ='I'.
ls_range-opt = 'EQ'.
ls_range-low = temp.
append LS_Range to e_t_range.
endif.
Please help me to come out
ThanksHi Stefania,
to me it looks like your local variable num_mese is not defined with the correct data type.
Try to change
if num_mese = 09 to if num_mese = <b>'</b>09<b>'</b>,
same for 10 -> '10', 11 -> '11'.
If that does not help please let me know your coding where you define the type of num_mese (DATA statement).
Regards
Stephan -
Variable creation in bw with customer exit
hi experts,
how to create a variable in bw with customer exit?Hi
Create a variable with Processing type as customer exit.
Then Go to Se38 and ZXRSRU01 program in change mode and there you write the necessary coding how your customer exit variable should process.
else you can access the include function via CMOD also with selecting the enhancement for reports.
Regards
RaM -
Formula Variable with customer exit
Hi,
can we use Formula variables with customer exit based on characteristics(ex Bill date)? if yes, can you guys help me on this.
Thanks
kriYes , you can use a formula variable with customer exit based on characteristics .
Depends on the requirement what you want to show in the formula variable ,
Eg : if you want to show the max fiscal year period , in that case :
create a new formula in the keyfigure section of your query , go to edit , you can see formula variable below the keyfigures ,
right click on the same and create new formula variable :
Write the code for the formula varible in the backend as we do for normal customer exit varaible :
for this e.g the code will be :
FORM get_variable_value
tables E_T_RANGE type RSR_T_RANGESID
using I_VNAM type RSZGLOBV-VNAM
I_VARTYP type RSZGLOBV-VARTYP
I_IOBJNM type RSZGLOBV-IOBJNM
I_S_COB_PRO type RSD_S_COB_PRO
I_S_RKB1D type RSR_S_RKB1D
I_PERIV type RRO01_S_RKB1F-PERIV
I_T_VAR_RANGE type RRS0_T_VAR_RANGE
I_STEP type I.
DATA L_S_RANGE LIKE LINE OF E_T_RANGE.
DATA loc_var_range LIKE rrrangeexit.
Data : l_inPer TYPE string.
IF i_step = 1.
Select min( distinct FISCPER )
from /BIC/A(DSO name)
into l_minper .
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
l_s_range-low = l_minper .
APPEND l_s_range TO e_t_range.
endif.
drag the formula variable in the new formula created and exexcute the query , you will be able to see the output .
This is just an example , your code will differ as per your requirement . -
Hello,
I have created a query with customer exit variable.this variable calculates cumulative month from the beginning of the year. this variable depends on another regular variable 0PCALMON (single value, mandatory). i also use this variable in the query to show the month itself.
<b>the problem is as follow:</b>
until yesterday the 0PCALMON variable pop up normally, but now the variable doesn't pop up at all!
Does anyone have an idea?
Thanks,
MayaHi,
The variable may be personalized with some value.
<b>To remove the personalization for a user:</b>
Step 1: RSA1 -> Search for ODS 0PERS_VAR
Step 2: Manage -> Contents ->selective deletion
Step 3: Put the user to remove the personalization
http://help.sap.com/saphelp_nw04/helpdata/en/01/42c73c13b0ce5be10000000a114084/content.htm
Regards
Happy Tony -
Characterstic variable with customer exit
Can u some bady help me.
How to express about Characterstic variable with customer exit
Edited by: chenna reddy on Aug 7, 2008 9:48 PMHi,
The variable may be personalized with some value.
<b>To remove the personalization for a user:</b>
Step 1: RSA1 -> Search for ODS 0PERS_VAR
Step 2: Manage -> Contents ->selective deletion
Step 3: Put the user to remove the personalization
http://help.sap.com/saphelp_nw04/helpdata/en/01/42c73c13b0ce5be10000000a114084/content.htm
Regards
Happy Tony -
Formel Variable - how to fill with Customer Exit from control table
Hello Experts,
I have create in BEx-Analyser a formel Variable ZEXRATE1 filled through Customer Exit. In BW I had a "control tabel" with keyfigures.
In the query definition I have include 0FISCPER, 0FISCVARNT and 0VTYPE. This
are the keys which should give the values for the selectstatement to select my keyfigure from the "control table" to fill ZEXRATE1.
If it possible to do with Customer Exit (CMOD -> RSR00001 -> ZXRSRU01) or do I have to implement a Bapi. Perhaps someone can give me a code example.
Regards DieterHi,
Code may look like this
WHEN 'ZEXRATE1'.
check i_step = 2.
LOOP AT I_T_VAR_RANGE INTO L_S_RANGE.
CASE L_S_RANGE-IOBJNM.
WHEN 'ZFISCPER'. GV_ZFISCPER = L_S_RANGE-LOW.
WHEN 'ZFISCVARNT'. GV_ZFISCVARNT = L_S_RANGE-LOW.
WHEN 'ZVTYPE'. GV_ZVTYPE = L_S_RANGE-LOW.
ENDCASE.
ENDLOOP.
SELECT SINGLE RATE into INTO GV_RATE
FROM ZTABLE
WHERE 0FISCPER = GV_ZFISCPER
AND 0FISCVARNT = GV_ZFISCVARNT
AND 0VTYPE = GV_ZVTYPE .
Assumptions : ZTABLE name of control table
ZFISCPER name of variable represents fiscal period
'ZFISCVARNT' name of variable representing fiscal year variant
'ZVTYPE'. name of variable representing value type
Hope that helps.
Regards
Mr Kapadia
Assigning points is the way to say thanks in SDN. -
Authorization (rsecadmin) with customer exit variable
Hello,
I need to maintain authorization on 0CALMONTH with a customer exit variable.
0CALMONTH is "authorization relevant"
I created a variable of type "customer exit" : ZVAR001 (this variable is OK, I checked its value in a query)
I created a new authorization object with 0CALMONTH = $ZVAR001.
When I run my query I have a message due to authorization error.
If I change my authorization object by replacing my variable ($ZVAR001) by a constant value I have no authorization problem.
I don't understand why...
Error logs don't help me to solve my problem : I have the following message "Message EYE007: You do not have sufficient authorization" and system just says I have "0CALMONTH I EQ $ZVAR001 " but doesn't precise values under variable ZVAR001
Thanks for your helpIndeed problem was in costumer exit because I used condition with "I_STEP". Since I have delete my condition I have no authorization problem with my variable....
-
Hierarchy node authorization problem
Hi All,
We are on SP10 for BI.
We are restricting user to a node (fund center) in the hierarchy (based on fund centers).
1) When a user executes the query and selects a node (in the filter
selection criteria) to which he is authorized, the output of the query is
restricted to the authorized node. This is what we want. Test is successful.
After the query is executed, when the user tries to play around with the
Fund Center info-object by moving it to the Free Characteristics space and
back to the Rows, the node restriction still works and the user is again
restricted to the authorized node. This is what we want. Test is successful.
2) When a user executes the query and selects a higher node (in the filter
selection criteria) to which he is NOT authorized, the output of the query
is still restricted to the authorized node. This is what we want. Test is
successful.
After the query is executed, when the user tries to play around with the
Fund Center info-object by moving it to the Free Characteristics space and
back to the Rows, the node restriction no longer works and the user is now
able to the data for the complete hierarchy. Now here our security fails and
we do not want this to happen.
Possible approach for a solution:
We would want the user to see only the authorized nodes in the filter
selection criteria. By doing this, the user will not be able select any
other nodes and would be restricted to Testing scenario 1, thus avoiding testing scenario 2. Is this approach feasible? I found couple of OSS note but none of them exactly match to our situation here. Did anyone encounter this problem?
Is there any other solution for this problem?
Thanks,
JayHello,
this is interesting and sounds like system failure.
I would suggest to open an OSS message and explain the system behaviour to the support. I'm sure they can help you.
For me it sounds like the node authorization restriction should be active anytime.
Best, Michael -
Error With Customer Exit Variable
Hi,
I need To Create Customer Exit For Text Variable based on Two Input Variable values.
can any one correct my code Code is written below based on quarter and Fiscalyearvarient.
I have to get calmonth Text value.
I am getting the error as : "I_T_VAR_RANGE" is a table without a header line and therefore has no
Component Called "0PERIV".
DATA : l_s_range TYPE rsr_s_rangesid,
loc_var_range LIKE rrrangeexit.
IF i_step = 2.
CASE i_vnam.
WHEN 'ZTXT_CML' .
CLEAR: l_s_range.
LOOP AT i_t_var_range INTO L_S_VNAM WHERE vnam = 'ZQUAR' AND vnam = '0periv'.
IF i_t_Var_range-0PERIV = 'IE'.
IF i_t_var_range-ZQUAR = '1'.
l_s_range-low = 'APRIL'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF i_t_var_range-ZQUAR = '2'.
l_s_range-low = 'JULY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF i_t_var_range-ZQUAR = '3'.
l_s_range-low = 'OCTOBER'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF i_t_var_range-ZQUAR = '4'.
l_s_range-low = 'JANUARY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ENDIF.
ELSEIF i_t_var_range-0PERIV = 'K4'.
IF i_t_var_range-ZQUAR = '1'.
l_s_range-low = 'JANUARY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF i_t_var_range-ZQUAR = '2'.
l_s_range-low = 'APRIL'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF i_t_var_range-ZQUAR = '3'.
l_s_range-low = 'JULY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF i_t_var_range-ZQUAR = '4'.
l_s_range-low = 'OCTOBER'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ENDIF.
ENDIF.
APPEND l_s_range TO e_t_range.
ENDLOOP.
ENDCASE.
ENDIF.Hi Supraja,
You would have to declare I_T_VAR_RANGE internal table as the table with an header line.
This you will find in data declaration segment.
ie
DATA : I_T_VAR_RANGE type <table name> WITH HEADER LINE.
or
Create a work area like l_s_var_range.
Use work area while performing operations in your code and later append the record to the table i_t_var_range.
DATA : L_S_VAR_RANGE type i_t_var_range.
Also, i_step = 3 is the right one, because you are processing the customer exit based on the values of the user input of two variables.
Modified code below.
DATA : l_s_range TYPE rsr_s_rangesid.
DATA : L_S_VAR_RANGE type i_t_var_range,
loc_var_range LIKE rrrangeexit.
IF i_step = 3.
CASE i_vnam.
WHEN 'ZTXT_CML' .
CLEAR: l_s_range.
LOOP AT i_t_var_range INTO l_s_var_range WHERE vnam = 'ZQUAR' AND vnam = '0periv'.
IF l svar_range -0PERIV = 'IE'.
IF l_s_var_range -ZQUAR = '1'.
l_s_range-low = 'APRIL'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '2'.
l_s_range-low = 'JULY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '3'.
l_s_range-low = 'OCTOBER'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIFl_s_var_range -ZQUAR = '4'.
l_s_range-low = 'JANUARY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ENDIF.
ELSEIFl_s_var_range -0PERIV = 'K4'.
IF i_t_var_range-ZQUAR = '1'.
l_s_range-low = 'JANUARY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '2'.
l_s_range-low = 'APRIL'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '3'.
l_s_range-low = 'JULY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '4'.
l_s_range-low = 'OCTOBER'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ENDIF.
ENDIF.
APPEND l_s_range TO e_t_range.
ENDLOOP.
ENDCASE.
ENDIF.
Hope it helps,
Best regards,
Sunmit. -
Problem with customer exit variable in BeX Query
Hi All,
We have created a customer exit variable in a query and populated with few patterns in customer exit.
My query has to bring all the records where the address line is containg the patterns passed through customer exit. Here the query is not working as expected.
It is bringing the values where the address line is exactly same as the pattern and not bringing the records where the pattern is part of the address line.
For example: Pattern passed in customer exit = 'HOSPITAL'
The record where address line = 'HOSPITAL' is shown in the rpeort, where the record with address line = 'HOSPITAL ROAD' is not shown in the report.
I would appreciate your help on this.
Regards,
RakeshHi Diogo,
Below is the code I am using in the customer exit.
SELECT * FROM zae_tt_pbuild INTO TABLE gt_pbuild.
IF sy-subrc = 0.
LOOP AT gt_pbuild INTO gs_pbuild.
CONCATENATE '*' gs_pbuild-pbuild '*' into lv_pattern.
ls_range-low = lv_pattern.
ls_range-sign = lc_sign_i.
ls_range-opt = 'CP'.
APPEND ls_range TO e_t_range.
CLEAR: ls_range,
lv_pattern.
ENDLOOP.
ENDIF.
ENDIF.
I have tried using '%' instead of '*' aswell but the result is same.
Thanks,
Rakesh
Maybe you are looking for
-
i have problem with dba sutdio the help is out and i would like to know if someone can give me the new version of dba , if not can you tell me what i can do ? THANK
-
Ms-Active Directory integration with SAP 4.7 SR2 through LDAP Connector
Dear Gurus, Let me clarify the scenario: At our end, we are planning for SSO, we are integrating Microsoft ADS with SAP 4.7 IDES Following are the system details: SAP: IDES 4.7, on Windows 2000 Advance Server, Oracle 8.1.7.,Kernel-620 MS-Active Direc
-
Hi everyone, I deleted my itunes library (after backing up to my time machine) to download a large torrent, now i want to restore my itunes library to my MBA from time machine but its saying there is not enough room on my MBA even though the library
-
NO posted data for 8_CPR_EXTID 8 (Include LCATS_ITSF10)
Hi; I haven't any idea how to find the reasonn of error message "NO posted data for 8_CPR_EXTID 8 (Include LCATS_ITSF10)" Could you give me any hint, please? Regards Krzysztof
-
EMACS for word processing?
I've heard some stuff about EMACS being usable for word processing... How usable is it? Can it be made to do WYSIWYG editing of documents with headers, footers, and/or double-spaced text, in a format that MS Office will be able to read? (If you must