Skip to Content
0
Former Member
Jan 20, 2011 at 06:42 AM

No value could be determined for variable ZXTDEXIT.

47 Views

Hi all.

I'm trying to drive a selection on 0CALDAY (W = Week to date, M = Month to date, Y = Year to date) using a selection made from a master data list of another characteristic (ZXTD).

So I have two variables against two characteristics in my query definition:

On 0CALDAY, ZXTDEXIT (Char Value, Cust Exit, refers to 0CALDAY, represents Interval, is Mandatory and not ready for input)

On ZXTD, ZXTD2 (Char Value, Manual Input, refers to ZXTD, represents Single Value, is Mandatory and ready for input)

When I execute the query, I get prompted to enter a value for ZXTD as expected.

I would then expect the Customer Exit variable to get called, and then return the query results as per the selection determined via the code below. Instead I get an error message:

No value could be determined for variable ZXTDEXIT.

The code I'm using in my exit is below (credit to Surendra Kumar Reddy Koduru - it's based on his how-to paper).

Thanks in advance for any ideas.

Ian.

&----


*& Variable: ZXTD4

*& Description: Determine "x to date" range, based on selection

*& InfoObject: ZXTD

*& Created: Ian Hall 17.01.2011

&----


DATA: l_s_range TYPE rsr_s_rangesid,

loc_var_range LIKE rrrangeexit,

l_date LIKE sy-datum,

l_zxtd LIKE SY-DATum.

IF i_step = 2.

CASE i_vnam.

WHEN 'ZXTDEXIT'.

LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZXTD2'.

CLEAR: l_s_range.

l_zxtd = l_s_range-low.

CASE l_zxtd.

WHEN 'W'.

CALL FUNCTION 'BWSO_DATE_GET_FIRST_WEEKDAY'

EXPORTING

DATE_IN = sy-datum

IMPORTING

DATE_OUT = l_date

l_s_range-low = l_date.

l_s_range-high = SY-DATUM.

l_s_range-sign = 'I'.

l_s_range-opt = 'BT'.

WHEN 'M'.

concatenate SY-DATUM(6) '01' into l_date.

l_s_range-low = l_date.

l_s_range-high = SY-DATUM.

l_s_range-sign = 'I'.

l_s_range-opt = 'BT'.

WHEN 'Y'.

concatenate SY-DATUM(4) '0101' into l_date.

l_s_range-low = l_date.

l_s_range-high = SY-DATUM.

l_s_range-sign = 'I'.

l_s_range-opt = 'BT'.

ENDCASE.

APPEND l_s_range TO e_t_range.

ENDLOOP.

ENDCASE.

ENDIF.