Hey think other way round .
Filtering the report with the partner(current user executing the report) will suffice your requirement .
Am I correct ?
If yes then follow this simple approach .
Create a variable(mandatory, not ready for input ) of type customer exit on partner infoobject and filter your report with this variable .
In this way the current user executing the report can see data only related to him .
Type the below code in cmod .
WHEN '(give your variable name).
DATA :lv_bp TYPE /bi0/oibpartner,
CHECK i_step EQ '1'.
lv_bp = sy-uname.
IF lv_bp IS NOT INITIAL.
lv_bp = ( sy-uname ) .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_bp
IMPORTING
output = lv_bp.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
l_s_range-low = lv_bp .
APPEND l_s_range TO e_t_range.
CLEAR : l_s_range,lv_bp.
ENDIF.
If this approach is not flexible in ur case then let me know will change the code what u have written as I can see many errors in that .
Also I can figure it out that the whole code is ctrl c ctrl v of that sdn document but his requirement was quite different than yours .