Hi Sébastien,
Your approach seems to be OK and also i_step = 0 should be used for authorization variables. I assume that you are testing within t/code RSECADMIN - Trace with the test user and an appropriate BEx query. I would like to verify two things.
First of all, please check in t/code SMOD if Enhancement RSR00001 is active (you can check it using Test; the IMPL column should show a check mark). Is this the case?
Furthermore, if you are on release 7.3 or higher, a new framework for user-exit variables is introduced with BAdI RSROA_VARIABLES_EXIT_BADI. Once it is implemented once, the "legacy" Enhancement is never called anymore. My question is: which SAP BW release are you working with? And if it's 7.3 or higher, did you implement the BAdI yet?
Best regards,
Sander