‎2007 Jul 26 8:09 AM
HI,
suppose i have itab1 like this with values.
matnr mtart
9882 F
8787 X
I would like to fill itab2 in this fashion.
matnr
mtart
9882
F
8787
X.
anybody tell me how to achieve this??
‎2007 Jul 26 8:11 AM
Use this code.
loop at itab1.
itab2-field = itab-fld1.
append itab2.
itab2-field = itab-fld2.
append itab2.
endloop.fld1 and fld2 are columns of itab1.
field is the column of itab2.
Please mark points if the solution was useful.
Manoj
‎2007 Jul 26 8:16 AM
1>itab2[] = itab1[] if your internal tables both have exactly the same structure
2> or move 1 by 1 all the feilds from old itab to new
3>u can use move corresponding statement also
4>move statement also
if still its not done paste your code here
thnkx
bhanu
‎2007 Jul 26 8:17 AM
Hi,
Loop at itab1.
itab2-matnr = itab1-matnr .
append itab2.
itab2-matnr = itab1-mtart .
append itab2.
endloop.
‎2007 Jul 26 8:18 AM
hi
loop at itab1 into wa1.
wa2-matnr=wa1-matnr
wa2-mtart=wa1-mtart
wa2-9882=wa1-9882
wa2-F=wa1-F
wa2-8787=wa1-8787
wa2-X.=wa1-X.
append wa2 to itab2.
clear wa2.
regards
ravish
<b>plz dont forget to reward if helpful</b>
‎2007 Jul 26 8:26 AM
Try something like
DATA: BEGIN OF itab1 OCCURS 0,
matnr LIKE mara-matnr,
ersda LIKE mara-ersda,
ernam LIKE mara-ernam,
volum LIKE mara-volum,
voleh LIKE mara-voleh,
END OF itab1.
DATA: BEGIN OF itab2 OCCURS 0,
walue(80),
END OF itab2.
FIELD-SYMBOLS: <fs>.
SELECT * FROM mara UP TO 5 ROWS
INTO CORRESPONDING FIELDS OF TABLE itab1.
LOOP AT itab1.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE itab1 TO <fs>.
IF sy-subrc <> 0. EXIT. ENDIF.
WRITE <fs> TO itab2. " or MOVE
APPEND itab2.
ENDDO.
ENDLOOP.Regards
‎2007 Jul 26 8:57 AM
I add the header in this version
TYPE-POOLS sydes.
DATA: BEGIN OF itab1 OCCURS 0,
matnr LIKE mara-matnr,
ersda LIKE mara-ersda,
ernam LIKE mara-ernam,
volum LIKE mara-volum,
voleh LIKE mara-voleh,
END OF itab1.
DATA: BEGIN OF itab2 OCCURS 0,
walue(80),
END OF itab2.
FIELD-SYMBOLS: <fs>.
SELECT * FROM mara UP TO 5 ROWS
INTO CORRESPONDING FIELDS OF TABLE itab1.
* Headers
DATA t_desc TYPE sydes_desc.
DESCRIBE FIELD itab1 INTO t_desc.
LOOP AT t_desc-names.
CHECK t_desc-names-name <> sy-repid. " program where strcuture
CHECK t_desc-names-name+0(2) <> '=='. " ref field (unit, curr)
writet_desc-names-name to itab2. " or MOVE
APPEND itab2.
ENDLOOP.
* Fields value
LOOP AT itab1.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE itab1 TO <fs>.
IF sy-subrc <> 0. EXIT. ENDIF.
WRITE <fs> TO itab2. " or MOVE
APPEND itab2.
ENDDO.
ENDLOOP.Regards
‎2007 Jul 26 9:03 AM
(sorry to fast) correct version (no header line in subtable)
TYPE-POOLS sydes.
DATA: BEGIN OF itab1 OCCURS 0,
matnr LIKE mara-matnr,
ersda LIKE mara-ersda,
ernam LIKE mara-ernam,
volum LIKE mara-volum,
voleh LIKE mara-voleh,
END OF itab1.
DATA: BEGIN OF itab2 OCCURS 0,
walue(80),
END OF itab2.
FIELD-SYMBOLS: <fs>.
SELECT * FROM mara UP TO 5 ROWS
INTO CORRESPONDING FIELDS OF TABLE itab1.
* Headers
DATA: t_desc TYPE sydes_desc,
l_name LIKE LINE OF t_desc-names.
DESCRIBE FIELD itab1 INTO t_desc.
LOOP AT t_desc-names INTO l_name.
CHECK l_name-name <> sy-repid. " program where strcuture
CHECK l_name-name+0(2) <> '=='. " ref field (unit, curr)
WRITE l_name-name TO itab2. " or MOVE
APPEND itab2.
ENDLOOP.
* Fields value
LOOP AT itab1.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE itab1 TO <fs>.
IF sy-subrc <> 0. EXIT. ENDIF.
WRITE <fs> TO itab2. " or MOVE
APPEND itab2.
ENDDO.
ENDLOOP.Regards
‎2007 Jul 26 8:29 AM
Hello,
Check this COde.
DATA: BEGIN OF itab1 OCCURS 0,
f1 TYPE char10,
f2 TYPE char10,
END OF itab1.
DATA: wa_tab1 LIKE LINE OF itab1.
DATA: BEGIN OF itab2 OCCURS 0,
f1 TYPE char10,
END OF itab2.
DATA: wa_tab2 LIKE LINE OF itab2.
CLEAR wa_tab1.
wa_tab1-f1 = '1111'.
wa_tab1-f2 = 'A'.
APPEND wa_tab1 TO itab1.
CLEAR wa_tab1.
wa_tab1-f1 = '2222'.
wa_tab1-f2 = 'B'.
APPEND wa_tab1 TO itab1.
CLEAR wa_tab1.
wa_tab1-f1 = '3333'.
wa_tab1-f2 = 'C'.
APPEND wa_tab1 TO itab1.
CLEAR wa_tab1.
wa_tab1-f1 = '4444'.
wa_tab1-f2 = 'D'.
APPEND wa_tab1 TO itab1.
LOOP AT itab1 INTO wa_tab1.
WRITE:/ wa_tab1-f1,
wa_tab1-f2.
ENDLOOP.
LOOP AT itab1 INTO wa_tab1.
wa_tab2-f1 = wa_tab1-f1.
APPEND wa_tab2 TO itab2.
wa_tab2-f1 = wa_tab1-f2.
APPEND wa_tab2 TO itab2.
ENDLOOP.
WRITE:/ '*****************'.
LOOP AT itab2 INTO wa_tab2.
WRITE:/ wa_tab2-f1.
ENDLOOP.Regards,
Deepu.K
‎2007 Jul 26 8:31 AM
Hi try this one...........
REPORT ytest1 line-count 20(10).
data: begin of itab1 occurs 0,
t1(10),
t2(10),
end of itab1.
itab1-t1 = '1000 f1' .
itab1-t2 = '1001 f2' .
append itab1.
data : q type c value ' '.
data: begin of itab2 occurs 0,
t3(10),
t4(10),
t5(10),
t6(10),
end of itab2.
loop at itab1.
split itab1-t1 at q into itab2-t3 itab2-t4.
split itab1-t2 at q into itab2-t5 itab2-t6.
append itab2.
endloop.
loop at itab2.
write: / itab2-t3,
itab2-t4,
itab2-t5,
itab2-t6.
endloop.
rewards point if it is helpful
regards,
Mohit
‎2007 Jul 26 9:07 AM
HI mamtha,
AT END OF matnr.
LOOP AT int1 WHERE matnr = int2matnr.
CLEAR int_final1.
MOVE int1_matnr TO int2-matnr.
MOVE int2-matnr TO int2-mtart.
CLEAR int2
APPEND int_final1.
CLEAR int1
ENDLOOP.
ENDAT.
Kishore reddy