Tuesday, April 26, 2011

Converting ROW Data into Column Data In ABAP

*&---------------------------------------------------------------------*
*& Report ZROW2COLUM *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZROW2COLUM LINE-SIZE 1000.
selection-screen: begin of block b1 with frame title text-t01.
TABLES : MVER.
DATA : begin of MVER_IT OCCURS 0,
GJAHR(12) TYPE C,
GSV01(6) TYPE P DECIMALS 2,
GSV02(6) TYPE P DECIMALS 2,
GSV03(6) TYPE P DECIMALS 2,
GSV04(6) TYPE P DECIMALS 2,
GSV05(6) TYPE P DECIMALS 2,
GSV06(6) TYPE P DECIMALS 2,
GSV07(6) TYPE P DECIMALS 2,
GSV08(6) TYPE P DECIMALS 2,
GSV09(6) TYPE P DECIMALS 2,
GSV10(6) TYPE P DECIMALS 2,
GSV11(6) TYPE P DECIMALS 2,
GSV12(6) TYPE P DECIMALS 2,
MATNR LIKE MVER-MATNR,
WERKS LIKE MVER-WERKS,
END OF MVER_IT.
DATA : MVER_TOTAL LIKE MVER_IT.
DATA: matnr like mver-matnr,
gjahr like mver-gjahr,
werks like mver-werks,
FYEAR(4) TYPE C,
line1 type i,
pos1 type i,
sum1 type i.
 
SELECT-OPTIONS matnr1 for matnr .
SELECT-OPTIONS year for gjahr .
SELECT-OPTIONS plant for werks .
selection-screen: end of block b1.
initialization.
line1 = 3.
pos1 = 1.
at selection-screen.


START-OF-SELECTION.
WRITE : / 'JANUARY'.
WRITE : / 'FEBRUARY'.
WRITE : / 'MARCH'.
WRITE : / 'APRIL'.
WRITE : / 'MAY'.
WRITE : / 'JUNE'.
WRITE : / 'JULY'.
WRITE : / 'AUGUST'.
WRITE : / 'SEPTEMBER'.
WRITE : / 'OCTOBER'.
WRITE : / 'NOVERMBER'.
WRITE : / 'DECEMBER'.

select * from mver into corresponding FIELDS OF table MVER_IT WHERE MATNR IN MATNR1 AND WERKS IN PLANT AND GJAHR IN YEAR.
 
LOOP AT MVER_IT.
pos1 = pos1 + 12.
line1 = 3.
skip to line line1.
position pos1.
WRITE : MVER_IT-GJAHR RIGHT-JUSTIFIED.
 
line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV01.
WRITE : SY-VLINE.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV02.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV03.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV04.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV05.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV06.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV07.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV08.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV09.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV10.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV11.

line1 = line1 + 1.
skip to line line1.
position pos1.
WRITE : MVER_IT-GSV12.
 
ENDLOOP. 

No comments:

Post a Comment