06-29-2007 10:32 AM
Hi,
I have to generate a report in ALV which has rows alongwith corresponding values in columns. I am familiar with generating columns, but can anyone provide help as to how to create rows in ALV.
Thanks,
AD.
06-29-2007 10:35 AM
Hi Ajay,
Refer this thread,
/people/srilatha.t/blog/2007/04/16/alv-grid-150-insert-row-function
Hope it helps.
06-29-2007 10:37 AM
Hi,
Check this..
/people/srilatha.t/blog/2007/04/16/alv-grid-150-insert-row-function
regards,
Omakr.
06-29-2007 10:38 AM
HI,
only we will create columns in alv.
rows will come based on the data u will pass to the alv while creating it.
see the example.
<b>without creating fieldcat.</b>
REPORT ZBHALV_LIST_GRID1.
TABLES:MARA.
DATA ITAB LIKE MARA OCCURS 0 WITH HEADER LINE.
SELECT * FROM MARA INTO TABLE ITAB UP TO 25 ROWS.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_STRUCTURE_NAME = 'MARA'
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB.
<b>with fieldcat:</b>
REPORT ZBHALV_LIST_GRID2.
TABLES:MARA.
DATA:BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
ERNAM LIKE MARA-ERNAM,
MBRSH LIKE MARA-MBRSH,
END OF ITAB.
TYPE-POOLS:SLIS.
DATA:AFIELD TYPE SLIS_FIELDCAT_ALV.
DATA:FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
DATA:FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA:HEAD TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME = 'ITAB'
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = FIELDCAT1.
CLEAR AFIELD.
AFIELD-Col_pos = 1.
AFIELD-fieldname = 'MATNR'.
AFIELD-KEY = 'X'.
APPEND AFIELD TO FIELDCAT.
CLEAR FIELDCAT.
CLEAR AFIELD.
AFIELD-Col_pos = 2.
AFIELD-fieldname = 'ERSDA'.
AFIELD-KEY = 'X'.
APPEND AFIELD TO FIELDCAT.
CLEAR FIELDCAT.
CLEAR AFIELD.
AFIELD-Col_pos = 3.
AFIELD-fieldname = 'ERNAM'.
APPEND AFIELD TO FIELDCAT.
CLEAR FIELDCAT.
CLEAR AFIELD.
AFIELD-Col_pos = 4.
AFIELD-fieldname = 'MBRSH'.
APPEND AFIELD TO FIELDCAT.
CLEAR FIELDCAT.
EVE-NAME = 'TOP_OF_PAGE'.
EVE-FORM = 'HEADER'.
APPEND EVE.
CLEAR EVE.
EVE-NAME = 'END_OF_LIST'.
EVE-FORM = 'LISTEND'.
APPEND EVE.
CLEAR EVE.
EVE-NAME = 'TOP_OF_LIST'.
EVE-FORM = 'LISTTOP'.
APPEND EVE.
CLEAR EVE.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 20 ROWS
.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_STRUCTURE_NAME = 'ITAB'
IT_FIELDCAT = FIELDCAT1
I_DEFAULT = 'X'
I_SAVE = 'A'
IT_EVENTS = EVE[]
TABLES
T_OUTTAB = ITAB.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_STRUCTURE_NAME = 'ITAB'
IT_FIELDCAT = FIELDCAT[]
I_DEFAULT = 'X'
I_SAVE = 'A'
IT_EVENTS = EVE[]
TABLES
T_OUTTAB = ITAB.
FORM HEADER.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'GENERAL MATERIAL DATA'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[].
ENDFORM.
FORM LISTEND.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'END OF THE LIST'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[].
ENDFORM.
FORM LISTTOP.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'TOP OF THE LIST'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[].
ENDFORM.
rgds,
bharat.
06-29-2007 10:41 AM
HI,
YOU CAN HANDLE THE ROW POSITION BY USING THE FIELD
ROW_POS IN FIELDCAT .
IT CAN BE USED IN THE SAME MANNER AS USED FOR COLULN POSITIONING