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

output row data into column.

Former Member
0 Likes
583

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

5 REPLIES 5
Read only

Former Member
0 Likes
558

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

Read only

Former Member
0 Likes
558

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

Read only

Former Member
0 Likes
558

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.

Read only

Former Member
0 Likes
558

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.

Read only

Former Member
0 Likes
558

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