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

Help with a select block

Former Member
0 Likes
664

I have the following code and it seems to work great until the modify statement. After the program executes the statement nothing is modified in the internal table.

START-OF-SELECTION.

  SELECT a~vbeln a~vstel a~route a~vsbed b~brgew a~inco1 a~inco2 a~kunnr a~kunag
         b~matnr b~meins b~lgmng b~vgbel INTO CORRESPONDING FIELDS OF TABLE it_table
         FROM likp AS a
          INNER JOIN lips AS b ON b~vbeln = a~vbeln
          WHERE a~vstel IN so_vstel
          AND a~wadat_ist IN so_wadat
          AND b~mtart IN so_mtart.

  LOOP AT it_table INTO wa_table.
    SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE
      vbeln = wa_table-vgbel
      AND parvw = 'WE'.

    SELECT city1 region post_code1 INTO CORRESPONDING FIELDS OF wa_table
      FROM adrc WHERE
      addrnumber = w_adrnr.
    ENDSELECT.

    MODIFY TABLE it_table FROM wa_table.
  ENDLOOP.


END-OF-SELECTION.

Regards,

Davis

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
640

<b>data : lv_tabix like sy-tabix.</b>

LOOP AT it_table INTO wa_table.

<b>lv_tabix = sy-tabix.</b>

SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE

vbeln = wa_table-vgbel

AND parvw = 'WE'.

SELECT city1 region post_code1 INTO CORRESPONDING FIELDS OF wa_table

FROM adrc WHERE

addrnumber = w_adrnr.

ENDSELECT.

MODIFY TABLE it_table FROM wa_table <b>index lv_tabix..</b>

ENDLOOP.

Thanks

Mahesh

5 REPLIES 5
Read only

Former Member
0 Likes
640

Hi,

LOOP AT it_table INTO wa_table.

SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE

vbeln = wa_table-vgbel

AND parvw = 'WE'.

SELECT city1 region post_code1 INTO ( wa_table-city1,wa_table-region, wa_table-post_code1 )

FROM adrc WHERE

addrnumber = w_adrnr.

ENDSELECT.

MODIFY TABLE it_table FROM wa_table.

ENDLOOP.

Read only

Former Member
0 Likes
640

after the modification you need to commit to save the changes. look into that.

regards,

srinivas

<b>*reward for useful answers*</b>

Read only

Former Member
0 Likes
641

<b>data : lv_tabix like sy-tabix.</b>

LOOP AT it_table INTO wa_table.

<b>lv_tabix = sy-tabix.</b>

SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE

vbeln = wa_table-vgbel

AND parvw = 'WE'.

SELECT city1 region post_code1 INTO CORRESPONDING FIELDS OF wa_table

FROM adrc WHERE

addrnumber = w_adrnr.

ENDSELECT.

MODIFY TABLE it_table FROM wa_table <b>index lv_tabix..</b>

ENDLOOP.

Thanks

Mahesh

Read only

Former Member
0 Likes
640

declare one work area as like adrc.

data wa_adrc like adrc.

SELECT avbeln avstel aroute avsbed bbrgew ainco1 ainco2 akunnr a~kunag

bmatnr bmeins blgmng bvgbel INTO CORRESPONDING FIELDS OF TABLE it_table

FROM likp AS a

INNER JOIN lips AS b ON bvbeln = avbeln

WHERE a~vstel IN so_vstel

AND a~wadat_ist IN so_wadat

AND b~mtart IN so_mtart.

LOOP AT it_table INTO wa_table.

clear : wa_adrc.

SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE

vbeln = wa_table-vgbel

AND parvw = 'WE'.

if sy-subrc eq 0.

SELECT single city1 region post_code1 INTO wa_adrc

FROM adrc WHERE

addrnumber = w_adrnr.

if sy-subrc eq 0.

move wa_adrc to wa_table one by one.

endif.

endif.

MODIFY TABLE it_table FROM wa_table.

ENDLOOP.

Thanks

Seshu

Read only

former_member194669
Active Contributor
0 Likes
640

Hi,

For modify the internal table

MODIFY TABLE statement is not needed


LOOP AT it_table INTO wa_table.
    v_tabix = sy-tabix. "<<<<<
    SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE
      vbeln = wa_table-vgbel
      AND parvw = 'WE'.
 
    SELECT city1 region post_code1 INTO CORRESPONDING FIELDS OF wa_table
      FROM adrc WHERE
      addrnumber = w_adrnr.
    ENDSELECT.
 
    MODIFY it_table FROM wa_table index v_tabix. "<< Here you are modify the int.table
  ENDLOOP.

aRs