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

Modify statement is not working

Former Member
0 Likes
1,324

Hi

Modify statement is not working in below code.

Data is moved from i_headertext-bktxt TO i_output_tab-text.

Kindly help me out

SELECT mblnr mjahr bktxt FROM mkpf
  INTO CORRESPONDING FIELDS OF TABLE i_headertext
  FOR ALL ENTRIES IN i_stock
  WHERE mblnr EQ i_stock-mblnr
  and mjahr EQ i_stock-mjahr.

if sy-subrc = 0.
loop at I_stock.
      READ TABLE i_headertext WITH KEY mblnr = i_stock-mblnr
                                       mjahr = i_stock-mjahr.
        MOVE: i_headertext-bktxt TO i_output_tab-text.
        modify table i_output_tab TRANSPORTING text .
endloop.
Endif.

Thanks

Kumar

1 ACCEPTED SOLUTION
Read only

venkat_o
Active Contributor
0 Likes
1,274

Hi Kumar, try this way

IF NOT i_stock[] IS INITIAL. "You must use this check. bcoz if u dont have values in i_stock, it gives dump.
  SELECT mblnr mjahr bktxt FROM mkpf
  INTO CORRESPONDING FIELDS OF TABLE i_headertext
  FOR ALL ENTRIES IN i_stock
  WHERE mblnr EQ i_stock-mblnr
  AND mjahr EQ i_stock-mjahr.
  IF sy-subrc = 0.
    LOOP AT i_stock.
      READ TABLE i_headertext WITH KEY mblnr = i_stock-mblnr
                                       mjahr = i_stock-mjahr.
      MOVE: i_headertext-bktxt TO i_output_tab-text.
      MODIFY TABLE i_output_tab TRANSPORTING text .
    ENDLOOP.
  ENDIF.
ENDIF.
Thanks Venkat.O

10 REPLIES 10
Read only

venkat_o
Active Contributor
0 Likes
1,275

Hi Kumar, try this way

IF NOT i_stock[] IS INITIAL. "You must use this check. bcoz if u dont have values in i_stock, it gives dump.
  SELECT mblnr mjahr bktxt FROM mkpf
  INTO CORRESPONDING FIELDS OF TABLE i_headertext
  FOR ALL ENTRIES IN i_stock
  WHERE mblnr EQ i_stock-mblnr
  AND mjahr EQ i_stock-mjahr.
  IF sy-subrc = 0.
    LOOP AT i_stock.
      READ TABLE i_headertext WITH KEY mblnr = i_stock-mblnr
                                       mjahr = i_stock-mjahr.
      MOVE: i_headertext-bktxt TO i_output_tab-text.
      MODIFY TABLE i_output_tab TRANSPORTING text .
    ENDLOOP.
  ENDIF.
ENDIF.
Thanks Venkat.O

Read only

venkat_o
Active Contributor
0 Likes
1,274

Hi Kumar, Sorry Kumar, You have not specified on which criteria you are modifying I_output_tab table. Thanks Venkat.O

Read only

Former Member
0 Likes
1,274

Hi Venkat

i_stock[] table having entries. But modify is not working

Read only

Former Member
0 Likes
1,274

Hi

Anyone provide me the code pls

Thanks

Read only

venkat_o
Active Contributor
0 Likes
1,274

Hi Kumar,


      MOVE: i_headertext-bktxt TO i_output_tab-text.
      MODIFY TABLE i_output_tab TRANSPORTING text .
<li> Text for which field ? <li>Can you paste fields of i_output_tab table? <li>You need to know which record needs to be modified? we are just trying to modify TEXT of i_ouput_tab table. What are the other fields. Thanks Venkat

Read only

Former Member
0 Likes
1,274

Hi Kumar,

How one can provide code without knowing requirement?

You have to give piece of code which is not working so that somebody can suggest some changes. We do not know how you are populating Output table.

Please do not repeat same thing again.

Thanks & Regards,

Anil Salekar

Read only

Former Member
0 Likes
1,274

Hi Venkat

below is i_output_tab structure

BEGIN OF i_output_tab OCCURS 0,
  invdate     LIKE mseg-vfdat,
  kokrs       LIKE mseg-kokrs, 
  matnr       LIKE mseg-matnr, 
  werks       LIKE mseg-werks, 
  lgort       LIKE mseg-lgort, 
  invnum(10)  TYPE c,
  partner(30) TYPE c,
  address     LIKE adrc-street,
  lot         LIKE mseg-charg,
  sled        LIKE mseg-vfdat,
  rcpt        LIKE mseg-erfmg,
  sales       LIKE vbrp-fkimg,
  others      LIKE mseg-erfmg,
  text        LIKE MKPF-BKTXT,
END OF i_output_tab.

I wanetd to modify text field.

Read only

venkat_o
Active Contributor
0 Likes
1,274

Kumar, <li>add two fields to i_output_tab table like below.

begin of i_output_tab occurs 0,
  mblnr       like mseg-mblnr, "Define this
  mjahr       like mseg-mjahr, "Define this
  invdate     like mseg-vfdat,
  kokrs       like mseg-kokrs,
  matnr       like mseg-matnr,
  werks       like mseg-werks,
  lgort       like mseg-lgort,
  invnum(10)  type c,
  partner(30) type c,
  address     like adrc-street,
  lot         like mseg-charg,
  sled        like mseg-vfdat,
  rcpt        like mseg-erfmg,
  sales       like vbrp-fkimg,
  others      like mseg-erfmg,
  text        like mkpf-bktxt,
end of i_output_tab.
<li>Change modifying logic below.

IF NOT i_stock[] IS INITIAL.
  SELECT mblnr mjahr bktxt FROM mkpf
  INTO CORRESPONDING FIELDS OF TABLE i_headertext
  FOR ALL ENTRIES IN i_stock
  WHERE mblnr EQ i_stock-mblnr
  AND mjahr EQ i_stock-mjahr.
  IF sy-subrc = 0.
    LOOP AT i_headertext.
      LOOP AT i_output_tab WHERE mblnr = i_headertext-mblnr AND mjahr = i_headertext-mjahr.
        MOVE: i_headertext-bktxt TO i_output_tab-text.
        MODIFY i_output_tab INDEX sy-tabix TRANSPORTING text.
      ENDLOOP.
    ENDLOOP.
  ENDIF.
ENDIF.
Let me know if you have any problem. Thanks Venkat.O

Read only

Former Member
0 Likes
1,274

Problem solved. Thanks alot venkat

Read only

Former Member
0 Likes
1,274

Hi Kumar,

SELECT mblnr mjahr bktxt FROM mkpf

INTO CORRESPONDING FIELDS OF TABLE i_headertext

FOR ALL ENTRIES IN i_stock

WHERE mblnr EQ i_stock-mblnr

and mjahr EQ i_stock-mjahr.

if sy-subrc = 0.

loop at I_stock.

READ TABLE i_headertext WITH KEY mblnr = i_stock-mblnr

mjahr = i_stock-mjahr.

MOVE: i_headertext-bktxt TO i_output_tab-text.

modify table i_output_tab TRANSPORTING text .

endloop.

Endif.

As per your above code, you have not specified any criteria to modify I_OUTPUT_TAB. Either you have to give Index or give WHERE clause. Are you looping on I_OUTPUT_TAB? If that is the case, then it should modify current row.

Give your required part of code, so that I can try to give you solution.

Thanks & Regards,

Anil Salekar