Application Development 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: 

Help with a select block

Former Member
0 Kudos
109

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

Former Member
0 Kudos
85

<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

Former Member
0 Kudos
85

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.

Former Member
0 Kudos
85

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

regards,

srinivas

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

Former Member
0 Kudos
86

<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

Former Member
0 Kudos
85

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

former_member194669
Active Contributor
0 Kudos
85

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