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

Problem with assign component

Former Member
0 Likes
603

Hi All

I have a problem with assign component

its working and when subrc = 0 it moves the value to the right

field but the problem is the in the second time (subrc = 0.)

its overite the field with wrong value

what i miss here ? i want to assign the right fiels value

to the suitable field in <ls_attr_structure>

LOOP AT it_mapping INTO ls_mapping.
      ASSIGN COMPONENT ls_mapping-target_field OF STRUCTURE <ls_attr_structure>
      TO <lv_root_attr>.
      IF sy-subrc = 0.
       <ls_attr_structure> = ls_mapping-field_value.
      ENDIF.
    ENDLOOP.

All the structure and field are type any .

Regards

Alex

Edited by: Alex Dean on Nov 17, 2010 8:43 AM

1 ACCEPTED SOLUTION
Read only

MarcinPciak
Active Contributor
0 Likes
565

You are assigning value to whole structure


<ls_attr_structure> = ls_mapping-field_value.

and should be only to component


   <lv_root_attr> = ls_mapping-field_value.

Regards

Marcin

2 REPLIES 2
Read only

MarcinPciak
Active Contributor
0 Likes
566

You are assigning value to whole structure


<ls_attr_structure> = ls_mapping-field_value.

and should be only to component


   <lv_root_attr> = ls_mapping-field_value.

Regards

Marcin

Read only

Former Member
0 Likes
565

Hi,

First time it will work fine but second time you are using the same field symbol which is holding the Previous entry. So after you check SY-SUBRC store the value some where else (Append to an internal table) then use the field symbol.

You are using the same field symbol for eack record in the LOOP and not saving that entry to any of the global variable.

Please try to save the Field symbol values to an internal table and do the coding accordingly.

Regards,

Srinivas