Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Variable Screen Pop Up change Does Not go Customer Exit pick the QTD logic

Hello Friends , I have this issue with most of reports. When reports execute initially with fiscal year/ period to say 008.2007 it goes to customer exit pick up the logic for QTD and populate the data correct for YTD and QTD. but after initial execution when the user use variable screen in BI portal to change the fiscal year/ period to say 002.2007 it does not go to customer exit and still shows the old data for YTD and QTD say 008.2007 .

Solution I thought is ISETP = 3. but it did not work same problem please suggest what can fix this. since if user close entire report and rerun it . works fine.

Code in Customer exit:

QTD = Current Period BalanceQTD BUDGET 2QTD BUDGET 3

************************QTD BUDGET 2 **************

WHEN 'ZQTD_PER2'.

if i_step = 2 or i_step = 3.

clear loc_var_range.

loop at i_t_var_range into loc_var_range.

if loc_var_range-VNAM = 'ZVMFISCPER'.

if sy-subrc = 0.

YTD_YEAR = loc_var_range-low(4).

YTD_PER = loc_var_range-low+4(4).

case YTD_PER.

when 001.

YTD_PER1 = '000'.

when 002.

YTD_PER1 = '001'.

when 003.

YTD_PER1 = '002'.

when 004.

YTD_PER1 = '000'.

when 005.

YTD_PER1 = '004'.

when 006.

YTD_PER1 = '005'.

when 007.

YTD_PER1 = '000'.

when 008.

YTD_PER1 = '007'.

when 009.

YTD_PER1 = '008'.

when 010.

YTD_PER1 = '000'.

when 011.

YTD_PER1 = '010'.

when 012.

YTD_PER1 = '011'.

endcase.

concatenate YTD_YEAR YTD_PER1 into YTD_CURRENTYEAR.

CLEAR L_S_RANGE.

L_S_RANGE-LOW = YTD_CURRENTYEAR.

L_S_RANGE-SIGN = 'I'.

L_S_RANGE-OPT = 'EQ'.

append l_s_range to e_t_range.

exit.

endif.

endif.

endloop.

endif.

************************QTD BUDGET 3 **************

WHEN 'ZQTD_PER3'.

if i_step = 2 or i_step = 3.

clear loc_var_range.

loop at i_t_var_range into loc_var_range.

if loc_var_range-VNAM = 'ZVMFISCPER'.

if sy-subrc = 0.

YTD_YEAR = loc_var_range-low(4).

YTD_PER = loc_var_range-low+4(4).

case YTD_PER.

when 001.

YTD_PER1 = '000'.

when 002.

YTD_PER1 = '000'.

when 003.

YTD_PER1 = '001'.

when 004.

YTD_PER1 = '000'.

when 005.

YTD_PER1 = '000'.

when 006.

YTD_PER1 = '004'.

when 007.

YTD_PER1 = '000'.

when 008.

YTD_PER1 = '000'.

when 009.

YTD_PER1 = '007'.

when 010.

YTD_PER1 = '000'.

when 011.

YTD_PER1 = '000'.

when 012.

YTD_PER1 = '010'.

endcase.

concatenate YTD_YEAR YTD_PER1 into YTD_CURRENTYEAR.

CLEAR L_S_RANGE.

L_S_RANGE-LOW = YTD_CURRENTYEAR.

L_S_RANGE-SIGN = 'I'.

L_S_RANGE-OPT = 'EQ'.

append l_s_range to e_t_range.

exit.

endif.

endif.

endloop.

endif.

Thanks

Soniya

SONIYA KAPOOR

soniya kapoor

Former Member
Not what you were looking for? View more on this topic or Ask a question