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

ALV grid

Former Member
0 Likes
360

Hi ABAP Gurus,

i want to create one alv report . i am getting division value into it .

now they want display layout somethng like this .

Output should look like this .

for division1

alv grid (data with header field)

for division2

alv grid (data with header filed)

now i don't know how to create two alv grid in one report with two different comment on top.

thanks,

Jack

3 REPLIES 3
Read only

Former Member
0 Likes
339

Hi Jack,

go through below threads

Reward points if it helps,

Satish

Read only

Former Member
0 Likes
339

Hello JAck,

Its Possible in OO . You create two containers for output and pass different internal tables for this Containers .

Check below if it helps :

IF g_r_grid IS INITIAL.

CREATE OBJECT g_r_cont

EXPORTING container_name = 'CUSTCNTL'.

CREATE OBJECT g_r_grid

EXPORTING i_parent = g_r_cont.

IF g_r_grid1 IS INITIAL.

CREATE OBJECT g_r_cont1

EXPORTING container_name = 'CUSTCNTL1'.

CREATE OBJECT g_r_grid1

EXPORTING i_parent = g_r_cont1.

ENDIF.

ENDIF .

Above Two Grids : Grid and Grid1

Containers : 'CUSTCNTL' / 'CUSTCNTL1'. defined .

Then l as per your Requirement pass tables into ur Method .

Hope it helps .

Praveen

Read only

Former Member
0 Likes
339

Hi jack,

i tried to display the 2 alv reports in single layout(screen).

i got the different output when i used two times the function module "REUSE_ALV_GRID_DISPLAY".

just hv a look on the following code.

TABLES: VBAK,VBAP.

TYPE-POOLS SLIS.

  • Data Declaration

TYPES: BEGIN OF T_VBAK,

VBELN TYPE VBAK-VBELN,

ERDAT TYPE VBAK-ERDAT,

ERNAM TYPE VBAK-ERNAM,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

NETWR TYPE VBAK-NETWR,

VKORG TYPE VBAK-VKORG,

VKGRP TYPE VBAK-VKGRP,

LINE_COLOR(4) TYPE C,

END OF T_VBAK.

DATA: IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0,

WA_VBAK TYPE T_VBAK.

TYPES: BEGIN OF T_VBAP,

VBELN TYPE VBAP-VBELN,

POSNR TYPE VBAP-POSNR,

CHARG TYPE VBAP-CHARG,

MATNR TYPE VBAP-MATNR,

END OF T_VBAP.

DATA: IT_VBAP TYPE STANDARD TABLE OF T_VBAP INITIAL SIZE 0,

WA_VBAP TYPE T_VBAP.

  • ALV Data Declaration

DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

GD_LAYOUT TYPE SLIS_LAYOUT_ALV,

GD_REPID TYPE SY-REPID.

  • I_EVENTS TYPE SLIS_T_EVENT,

  • W_EVENTS LIKE LINE OF I_EVENTS.

*DATA: I_COMMENT TYPE SLIS_T_LISTHEADER,

  • WA_COMMENT TYPE SLIS_LISTHEADER.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM BLD_FLDCAT.

PERFORM BLD_LAYOUT.

*PERFORM CALL_EVENTS.

PERFORM DATARETRIEVAL.

PERFORM BLD_FLDCAT2.

PERFORM DISPLAY_ALV_REPORT.

  • Build Field Catalog for ALV Report

FORM BLD_FLDCAT.

FLDCAT-FIELDNAME = 'VBELN'.

FLDCAT-SELTEXT_M = 'Sales Document'.

FLDCAT-COL_POS = 0.

*FLDCAT-EMPHASIZE = 'C411'.

FLDCAT-OUTPUTLEN = 20.

FLDCAT-KEY = 'X'.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'ERDAT'.

FLDCAT-SELTEXT_L = 'Record Date created'.

FLDCAT-COL_POS = 1.

FLDCAT-KEY = 'X'.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'ERNAM'.

FLDCAT-SELTEXT_L = 'Cteated Object Person Name'.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'AUDAT'.

