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: 

loop append and modify problem

Former Member
0 Kudos

HELLOW I HAVE A PROBLEM WITH MY ITS LITLE PROBLEM BUT I DON’T SCUSSES TO FIND IT I JUST WONT TO PUT IN FIELD wa_itab_final-status_resom = text-003.

IN THE FIRST LOOP AND IN THE SECOND SELECT I WONT 2 PUT TEXT 004 JUST DIFFERENT TEXT WHEN THE LOOP IS HAPPENES AND I DON’T SUCSSES I HAVE JUST TEXT-003 WHY?????

LOOP AT itab INTO wa_itab.

READ TABLE c_itab INTO wa_c_itab WITH KEY employee_num = wa_itab-objid.

IF sy-subrc = 0.

wa_itab_final-objid = wa_itab-objid.

wa_itab_final-firstname = wa_itab-firstname.

wa_itab_final-lastname = wa_itab-lastname.

MOVE wa_c_itab-begda TO wa_itab_final-begda.

MOVE wa_c_itab-endda TO wa_itab_final-endda.

MOVE wa_c_itab-priox TO wa_itab_final-priox.

MOVE wa_c_itab-istat TO wa_itab_final-istat.

SELECT SINGLE stext

FROM hrp1000

INTO wa_itab_final-stext

WHERE objid = wa_c_itab-objid.

<b>wa_itab_final-status_resom = text-003.</b>

APPEND wa_itab_final TO itab_final.

CLEAR wa_itab_final.

ENDIF.

ENDLOOP.

LOOP AT itab INTO wa_itab.

READ TABLE d_itab INTO wa_d_itab WITH KEY employee_num_reg = wa_itab-objid.

IF sy-subrc = 0.

wa_itab_final-objid = wa_itab-objid.

wa_itab_final-firstname = wa_itab-firstname.

wa_itab_final-lastname = wa_itab-lastname.

<b> wa_itab_final-status_resom = text-004.</b>

MODIFY itab_final FROM wa_itab_final INDEX sy-tabix.

CLEAR wa_itab_final.

ENDIF.

ENDLOOP.

*--


check the status of employee--


LOOP AT itab_final INTO wa_itab_final.

IF wa_itab_final-istat = 2.

wa_itab_final-employee_status = text-001.

ELSE.

wa_itab_final-employee_status = text-002.

ENDIF.

MODIFY itab_final FROM wa_itab_final.

CLEAR wa_itab_final.

ENDLOOP.

ENDFUNCTION.

1 ACCEPTED SOLUTION

former_member181962
Active Contributor
0 Kudos

make this Change:

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

LOOP AT itab INTO wa_itab.

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

READ TABLE d_itab INTO wa_d_itab WITH KEY employee_num_reg = wa_itab-objid.

IF sy-subrc = 0.

wa_itab_final-objid = wa_itab-objid.

wa_itab_final-firstname = wa_itab-firstname.

wa_itab_final-lastname = wa_itab-lastname.

wa_itab_final-status_resom = text-004.

MODIFY itab_final FROM wa_itab_final INDEX <b>v_tabix</b>.

CLEAR wa_itab_final.

ENDIF.

ENDLOOP.

Regards,

Ravi

3 REPLIES 3

former_member181962
Active Contributor
0 Kudos

make this Change:

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

LOOP AT itab INTO wa_itab.

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

READ TABLE d_itab INTO wa_d_itab WITH KEY employee_num_reg = wa_itab-objid.

IF sy-subrc = 0.

wa_itab_final-objid = wa_itab-objid.

wa_itab_final-firstname = wa_itab-firstname.

wa_itab_final-lastname = wa_itab-lastname.

wa_itab_final-status_resom = text-004.

MODIFY itab_final FROM wa_itab_final INDEX <b>v_tabix</b>.

CLEAR wa_itab_final.

ENDIF.

ENDLOOP.

Regards,

Ravi

Former Member
0 Kudos

Hi Antonio,

First of all i didn' t understand you well but in the second loop that you add text-004 check sy-tabix.

"MODIFY itab_final FROM wa_itab_final INDEX sy-tabix."

I think this is the problem. hold your index as a variable such as

gv_index like sy-tabix. in every loop , add one to it.

Hope this helps.

Best regards

Former Member
0 Kudos

Antonio,

LOOP AT itab INTO wa_itab.

READ TABLE d_itab INTO wa_d_itab WITH KEY employee_num_reg = wa_itab-objid.

IF sy-subrc = 0.

wa_itab_final-objid = wa_itab-objid.

wa_itab_final-firstname = wa_itab-firstname.

wa_itab_final-lastname = wa_itab-lastname.

wa_itab_final-status_resom = text-004.

MODIFY itab_final FROM wa_itab_final INDEX sy-tabix.

CLEAR wa_itab_final.

ENDIF.

ENDLOOP.

in MODIFY itab_final FROM wa_itab_final INDEX sy-tabix.

do not modify wiht index.

use where statement

<b>in MODIFY itab_final FROM wa_itab_final where objid = wa_itab_final-objid.</b>

-Anu

Message was edited by:

Anupama Reddy