‎2008 Aug 20 6:28 AM
hi, expert,
Can anyone tell me how to save a data row to a column. i mean.
sku month qty
AA 01 10
AA 02 20
AA 03 20
BB 01 20
BB 02 40
CC 02 50
CC 03 10
CC 04 20
output :
SKU M1 M2 M3 M4
AA 10 20 20
BB 20 40
CC 0 50 10 04
Pls help to solve this problem.
thank you
vimala
‎2008 Aug 20 6:40 AM
Hi vimala .,
data : begin of itab occurs 0 ,
sku (3) ,
month(2) ,
qty(2) ,
end of itab .
data : begin of jtab occurs 0 ,
sku (3) ,
m1(2) ,
M2(2) ,
M3(2) ,
end of itab .
sort itab by SKU Month .
you will get sorted internal table as shown below .
sku month qty
AA 01 10
AA 02 20
AA 03 20
BB 01 20
BB 02 40
CC 02 50
CC 03 10
CC 04 20
loop at itab .
at new sku .
jtab-sku = itab-sku .
endat .
case month .
when '01' .
jtab-M1 = itab-qty .
when '02' .
jtab-M2 = itab-qty .
when '03' .
jtab-M3 = itab-qty .
endcase .
at end of sku .
append jtab .
clear jtab .
endat .
endloop .
thanks
Sreenivas Reddy
Edited by: Sreenivas Reddy Dommata on Aug 20, 2008 7:41 AM
Edited by: Sreenivas Reddy Dommata on Aug 20, 2008 7:41 AM
‎2008 Aug 20 7:19 AM
Hi,
Check the following code:
DATA: BEGIN OF itab occurs 0,
sku(10) TYPE c,
month(2) TYPE n,
qty(2) TYPE n,
END OF itab.
itab-sku = 'AA'.
itab-month = '01'.
itab-qty = 10.
APPEND ITAB.
itab-sku = 'AA'. itab-month = 02. itab-qty = 20. APPEND ITAB.
itab-sku = 'AA'. itab-month = 03. itab-qty = 20. APPEND ITAB.
itab-sku = 'BB'. itab-month = 01. itab-qty = 20. APPEND ITAB.
itab-sku = 'BB'. itab-month = 02. itab-qty = 40. APPEND ITAB.
itab-sku = 'CC'. itab-month = 02. itab-qty = 50. APPEND ITAB.
itab-sku = 'CC'. itab-month = 03. itab-qty = 10. APPEND ITAB.
itab-sku = 'CC'. itab-month = 04. itab-qty = 20. APPEND ITAB.
PERFORM LIST.
FORM LIST.
data: cl like itab-sku.
SKIP TO LINE 3.
LOOP AT ITAB.
if cl <> itab-sku.
write : / itab-sku.
else.
write : ''.
endif.
write : itab-qty.
cl = itab-sku.
ENDLOOP.
ENDFORM.
Regards,
Bhaskar
‎2008 Aug 20 7:35 AM
Hello
data: begin of tab1 occurs 0,
sku(3),
month(2),
qty type i,
end of tab1.
data: begin of tab2 occurs 0,
sku(3),
m1 type i,
m2 type i,
m3 type i,
m4 type i,
end of tab2.
loop at tab1.
clear tab2.
tab2-sku = tab1-sku.
case tab1-month.
when '01'. tab2-m1 = tab1-qty.
when '02'. tab2-m2 = tab1-qty.
when '03'. tab2-m3 = tab1-qty.
when '04'. tab2-m4 = tab1-qty.
endcase.
collect tab2.
endloop.
‎2008 Aug 20 7:37 AM
Here another one..
REPORT zrow_data.
DATA: BEGIN OF it_data OCCURS 0,
sku TYPE matnr,
month(2),
qty TYPE i,
END OF it_data.
DATA: BEGIN OF it_final OCCURS 0,
sku TYPE matnr,
m1 TYPE i,
m2 TYPE i,
m3 TYPE i,
m4 TYPE i,
END OF it_final.
it_data-sku = 'AA'.
it_data-month = '01'.
it_data-qty = 10.
APPEND it_data.
it_data-sku = 'AA'.
it_data-month = '02'.
it_data-qty = 20.
APPEND it_data.
it_data-sku = 'AA'.
it_data-month = '03'.
it_data-qty = 20.
APPEND it_data.
it_data-sku = 'BB'.
it_data-month = '01'.
it_data-qty = 20.
APPEND it_data.
it_data-sku = 'BB'.
it_data-month = '02'.
it_data-qty = 40.
APPEND it_data.
it_data-sku = 'CC'.
it_data-month = '02'.
it_data-qty = 50.
APPEND it_data.
it_data-sku = 'CC'.
it_data-month = '03'.
it_data-qty = 10.
APPEND it_data.
it_data-sku = 'CC'.
it_data-month = '04'.
it_data-qty = 20.
APPEND it_data.
DATA: field(11).
FIELD-SYMBOLS : <fs> TYPE ANY.
SORT it_data BY sku.
LOOP AT it_data.
AT NEW sku.
it_final-sku = it_data-sku.
ENDAT.
CONCATENATE 'IT_FINAL-M' it_data-month+1(1) INTO field.
ASSIGN (field) TO <fs>.
<fs> = it_data-qty.
UNASSIGN <fs>.
AT END OF sku.
APPEND it_final.
CLEAR it_final.
ENDAT.
ENDLOOP.
LOOP AT it_final.
WRITE:/ it_final-sku,
it_final-m1,
it_final-m2,
it_final-m3,
it_final-m4.
ENDLOOP.
‎2008 Aug 20 7:44 AM
Hi,
Check out this code
REPORT z_sdn.
DATA:
BEGIN OF fs_tab,
sku(2) TYPE c,
mth(2) TYPE n,
qty(2) TYPE n,
END OF fs_tab.
DATA:
t_tab LIKE
TABLE OF
fs_tab.
START-OF-SELECTION.
fs_tab-sku = 'AA'.
fs_tab-mth = '01'.
fs_tab-qty = '10'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'AA'.
fs_tab-mth = '02'.
fs_tab-qty = '20'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'AA'.
fs_tab-mth = '03'.
fs_tab-qty = '20'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'BB'.
fs_tab-mth = '01'.
fs_tab-qty = '20'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'BB'.
fs_tab-mth = '02'.
fs_tab-qty = '40'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'CC'.
fs_tab-mth = '02'.
fs_tab-qty = '50'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'CC'.
fs_tab-mth = '03'.
fs_tab-qty = '10'.
APPEND fs_tab TO t_tab.
CLEAR fs_tab.
fs_tab-sku = 'CC'.
fs_tab-mth = '10'.
fs_tab-qty = '04'.
APPEND fs_tab TO t_tab.
LOOP AT t_tab INTO fs_tab.
AT NEW sku.
SKIP.
WRITE: fs_tab-sku.
ENDAT.
WRITE: fs_tab-qty.
ENDLOOP.
Regards
Abhijeet