cancel
Showing results for 
Search instead for 
Did you mean: 

# is coming on variable screen

Former Member
0 Kudos

Hi All,

I have a department variable which is having values like #, cargo , it, etc....

But client is asking that when he is doing f4 on department variable it should not show the '#' value.

In Master data and info provider we are having # value for department.

Kindly suggest how to resolve this.

Thanks,

Naveen

Accepted Solutions (1)

Accepted Solutions (1)

ccc_ccc
Active Contributor
0 Kudos

Hi Naveen

We can achieve this requirement using BADI enhancement RSR_VARIABLE_F4_RESTRICT_BADI

Please go through the link.

Thank you,

Nanda

Former Member
0 Kudos

Hi Nanda,

Thanks for your help.

In document the code is related to fiscperiod, that to they are showing pervious year data as same as I checked your code related to GLaccount, I am quite not understand the code...

But in my scenario while executing the query(RSRT) user should select dept manually here I am using Dept as infoobject which should n't show the # value in the variable screen, I am not good in abap code so kindly give me the code based on that I can copy and paste it.

So kindly provide the code for me.

Cube data

Dept     Count

#           10

cargo     15

it           16

fire         20

Thanks,

Naveen

ccc_ccc
Active Contributor
0 Kudos

Hi Naveen,

Please check below code, you may need small change.

DATA: l_s_range LIKE LINE OF c_t_range.

  TYPES: BEGIN OF ty_dept,

           Dept TYPE /bic/oidept,

           Count TYPE /bic/oiCount,

       

         END OF ty_dept.

  DATA: t_Dept TYPE STANDARD TABLE OF ty_dept,

        w_Dept TYPE                   ty_dept.

  CASE i_vnam.

    WHEN 'variable tech name'.

      CLEAR : c_t_range, l_s_range.

      SELECT /bic/Dept /bic/Count FROM /bic/Pdept

        INTO TABLE t_Dept WHERE

        /bic/Dept ne space and

        objvers = 'A'.

      IF sy-subrc EQ 0.

        SORT t_Dept BY dept.

        LOOP AT t_Dept INTO w_dept.

          l_s_range-iobjnm = i_iobjnm.

          l_s_range-sign = 'I'.

          l_s_range-option = 'EQ'.

          l_s_range-low = w_dept-dept.

          APPEND l_s_range TO c_t_range.

          l_s_range-iobjnm = 'Count' .

          l_s_range-sign = 'I'.

          l_s_range-option = 'EQ'.

          l_s_range-low = w_dept-Count.

          APPEND l_s_range TO c_t_range.

        

        ENDLOOP.

        CLEAR: t_dept.

      ENDIF.

  ENDCASE.

Thank you,

Nanda

Former Member
0 Kudos

Hi Nanda,

Thanks for your help

I have copied the code and I have done some changes, now it's working perfectly as user expected.

Thanks,

Naveen

Answers (3)

Answers (3)

former_member194898
Active Contributor
0 Kudos

Hi,

There are some serious reasons for not changing anything !!!.

# sign is a standard way in SAP BW for displaying not assigned values.

Changing this can cause some misunderstandings while filtering or analysing displayed data.

All in all I think that teaching the user how to deal with # sign will be the best option.

Regards, Leszek

Former Member
0 Kudos

Hi Naveen,

you can convince that this is the standard behavior and blank values are shown as # in BEx. One other option I can think of is to create auth object and give values of department other than #.

0 Kudos

Hi Naveen,

There are 2 ways 2 resolve this:

1. If user doesn't want to see # entries at all, then better to delete at Infoprovider level.

2. If it is for a particular report to avoid # entries, then in your manual entry variable "exclude #" i.e "<> (not equal to) #" in BEx Query designer.

Hope it helps.

Thanks,

Shreya J


Former Member
0 Kudos

Hi Shreya,

Thanks for your reply

1. we can't delete the # entries in infoprovider level, those values we are using in different reports.

2. I have already excluded in filter level, but still we are facing # in variable screen for your refer

Kindly suggest any other option.