‎2006 Nov 15 7:59 AM
Hellow 1.I wont to doing loop with read and I have a error message the internal table b_itab have no header line I just wont to check if objid in itab = objid in b itab if so modify itab final.
2. do i need to use modify?
TYPES: BEGIN OF 2_itab,
objid TYPE hrobjid,
sobid TYPE sobid,
begda TYPE begdatum,
endda TYPE enddatum,
priox TYPE priox,
sclas TYPE sclas,
myobjid TYPE hrobjid,
END OF 2_itab.
DATA: b_itab TYPE TABLE OF 2_itab,
wa_b_itab LIKE LINE OF b_itab.
LOOP AT itab INTO wa_itab.
READ TABLE b_itab WITH KEY wa_b_itab-myobjid = 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.
MODIFY itab_final FROM b_itab .
ENDIF.
ENDLOOP.
‎2006 Nov 15 8:03 AM
Hi,
Check this code....
TYPES: BEGIN OF 2_itab,
objid TYPE hrobjid,
sobid TYPE sobid,
begda TYPE begdatum,
endda TYPE enddatum,
priox TYPE priox,
sclas TYPE sclas,
myobjid TYPE hrobjid,
END OF 2_itab.
DATA: b_itab TYPE TABLE OF 2_itab,
wa_b_itab LIKE LINE OF b_itab.
LOOP AT itab INTO wa_itab.
READ TABLE b_itab WITH KEY myobjid = 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>append wa_itab_final to itab_final.</b>
ENDIF.
ENDLOOP.
Regards
Vijay
‎2006 Nov 15 8:00 AM
Just change the statement a bit
wa_itab1 like line of b_itab.
LOOP AT itab INTO wa_itab.
<b>READ TABLE b_itab into wa_itab1 WITH KEY myobjid = wa_itab-objid.</b>
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.
MODIFY itab_final FROM b_itab .
ENDIF.
This should solve your problem
ENDLOOP.
Message was edited by:
Dominic Pappaly
‎2006 Nov 15 8:02 AM
wa_b_itab1 type 2_itab.
LOOP AT itab INTO wa_itab.
<b>READ TABLE b_itab into wa_b_itab1 WITH KEY myobjid = wa_itab-objid.</b>
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>MODIFY itab_final FROM wa_itab_final.</b>
ENDIF.
ENDLOOP.
Change the READ Statement liek above.
Regards
- Gopi
‎2006 Nov 15 8:03 AM
Hi,
Check this code....
TYPES: BEGIN OF 2_itab,
objid TYPE hrobjid,
sobid TYPE sobid,
begda TYPE begdatum,
endda TYPE enddatum,
priox TYPE priox,
sclas TYPE sclas,
myobjid TYPE hrobjid,
END OF 2_itab.
DATA: b_itab TYPE TABLE OF 2_itab,
wa_b_itab LIKE LINE OF b_itab.
LOOP AT itab INTO wa_itab.
READ TABLE b_itab WITH KEY myobjid = 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>append wa_itab_final to itab_final.</b>
ENDIF.
ENDLOOP.
Regards
Vijay
‎2006 Nov 15 8:08 AM
Antonio,
try
MODIFY itab_final FROM wa_itab_final
TRANSPORTING objid
firstname
lastname
WHERE myobjid = wa_itab-objid.
-Anu.
‎2006 Nov 15 8:12 AM
Hi,
I have the following suggestions.
1. You are collecting information in the work area WA_ITAB_FINAL and then why u want to modify the table ITAB_FINAL from some other work area? better u replace the modify statement with APPEND WA_ITAB_FINAL into ITAB_FINAL.
2. If you really want to modify then change the statement as follows.
MODIFY itab_final FROM WA_ITAB_FINAL (or some other work area with similar structure. but i dont see any reasons why u should use some other work area). May be u can use the transporting addition.