Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Populate variables from int table

Former Member
0 Likes
535

Hello

There is internal table with fields VNAM , VALUE

VAR1 100

VAR2 200

........................

VARn XXX

There is a list of variables VAR1, VAR2. ....VARn.

How to populate VAR1 -VARn with corresponding values from the internal table.

I just need an intelligent approach.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
485

Hi,

this code will help you


TYPES: BEGIN OF ts_data,
vnam TYPE string,
value TYPE string,
END OF ts_data.


DATA:
  lt_data TYPE STANDARD TABLE OF ts_data,
  ls_data TYPE ts_data,
  lv_test type char30.

FIELD-SYMBOLS:<lv_field> TYPE ANY.


ls_data-vnam = 'LV_TEST'.
ls_data-value = 'TEST text'.
APPEND ls_data TO lt_data.

LOOP AT lt_data INTO ls_data.
  UNASSIGN: <lv_field>.
  ASSIGN (ls_data-vnam) TO <lv_field>.
  IF <lv_field> IS ASSIGNED.
    <lv_field> = ls_data-value.
  ENDIF.
ENDLOOP.

Regards Marcel

Hello

There is internal table with fields VNAM , VALUE

VAR1 100

VAR2 200

........................

VARn XXX

There is a list of variables VAR1, VAR2. ....VARn.

How to populate VAR1 -VARn with corresponding values from the internal table.

I just need an intelligent approach.

2 REPLIES 2
Read only

Former Member
0 Likes
485

Hi,

Do you want to modify any database table from your internal table contents or

you have to populate another internal table from your present internal table contents.

Regards,

Mansi

Read only

Former Member
0 Likes
486

Hi,

this code will help you


TYPES: BEGIN OF ts_data,
vnam TYPE string,
value TYPE string,
END OF ts_data.


DATA:
  lt_data TYPE STANDARD TABLE OF ts_data,
  ls_data TYPE ts_data,
  lv_test type char30.

FIELD-SYMBOLS:<lv_field> TYPE ANY.


ls_data-vnam = 'LV_TEST'.
ls_data-value = 'TEST text'.
APPEND ls_data TO lt_data.

LOOP AT lt_data INTO ls_data.
  UNASSIGN: <lv_field>.
  ASSIGN (ls_data-vnam) TO <lv_field>.
  IF <lv_field> IS ASSIGNED.
    <lv_field> = ls_data-value.
  ENDIF.
ENDLOOP.

Regards Marcel