07-11-2007 4:08 PM
Hello All,
I want to assign the values to a range dynamically.
For example in the following piece of code, I cannot directly assign wa-kunnr to
r_kunnr-low.
LOOP AT ITAB INTO WA.
r_kunnr-sign = 'I'.
r_kunnr-option = 'EQ'.
r_kunnr-low = wa-kunnr.
APPEND r_kunnr.
ENDLOOP.
Can this be done dynamically? If I use following code I am getting a short dump.
lv_fnam = 'wa-kunnr'.
LOOP AT ITAB INTO WA.
r_kunnr-sign = 'I'.
r_kunnr-option = 'EQ'.
r_kunnr-low = ( lv_fnam ).
APPEND r_kunnr.
ENDLOOP.
Could anyone please suggest how to do this?
Regards
Indrajit
07-11-2007 4:12 PM
Hi Indrajit , try using Field symbols
field-symbols : <FS> type any.
assign (lv_fnam) to <FS>.
lv_fnam = 'wa-kunnr'.
LOOP AT ITAB INTO WA.
r_kunnr-sign = 'I'.
r_kunnr-option = 'EQ'.
r_kunnr-low = <FS>.
APPEND r_kunnr.
ENDLOOP.
07-11-2007 4:27 PM
Hi Chandra,
Using field symbols, I am getting a short dump which says that I am trying to use an unassigned field symbol.
The statement
assign (lv_fnam) to <FS>
is not assigning the field symbol.
Indrajit.
07-11-2007 4:41 PM
Hi Indrajit,
this is working perfectly for me ...i did not get any error
REPORT ychatest.
TABLES : kna1.
DATA : wa TYPE kna1,
lv_fnam(10).
FIELD-SYMBOLS : <fs> TYPE ANY.
SELECT-OPTIONS : s_kunnr FOR kna1-kunnr.
INITIALIZATION.
wa-kunnr = '100'.
lv_fnam = 'WA-KUNNR'.
ASSIGN (lv_fnam) TO <fs>.
s_kunnr-sign = 'I'.
s_kunnr-option = 'BT'.
s_kunnr-low = <fs>.
APPEND s_kunnr.
07-11-2007 4:13 PM
Try:
lv_fnam = 'wa-kunnr'.
LOOP AT ITAB INTO WA.
r_kunnr-sign = 'I'.
r_kunnr-option = 'EQ'.
r_kunnr-low = lv_fnam.
APPEND r_kunnr.
ENDLOOP.
Rob
07-11-2007 4:29 PM
Hi Rob,
I want the contents of wa-kunnr and not the text 'wa-kunnr' to be assigned to
r_kunnr-low .
Indrajit.
07-11-2007 4:38 PM