FLDCAT-SELTEXT_M = 'Document Date'.

FLDCAT-COL_POS = 3.

FLDCAT-EMPHASIZE = 'C110'.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'VBTYP'.

FLDCAT-SELTEXT_L = 'SD Document category'.

FLDCAT-COL_POS = 4.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'NETWR'.

FLDCAT-SELTEXT_L = 'Net Value of the SO in Document Currency'.

FLDCAT-COL_POS = 5.

FLDCAT-OUTPUTLEN = 60.

FLDCAT-DO_SUM = 'X'.

FLDCAT-DATATYPE = 'CURR'.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'VKORG'.

FLDCAT-SELTEXT_L = 'Sales Organization'.

FLDCAT-COL_POS = 6.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

FLDCAT-FIELDNAME = 'VKGRP'.

FLDCAT-SELTEXT_M = 'Sales Group'.

FLDCAT-COL_POS = 7.

FLDCAT-EMPHASIZE = 'C801'.

APPEND FLDCAT. " TO FLDCAT.

*CLEAR FLDCAT.

ENDFORM.

  • Build Layout for ALV Grid Report

FORM BLD_LAYOUT.

GD_LAYOUT-NO_INPUT = 'X'.

GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.

ENDFORM.

  • Display report using ALV grid

FORM DISPLAY_ALV_REPORT.

*

*DATA T_EVENT TYPE SLIS_T_EVENT.

*

*CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

  • IMPORTING

  • ET_EVENTS = T_EVENT.

*IF SY-SUBRC <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDIF.

GD_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

IS_LAYOUT = GD_LAYOUT

  • I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'

  • I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_END_OF_LIST = 'END_OF_LIST_HTML'

  • IT_EVENTS = I_EVENTS

IT_FIELDCAT = FLDCAT[]

I_SAVE = 'X'

TABLES

T_OUTTAB = IT_VBAK

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = GD_LAYOUT

IT_FIELDCAT = FLDCAT2[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBAP

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

  • Retrieve data from VBAK table and populate itab IT_VBAK

FORM DATA_RETRIEVAL.

DATA LD_COLOR(1) TYPE C.

SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG

FROM VBAK

INTO TABLE IT_VBAK

UP TO 10 ROWS.

LOOP AT IT_VBAK INTO WA_VBAK.

LD_COLOR = LD_COLOR + 1.

IF LD_COLOR = 8.

LD_COLOR = 1.

ENDIF.

CONCATENATE 'C' LD_COLOR '10' INTO WA_VBAK-LINE_COLOR.

MODIFY IT_VBAK FROM WA_VBAK.

ENDLOOP.

ENDFORM.

FORM DATARETRIEVAL.

SELECT VBELN POSNR CHARG MATNR

INTO TABLE IT_VBAP

FROM VBAP UP TO 20 ROWS.

ENDFORM.

FORM BLD_FLDCAT2.

FLDCAT2-FIELDNAME = 'VBELN'.

FLDCAT2-SELTEXT_M = 'SALES DOC'.

FLDCAT2-COL_POS = 8.

APPEND FLDCAT2 TO FLDCAT2.

CLEAR FLDCAT2.

FLDCAT2-FIELDNAME = 'POSNR'.

FLDCAT2-SELTEXT_M = 'SALES DOC ITEM'.

FLDCAT2-COL_POS = 9.

APPEND FLDCAT2 TO FLDCAT2.

CLEAR FLDCAT2.

FLDCAT2-FIELDNAME = 'CHARG'.

FLDCAT2-COL_POS = 10.

FLDCAT2-SELTEXT_M = 'BATCH NUMBER'.

APPEND FLDCAT2 TO FLDCAT2.

CLEAR FLDCAT2.

FLDCAT2-FIELDNAME = 'MATNR'.

FLDCAT2-COL_POS = 11.

FLDCAT2-SELTEXT_M = 'MATERIAL NUMBER'.

APPEND FLDCAT2 TO FLDCAT2.

CLEAR FLDCAT2.

ENDFORM.

if u hv any doubts in this code,then i welcome u to clarify.