cancel
Showing results for 
Search instead for 
Did you mean: 

RSR_VARIABLE_F4_RESTRICT_BADI Issue

ccc_ccc
Active Contributor

Hi All,

I have GGL_ACCNT with two compounding object 1 Chart of accounts 2 Logical Source System.

Created variable and using in BEx Report.

As per my requirement I need restrict F4 values for G/L Account variable specific to Chart of accounts.

Ex

P Table

GGL Account     Chart of Accounts          Source System

123                    A                                   ABC

123                    B                                   ABC

As per my requirement I need to show F4 values for chart of accounts 'A'.

So, implemented BADI using RSR_VARIABLE_F4_RESTRICT_BADI enhancement and written SELECT statement pull only where Char of accounts equal to 'A' and filling C_T_RANGE.

In C_T_RANGE I am able see only 123 and A record.(In Debug)

If I execute report and press F4 I am able see 123 A and 123 B also, I am wondering how 123 B is coming since i filled C_T_RANGE table with 123 A.

Finally I am not able to meet customer requirement ,

Any idea  why ?

Thank you,

Nanda


priya_singh19
Explorer
0 Kudos

Hi ,

I am facing the same kind of issue in implementing F4 BADI. But in my scenario the Bex variable is created on Nav. attribute.

e.g. I have a variable created on ZCUST_LELO for which I have to write the BADI. The IO LELO has ZLEIN as a reference characteristics. The IO ZLEIN has a compounding IO ZBWVE.

I have written the below logic

LOOP AT lt_values_le INTO ls_values_le.
CLEAR:l_s_range.
l_s_range-iobjnm = i_iobjnm." ZCUST_LELO
l_s_range-sign = 'I'. "including
l_s_range-option = 'EQ'. "between
l_s_range-low = ls_values_le-ZLEIN.

APPEND l_s_range TO c_t_range.

l_s_range-iobjnm = 'ZBWVE'.
l_s_range-sign = 'I'. "including
l_s_range-option = 'EQ'. "between
l_s_range-low = ls_values_le-zbwve.
APPEND l_s_range TO c_t_range.

ENDLOOP.

But on executing F4 I am not getting any data. If I am changing the

C_F4_mode = 'M'. then it is taking all the data from ZLEIN masterdata table.

Can any one help me in this issue.

ccc_ccc
Active Contributor
0 Kudos

I'm sorry , I'm not able to recollect the solution.

I'm thinking that I might have deleted unwanted records from C_T_RANGE table after endloop.

View Entire Topic
0 Kudos

Hi

Another idea would be creating Analysis Authorization on Chart of Account by restricting with A. If this role is assigned to user, he will see the value A.

Rgs

Chandra