‎2006 Mar 17 5:10 AM
I Have to refer a variable using another variable..
Using that variable i have to set the value to that refered variable..
for example
I have a variable called matnr01 to matnr12..
I Have to refer the variable like
field1 = 'matnr01'.
If iam setting the value to the field1..it should set the value to matnr01..(like pointer concept in c)
Is it Possible in ABAP?
Pls reply immediately.
‎2006 Mar 17 5:31 AM
Hi,
The same thing can be put into a loop as below.
DATA: matnr01 like mara-matnr,
matnr02 like mara-matnr,
matnr03 like mara-matnr,
matnr04 like mara-matnr.
field-symbols <F1> type mara-matnr.
data: varname(7) type c.
data: indx type n.
do 4 times.
indx = sy-index.
concatenate 'matnr0' indx into varname.
Assign (varname) to <F1>.
<F1> = indx.
enddo.
-Abhijit.
‎2006 Mar 17 5:19 AM
Hi
Try using the code below:
DATA: matnr01 like mara-matnr,
matnr02 like mara-matnr,
matnr03 like mara-matnr,
matnr04 like mara-matnr.
field-symbols <F1> type mara-matnr.
Assign matnr01 to <F1>.
<F1> = '100'.
Assign matnr02 to <F1>.
<F1> = '200'.
Assign matnr03 to <F1>.
<F1> = '300'.
Assign matnr04 to <F1>.
<F1> = '400'.
Write : matnr01, matnr02, matnr03, matnr04.
Hope this helps.
-Abhijit
Message was edited by: Abhijit Deshmukh
‎2006 Mar 17 5:28 AM
Hi Abijith,
Thanks for the reply..
Move '100' to (var_name) shows me a error in that line.
It's not working..
Is there any other way...
Thanks..
‎2006 Mar 17 5:30 AM
Hi Priya,
I think you are talking about field symbols in ABAP.
Just see the definition of a field symbol:
Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol cam point to any data object.Whenever you address a field symbol in a program, you are addressing the field that is assigned to the field symbol
syntax for field symbol is
FIELD-SYMBOLS <Fieldsymbolname> TYPE type_name.
eg: FIELD-SYMBOLS <FS> TYPE I.
You can assign a field symbol to any field using ASSIGN statement.
Let me give u an example of how to convert ASCII to char using field-symbols
data : c.
field-symbols : <n> type x.
data : rn type i.
c = 'A'.
assign c to <n> casting.
move <n> to rn.
write rn.
Output: the ascii value of 'A' is displayed.
I hope u got some idea.
Regards,
Sylendra.
‎2006 Mar 17 5:31 AM
Hi,
The same thing can be put into a loop as below.
DATA: matnr01 like mara-matnr,
matnr02 like mara-matnr,
matnr03 like mara-matnr,
matnr04 like mara-matnr.
field-symbols <F1> type mara-matnr.
data: varname(7) type c.
data: indx type n.
do 4 times.
indx = sy-index.
concatenate 'matnr0' indx into varname.
Assign (varname) to <F1>.
<F1> = indx.
enddo.
-Abhijit.
‎2006 Mar 17 5:33 AM
Hi priya,
1. Very simple.
2. We have to use FIELD-SYMBOLS
and another variable for FIELD NAME.
3. just copy paste in new program
(there will be a selection screen,
there u just enter
MATNR01
MATNR02
MATNR03 OR
MATNR04
It will give the value in that variable.
4.
REPORT abc.
PARAMETERS : fldname(30) TYPE c default 'MATNR01'.
*----
DATA : matnr01 LIKE mara-matnr,
matnr02 LIKE mara-matnr,
matnr03 LIKE mara-matnr,
matnr04 LIKE mara-matnr.
FIELD-SYMBOLS : <f> TYPE ANY.
*----
matnr01 = 'Mat 01'.
matnr02 = 'Mat 02'.
matnr03 = 'Mat 03'.
matnr04 = 'Mat 04'.
*----
ASSIGN (fldname) TO <f>.
WRITE 😕 <f>.
regards,
amit m.