2007 Apr 25 12:02 PM
Hi all,
My Query is.......
I want to disply two ALV GRID in Single Screen, Using FM
Is it possible, If possible send the sample code or Guidence
I look forward to your reply
Award Points for Helpful Answer
Thanks
SEK
Hi all,
My Query is.......
I want to disply two ALV GRID in Single Screen, Using FM
Is it possible, If possible send the sample code or Guidence
I look forward to your reply
Award Points for Helpful Answer
Thanks
SEK
2007 Apr 25 12:04 PM
yes, it is possible,
on the screen you have to create 2 custom controls.
Also you have to create all class-instances and methods twice.
regards,
Hans
Please reward all helpful answers !!!!!
2007 Apr 25 12:06 PM
u can use reuse-...block_list_append
chk this
http://www.geocities.com/mpioud/Z_ALV_LIST_BLOCK.html
if u want in custom containers , chk this
DEMO_ABAP_OBJECTS_SPLIT_SCREEN
2007 Apr 25 12:07 PM
PROCESSES:
1. Declare two input table ( gt_ekko, gt_mara) . One for Purchase Order and One for material master.
2. Retrive data:
1. select records from ekko to gt_ekko
2. select records from mara to gt_mara
3. Declare two fieldcat table one for preparing the field catalog of purchase order and other for material master.
4. Built those two field catalog:
1. filedcatalog1 for purchase order
2. fieldcatalog2 for material master
5. Build the layout.
6. Build event for the two alv
1. events_ekko for events of ekko.
For xs_event-form = 'TOP_OF_PAGE-EKKO'.
And xs_event-form = END_OF_LIST_EKKO'.
We have to build two form 'TOP_OF_PAGE-EKKO' and END_OF_LIST_EKKO'.
2. events_mara for events of mara.
For xs_event-form = 'TOP_OF_LIST-MARA'.
And xs_event-form = 'TOP_OF_PAGE-MARA'.
We have to build two form 'TOP_OF_LIST-MARA'and 'TOP_OF_PAGE-MARA'.
7. Call the following FMs to display the ALVs:
1. REUSE_ALV_BLOCK_LIST_INIT : Pass only the report id.
2. REUSE_ALV_BLOCK_LIST_APPEND for ekko and pass
I. Fommon layout
II. Field catalof for ekko
III. Input table name for ekko
IV. Event table for ekko
V. Input table ekko
3. REUSE_ALV_BLOCK_LIST_APPEND for mara and pass
VI. Fommon layout
VII. Field catalof for mara
VIII. Input table name for mara
IX. Event table for mara
X. Input table mara
4. REUSE_ALV_BLOCK_LIST_DISPLAY: Pass only is_print parameter.
REPORT zdemoab.
TABLES: ekko, mara.
TYPE-POOLS: slis.
*Data Declaration
*----------------
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
TYPES: BEGIN OF t_mara,
matnr TYPE mara-matnr,
mtart TYPE mara-mtart,
matkl TYPE mara-matkl,
END OF t_mara.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
it_mara TYPE STANDARD TABLE OF t_mara INITIAL SIZE 0.
*ALV data declarations
DATA: fieldcatalog1 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
fieldcatalog2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_layout TYPE slis_layout_alv,
gt_events_ekko TYPE slis_t_event,
xs_event TYPE slis_alv_event,
gt_events_mara TYPE slis_t_event,
gd_repid TYPE sy-repid,
gt_print TYPE slis_print_alv.
* START-OF-SELECTION
START-OF-SELECTION.
PERFORM data_retrival.
PERFORM build_fieldcat.
PERFORM build_layout.
PERFORM events_ekko.
PERFORM events_mara.
PERFORM display_alv_report.
*SUBROUTINES
*&---------------------------------------------------------------------*
*& Form data_retrival
*&---------------------------------------------------------------------*
FORM data_retrival .
SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
UP TO 10 ROWS
FROM ekpo
INTO TABLE it_ekko.
SELECT matnr mtart matkl
UP TO 10 ROWS
FROM mara
INTO TABLE it_mara.
ENDFORM. " data_retrival
*&---------------------------------------------------------------------*
*& Form build_fieldcat
*&---------------------------------------------------------------------*
FORM build_fieldcat .
* FOR EKKO
fieldcatalog1-fieldname = 'EBELN'.
fieldcatalog1-seltext_m = 'Purchase Order'.
fieldcatalog1-col_pos = 0.
fieldcatalog1-outputlen = 10.
fieldcatalog1-emphasize = 'X'.
fieldcatalog1-key = 'X'.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'EBELP'.
fieldcatalog1-seltext_m = 'PO Item'.
fieldcatalog1-col_pos = 1.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'STATU'.
fieldcatalog1-seltext_m = 'Status'.
fieldcatalog1-col_pos = 2.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'AEDAT'.
fieldcatalog1-seltext_m = 'Item change date'.
fieldcatalog1-col_pos = 3.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'MATNR'.
fieldcatalog1-seltext_m = 'Material Number'.
fieldcatalog1-col_pos = 4.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'MENGE'.
fieldcatalog1-seltext_m = 'PO quantity'.
fieldcatalog1-col_pos = 5.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'MEINS'.
fieldcatalog1-seltext_m = 'Order Unit'.
fieldcatalog1-col_pos = 6.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'NETPR'.
fieldcatalog1-seltext_m = 'Net Price'.
fieldcatalog1-col_pos = 7.
fieldcatalog1-outputlen = 15.
fieldcatalog1-do_sum = 'X'. "Display column total
fieldcatalog1-datatype = 'CURR'.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'PEINH'.
fieldcatalog1-seltext_m = 'Price Unit'.
fieldcatalog1-col_pos = 8.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
* FOR MARA
fieldcatalog2-fieldname = 'MATNR'.
fieldcatalog2-seltext_m = 'Material No'.
fieldcatalog2-col_pos = 0.
fieldcatalog2-outputlen = 10.
fieldcatalog2-emphasize = 'X'.
fieldcatalog2-key = 'X'.
APPEND fieldcatalog2 TO fieldcatalog2.
CLEAR fieldcatalog1.
fieldcatalog2-fieldname = 'MTART'.
fieldcatalog2-seltext_m = 'Material type'.
fieldcatalog2-col_pos = 1.
APPEND fieldcatalog2 TO fieldcatalog2.
CLEAR fieldcatalog2.
fieldcatalog2-fieldname = 'MATKL'.
fieldcatalog2-seltext_m = 'Material Group'.
fieldcatalog2-col_pos = 2.
APPEND fieldcatalog2 TO fieldcatalog2.
CLEAR fieldcatalog2.
ENDFORM. " build_fieldcat
*&---------------------------------------------------------------------*
*& Form build_layout
*&---------------------------------------------------------------------*
FORM build_layout .
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
ENDFORM. " build_layout
*&---------------------------------------------------------------------*
*& Form events_ekko
*&---------------------------------------------------------------------*
FORM events_ekko .
CLEAR xs_event.
xs_event-name = slis_ev_top_of_page.
xs_event-form = 'TOP_OF_PAGE-EKKO'.
APPEND xs_event TO gt_events_ekko.
CLEAR xs_event.
xs_event-name = slis_ev_end_of_list.
xs_event-form = 'END_OF_LIST_EKKO'.
APPEND xs_event TO gt_events_ekko.
ENDFORM. " events_ekko
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE-EKKO
*&---------------------------------------------------------------------*
FORM top_of_page-ekko.
WRITE: / 'TOP OF PAGE : Purchase Order'.
ENDFORM. "XTOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form END_OF_LIST_EKKO
*&---------------------------------------------------------------------*
FORM end_of_list_ekko.
WRITE: / 'end OF list : Purchase Order'.
ENDFORM. "END_OF_LIST_EKKO
*&---------------------------------------------------------------------*
*& Form events_mara
*&---------------------------------------------------------------------*
FORM events_mara .
CLEAR xs_event.
xs_event-name = slis_ev_top_of_list.
xs_event-form = 'TOP_OF_LIST-MARA'.
APPEND xs_event TO gt_events_mara.
CLEAR xs_event.
xs_event-name = slis_ev_end_of_page.
xs_event-form = 'END_OF_PAGE_MARA'.
APPEND xs_event TO gt_events_mara.
ENDFORM. "events_mara
*&---------------------------------------------------------------------*
*& Form TOP_OF_LIST-MARA
*&---------------------------------------------------------------------*
FORM top_of_list-mara.
WRITE: / 'TOP OF LIST : Material Master'.
ENDFORM. "TOP_OF_LIST-MARA
*&---------------------------------------------------------------------*
*& Form END_OF_PAGE_MARA
*&---------------------------------------------------------------------*
FORM end_of_page_mara.
WRITE: / 'End OF Page : Material Master'.
ENDFORM. "END_OF_PAGE_MARA
*&---------------------------------------------------------------------*
*& Form display_alv_report
*&---------------------------------------------------------------------*
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gd_layout
it_fieldcat = fieldcatalog1[]
i_tabname = 'it_ekko'
it_events = gt_events_ekko
TABLES
t_outtab = it_ekko
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
.
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_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gd_layout
it_fieldcat = fieldcatalog2[]
i_tabname = 'it_mara'
it_events = gt_events_mara
TABLES
t_outtab = it_mara
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
gt_print-reserve_lines = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
is_print = gt_print.
ENDFORM. " display_alv_report
2007 Apr 25 12:08 PM
Use the below code
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = gs_extract1-report
i_callback_user_command = gv_user_command1
i_callback_pf_status_set = gv_status_set.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
it_fieldcat = fieldcat
is_layout = ls_layout
i_tabname = 'GT_REPORT1'
it_events = lt_events1
i_text = text-rb1
TABLES
t_outtab = gt_report1.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
it_fieldcat = fieldcat
is_layout = ls_layout
i_tabname = 'GT_REPORT2'
it_events = lt_events2
i_text = text-rb1
TABLES
t_outtab = gt_report2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
is_print = ls_print.
2007 Apr 25 12:08 PM
yes u can display 2 alv lists in a single list using
reuse_alv_block_list_init
reuse_alv_block_list_append
reuse_alv_block_list_display
this program is for displaying plant and storage data
of the material number selected.
sample code : hope it helps
&----
*& Report ZPL_ALV_ASSIGNMENT
*&
&----
*&
*&
&----
REPORT ZPL_ALV_ASSIGNMENT.
TYPE-POOLS : SLIS.
TABLES : MARA,
MARC,
MARD.
************INTERNAL TABLE DECLARATIONS*************************
DATA : BEGIN OF IT_MARA OCCURS 1,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
END OF IT_MARA.
DATA : BEGIN OF IT_MARC OCCURS 1,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
END OF IT_MARC.
DATA: BEGIN OF IT_MARD OCCURS 1,
MATNR LIKE MARD-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
END OF IT_MARD.
DATA : IS_KEYINFO TYPE SLIS_KEYINFO_ALV .
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
IT_MARAFIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA : I_HEADERTAB TYPE SLIS_TABNAME VALUE 'IT_MARC',
I_ITEMTAB TYPE SLIS_TABNAME VALUE 'IT_MARD',
I_MTABNAME TYPE SLIS_TABNAME VALUE 'IT_MARA'.
DATA : I_LAYOUT TYPE SLIS_LAYOUT_ALV,
I_EVENTS TYPE SLIS_T_EVENT ,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS LIKE LINE OF IT_EVENTS.
DATA: V_UCOMM LIKE SY-UCOMM,
V_SELFIELD TYPE SLIS_SELFIELD.
DATA : V_VALUE TYPE SLIS_ENTRY.
&&***********START-OF-SELECTION EVENT**************************&&
START-OF-SELECTION.
&----
PERFORM IT_MARAFIELDCAT.
PERFORM IT_MARA.
PERFORM IS_KEYINFO.
PERFORM GET_EVENTS.
PERFORM POPULATE_EVENT.
**************END-OF-SELECTION EVENT****************************
END-OF-SELECTION.
&----
PERFORM BLOCK_LIST_DISPLAY.
PERFORM MARA_LIST_DISPLAY.
perform refresh.
*PERFORM HIERSEQ_LIST_DISPLAY.
&----
*& Form populate_fieldcat
&----
FORM POPULATE_FIELDCAT .
IT_FIELDCAT-FIELDNAME = 'MATNR'.
IT_FIELDCAT-SELTEXT_L = 'Material number'.
IT_FIELDCAT-TABNAME = 'IT_MARC'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-FIELDNAME = 'WERKS'.
IT_FIELDCAT-SELTEXT_L = 'PLANT'.
IT_FIELDCAT-TABNAME = 'IT_MARC'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-FIELDNAME = 'PSTAT'.
IT_FIELDCAT-SELTEXT_L = 'Maintenance status'.
IT_FIELDCAT-TABNAME = 'IT_MARC'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-FIELDNAME = 'MATNR'.
IT_FIELDCAT-SELTEXT_L = 'Material number'.
IT_FIELDCAT-TABNAME = 'IT_MARD'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-FIELDNAME = 'WERKS'.
IT_FIELDCAT-SELTEXT_L = 'PLANT'.
IT_FIELDCAT-TABNAME = 'IT_MARD'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-FIELDNAME = 'LGORT'.
IT_FIELDCAT-SELTEXT_L = 'Storage Location'.
IT_FIELDCAT-TABNAME = 'IT_MARD'.
APPEND IT_FIELDCAT.
ENDFORM. " populate_fieldcat
&----
*& Form IT_MARAFIELDCAT
&----
FORM IT_MARAFIELDCAT .
IT_MARAFIELDCAT-FIELDNAME = 'MATNR'.
IT_MARAFIELDCAT-SELTEXT_L = 'MATERIAL NUMBER'.
IT_MARAFIELDCAT-HOTSPOT = 'X'.
APPEND IT_MARAFIELDCAT.
IT_MARAFIELDCAT-FIELDNAME = 'ERSDA'.
IT_MARAFIELDCAT-SELTEXT_L = 'Creation date'.
IT_MARAFIELDCAT-TABNAME = 'IT_MARA'.
APPEND IT_MARAFIELDCAT.
IT_MARAFIELDCAT-FIELDNAME = 'MTART'.
IT_MARAFIELDCAT-SELTEXT_L = 'Material TYPE'.
IT_MARAFIELDCAT-TABNAME = 'IT_MARA'.
APPEND IT_MARAFIELDCAT.
IT_MARAFIELDCAT-FIELDNAME = 'MATKL'.
IT_MARAFIELDCAT-SELTEXT_L = 'Material Group'.
IT_MARAFIELDCAT-TABNAME = 'IT_MARA'.
APPEND IT_MARAFIELDCAT.
ENDFORM. " IT_MARAFIELDCAT
&----
*& Form IS_KEYINFO
&----
FORM IS_KEYINFO .
IS_KEYINFO-HEADER01 = 'MATNR'.
IS_KEYINFO-ITEM01 = 'MATNR'.
IS_KEYINFO-HEADER02 = 'WERKS'.
IS_KEYINFO-ITEM02 = 'WERKS'.
ENDFORM. " IS_KEYINFO
&----
*& Form IT_MARA (Populating material data )
&----
FORM IT_MARA .
SELECT MATNR
ersda
mtart
matkl
FROM MARA INTO
TABLE IT_MARA.
ENDFORM. " IT_MARA
&----
*& Form IT_MARC (Populating Plant data )
&----
FORM IT_MARC .
SELECT MATNR
WERKS
PSTAT FROM
MARC INTO
TABLE IT_MARC
WHERE MATNR EQ IT_MARA-MATNR.
IF SY-SUBRC = 0.
MESSAGE I000(BCTRAIN) WITH 'Records displayed below'.
ELSE.
MESSAGE I000(BCTRAIN) WITH ' No records found for selected Matnr'.
clear it_marc[].
clear it_fieldcat[].
ENDIF.
ENDFORM. " IT_MARC
&----
*& Form IT_MARD (Populating Storage Location data)
&----
FORM IT_MARD .
SELECT MATNR
WERKS
LGORT FROM
MARD INTO
TABLE IT_MARD
FOR ALL ENTRIES IN IT_MARC
WHERE MATNR EQ IT_MARC-MATNR AND
WERKS EQ IT_MARC-WERKS.
ENDFORM. " IT_MARD
&----
*& Form MARA_LIST_DISPLAY
&----
FORM MARA_LIST_DISPLAY .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = I_BYPASSING_BUFFER
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_STRUCTURE_NAME = I_STRUCTURE_NAME
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_MARAFIELDCAT[]
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = IT_MARA
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. " MARA_LIST_DISPLAY
&----
*& Form HIERSEQ_LIST_DISPLAY
&----
FORM HIERSEQ_LIST_DISPLAY .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
I_TABNAME_HEADER = I_HEADERTAB
I_TABNAME_ITEM = I_ITEMTAB
I_STRUCTURE_NAME_HEADER = I_STRUCTURE_NAME_HEADER
I_STRUCTURE_NAME_ITEM = I_STRUCTURE_NAME_ITEM
IS_KEYINFO = IS_KEYINFO
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_BYPASSING_BUFFER = I_BYPASSING_BUFFER
I_BUFFER_ACTIVE = I_BUFFER_ACTIVE
IR_SALV_HIERSEQ_ADAPTER = IR_SALV_HIERSEQ_ADAPTER
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB_HEADER = IT_MARC
T_OUTTAB_ITEM = IT_MARD
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. " HIERSEQ_LIST_DISPLAY
&----
*& Form BLOCK_LIST_DISPLAY
&----
FORM BLOCK_LIST_DISPLAY .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_EXCLUDING = IT_EXCLUDING
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = IT_MARAFIELDCAT[]
I_TABNAME = I_MTABNAME
IT_EVENTS = I_EVENTS
IT_SORT = IT_SORT
I_TEXT = ' '
TABLES
T_OUTTAB = IT_MARA
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
message i000(bctrain) with 'Material list appended'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_HS_APPEND'
EXPORTING
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IS_KEYINFO = IS_KEYINFO
I_HEADER_TABNAME = I_HEADERTAB
I_ITEM_TABNAME = I_ITEMTAB
IT_EVENTS = I_EVENTS
IT_SORT = IT_SORT
I_TEXT = ' '
TABLES
T_OUTTAB_HEADER = IT_MARC
T_OUTTAB_ITEM = IT_MARD
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
message i000(bctrain) with 'Hierarchial List appended'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT = IS_PRINT
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
else.
message i000(bctrain) with 'alv List DISPLAYed'.
ENDIF.
*PERFORM REFRESH.
ENDFORM. " BLOCK_LIST_DISPLAY
&----
*& Form GET_EVENTS
&----
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 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.
PERFORM POPULATE_EVENT.
ENDFORM. " GET_EVENTS
&----
*& Form POPULATE_EVENT
&----
FORM POPULATE_EVENT .
READ TABLE IT_EVENTS INTO WA_EVENTS WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC = 0.
WA_EVENTS-FORM = 'USER_COMMAND'.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDIF.
ENDFORM. " POPULATE_EVENT
&----
*& Form USER_COMMAND
&----
FORM USER_COMMAND USING V_UCOMM LIKE SY-UCOMM
V_SELFIELD TYPE SLIS_SELFIELD.
V_VALUE = V_SELFIELD-VALUE.
MESSAGE I000(BCTRAIN) WITH V_VALUE 'Material selected'.
*perform refresh.
REFRESH IT_FIELDCAT.
READ TABLE IT_MARA INDEX V_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
PERFORM POPULATE_FIELDCAT.
PERFORM IT_MARC.
PERFORM IT_MARD.
PERFORM IS_KEYINFO.
PERFORM GET_EVENTS.
PERFORM POPULATE_EVENT.
PERFORM POPULATE_EVENT.
PERFORM BLOCK_LIST_DISPLAY.
perform refresh.
ENDIF.
LEAVE LIST-PROCESSING.
REFRESH IT_FIELDCAT.
refresh it_marafieldcat.
*write : sy-lsind.
ENDFORM. "USER_COMMAND.
&----
*& Form refresh
&----
FORM REFRESH .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_REFRESH'
.
ENDFORM. " refresh
Message was edited by:
Premalatha G
2007 Apr 25 12:11 PM
check this blog...
<a href="http:///people/alvaro.tejadagalindo/blog/2006/11/27/dynamic-alv-list-display ALV List Display</a>
Thanks & Regards
Santhosh
2007 Apr 25 12:13 PM
HI,
Herewith i am sending the sample code for the alv grid report.
REPORT YMS_ALVGRIDSAMPLE.
************************************************************************
TABLES AND DATA DECLARATION.
************************************************************************
*TABLES: mara,makt.",marc.
data syrepid like sy-repid.
data sydatum(10). " LIKE sy-datum.
data sypagno(3) type n.
WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
GROUP (TYPE-POOLS--------->SLIS)
type-pools : slis.
************************************************************************
INTERNAL TABLE DECLARATION.
************************************************************************
INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
data: begin of t_mara occurs 0,
matnr like mara-matnr,
meins like mara-meins,
mtart like mara-mtart,
matkl like mara-matkl,
end of t_mara.
INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
data : begin of t_marc occurs 0,
matnr like mara-matnr,
werks like marc-werks,
minbe like marc-minbe.
data: end of t_marc.
INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
data : begin of t_makt occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
spras like makt-spras,
end of t_makt.
INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
data: begin of itab1 occurs 0,
matnr like mara-matnr,
meins like mara-meins,
maktx like makt-maktx,
spras like makt-spras,
werks like marc-werks,
minbe like marc-minbe,
end of itab1.
THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
AND THE LAYOUT FOR THE ALV.
HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
THIS IS DONE TO MAKE THE CODE SIMPLER.
OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
PROGRAMS.
IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
MORE TABLES AND CREATE A STRUCTURE
IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
fieldlayout type slis_layout_alv.
DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
TOP-OF-PAGE ETC.
data : eventstab type slis_t_event with header line.
DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
data : heading type slis_t_listheader with header line.
data : heading1 type slis_t_listheader with header line.
data : heading2 type slis_t_listheader with header line.
data : heading3 type slis_t_listheader with header line.
data : heading4 type slis_t_listheader with header line.
data : heading5 type slis_t_listheader with header line.
data : heading6 type slis_t_listheader with header line.
data : heading7 type slis_t_listheader with header line.
data : heading8 type slis_t_listheader with header line.
STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
data : colorstruct type slis_coltypes.
************************************************************************
INITIALIZATION. *
************************************************************************
initialization.
syrepid = sy-repid.
sypagno = sy-pagno.
clear fieldcatalog.
************************************************************************
START-OF-SELECTION. *
************************************************************************
start-of-selection.
SUBROUTINE TO POPULATE THE COLORSTRUCT
perform fill_colorstruct using colorstruct.
SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
perform populate_fieldcatalog.
SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
INTERNAL TABLE.
perform selectdata_and_sort.
SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
perform populate_layout using fieldlayout.
SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
perform merge_fieldcatalog.
SUBROUTINE TO POPULATE THE EVENTSTAB.
perform fill_eventstab tables eventstab.
SUBROUTINE TO POPULATE THE HEADING TABLES.
perform fill_headingtable tables heading using 'HEADING'.
perform fill_headingtable tables heading1 using 'HEADING1'.
perform fill_headingtable tables heading2 using 'HEADING2'.
perform fill_headingtable tables heading3 using 'HEADING3'.
perform fill_headingtable tables heading4 using 'HEADING4'.
perform fill_headingtable tables heading5 using 'HEADING5'.
perform fill_headingtable tables heading6 using 'HEADING6'.
perform fill_headingtable tables heading7 using 'HEADING7'.
perform fill_headingtable tables heading8 using 'HEADING8'.
SUBROUTINE TO DISPLAY THE LIST.
perform display_alv_list.
************************************************************************
FORMS
************************************************************************
IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
COLUMN JUSTIFICATION.
form populate_fieldcatalog.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATNR' 'X' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MEINS' ' '.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MAKTX' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MTART' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATKL' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'SPRAS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'WERKS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MINBE' ' ' .
endform. " POPULATE_FIELDCATALOG
----
FORM FILL_FIELDS_OF_FIELDCATALOG *
----
........ *
----
--> FIELDCATALOG *
--> P_TABNAME *
--> P_FIELDNAME *
--> P_KEY *
--> P_KEY *
----
form fill_fields_of_fieldcatalog tables fieldcatalog
structure fieldcatalog
using p_tabname
p_fieldname
p_key.
p_no_out.
fieldcatalog-tabname = p_tabname.
fieldcatalog-fieldname = p_fieldname.
fieldcatalog-key = p_key.
fieldcatalog-emphasize = '1234'.
*fieldcatalog-no_out = p_no_out.
append fieldcatalog.
endform. " FILL_FIELDSOFFIELDCATALOG
----
FORM POPULATE_LAYOUT *
----
........ *
----
--> FIELDLAYOUT *
----
form populate_layout using fieldlayout type slis_layout_alv.
fieldlayout-f2code = '&ETA' .
fieldlayout-zebra = 'X'.
FOR THE WINDOW TITLE.
fieldlayout-window_titlebar = 'ALV with Events'.
fieldlayout-colwidth_optimize = 'X'.
fieldlayout-no_vline = ' '.
*fieldlayout-no_input = 'X'.
fieldlayout-confirmation_prompt = ''.
fieldlayout-key_hotspot = 'X'.
This removes the column headings if the flag is set to 'X'
fieldlayout-no_colhead = ' '.
*fieldlayout-hotspot_fieldname = 'MAKTX'.
fieldlayout-detail_popup = 'X'.
fieldlayout-coltab_fieldname = 'X'.
endform. " POPULATE_LAYOUT
----
FORM SELECTDATA_AND_SORT *
----
........ *
----
form selectdata_and_sort.
select matnr meins mtart matkl from mara
into corresponding fields of t_mara
up to 500 rows .
select matnr maktx spras from makt
into corresponding fields of t_makt
where matnr = t_mara-matnr and
spras = sy-langu.
select matnr werks minbe from marc
into corresponding fields of t_marc
where matnr = t_mara-matnr.
append t_marc.
endselect.
append t_makt.
endselect.
append t_mara.
endselect.
perform populate_itab1.
sort itab1 by matnr.
endform. " SELECTDATA_AND_SORT
----
FORM MERGE_FIELDCATALOG *
----
........ *
----
form merge_fieldcatalog.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = syrepid
i_internal_tabname = 'ITAB1'
i_structure_name = 'COLORSTRUCT'
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = syrepid
changing
ct_fieldcat = fieldcatalog[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
endform. " MERGE_FIELDCATALOG
IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
FOLLOWS:-
i_callback_program --> CALLING PROGRAM NAME
i_structure_name --> STRUCTURE NAME.
is_layout --> LAYOUT NAME.
it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
form display_alv_list.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
i_callback_program = syrepid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_structure_name = 'ITAB1'
is_layout = fieldlayout
it_fieldcat = fieldcatalog[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
TOOL BAR
i_save = 'A'
IS_VARIANT = ' '
it_events = eventstab[]
IT_EVENT_EXIT =
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = itab1
exceptions
program_error = 1
others = 2.
endform. " DISPLAY_ALV_LIST
&----
*& Form POPULATE_ITAB1
&----
text
----
--> p1 text
<-- p2 text
----
form populate_itab1.
loop at t_mara.
loop at t_makt where matnr = t_mara-matnr.
loop at t_marc where matnr = t_mara-matnr.
move-corresponding t_mara to itab1.
move-corresponding t_makt to itab1.
move-corresponding t_marc to itab1.
append itab1.
endloop.
endloop.
endloop.
endform. " POPULATE_ITAB1
&----
*& Form FILL_EVENTSTAB
&----
text
----
-->P_EVENTSTAB text *
----
form fill_eventstab tables p_eventstab structure eventstab.
WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
EVENTS NAME.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = p_eventstab[]
exceptions
list_type_wrong = 1
others = 2.
BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
IS DYNAMICALY CALLED.
read table p_eventstab with key name = slis_ev_top_of_page.
if sy-subrc = 0 .
move 'TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_coverpage.
if sy-subrc = 0 .
move 'TOP_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_coverpage .
if sy-subrc = 0 .
move 'END_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_top_of_page.
if sy-subrc = 0 .
move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_end_of_page.
if sy-subrc = 0 .
move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_list_modify.
if sy-subrc = 0 .
move 'LIST_MODIFY' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_list.
if sy-subrc = 0 .
move 'TOP_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_page.
if sy-subrc = 0 .
move 'END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_list .
if sy-subrc = 0 .
move 'END_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
endform. " FILL_EVENTSTAB
&----
*& Form FILL_HEADINGTABLE
&----
text
----
-->P_HEADING text *
----
form fill_headingtable tables p_heading structure heading
using tablename.
case tablename.
when 'HEADING'.
p_heading-typ = 'H'.
concatenate
' REPORT NAME:-' syrepid
' ABB Industry Pte Ltd' into p_heading-info.
append p_heading.
write sy-datum using edit mask '__/__/____' to sydatum.
concatenate
' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
into p_heading-info.
append p_heading.
when 'HEADING1'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-COVER-PAGE'.
append p_heading.
when 'HEADING2'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-COVER-PAGE'.
append p_heading.
when 'HEADING3'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
append p_heading.
when 'HEADING4'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-END-OF-PAGE'.
append p_heading.
WHEN 'HEADING5'.
P_HEADING-TYP = 'H'.
P_HEADING-INFO = 'LIST-MODIFY'.
APPEND P_HEADING.
when 'HEADING6'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-PAGE'.
append p_heading.
when 'HEADING7'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-LIST'.
append p_heading.
when 'HEADING8'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-LIST'.
append p_heading.
endcase.
endform. " FILL_HEADINGTABLE
----
FORM TOP_OF_PAGE *
----
........ *
----
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading[]
exceptions
others = 1.
endform.
&----
*& Form FILL_COLORSTRUCT
&----
text
----
-->P_COLORSTRUCT text *
----
form fill_colorstruct using p_colorstruct type slis_coltypes .
p_colorstruct-heacolfir-col = 6.
p_colorstruct-heacolfir-int = 1.
p_colorstruct-heacolfir-inv = 1.
endform. " FILL_COLORSTRUCT
----
FORM TOP_OF_COVERPAGE *
----
........ *
----
form top_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading1[]
exceptions
others = 1.
endform.
----
FORM END_OF_COVERPAGE *
----
........ *
----
form end_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading2[]
exceptions
others = 1.
endform.
----
FORM FOREIGN_TOP_OF_PAGE *
----
........ *
----
form foreign_top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading3[]
exceptions
others = 1.
endform.
----
FORM FOREIGN_END_OF_PAGE *
----
........ *
----
form foreign_end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading4[]
exceptions
others = 1.
endform.
----
FORM LIST_MODIFY *
----
........ *
----
*FORM LIST_MODIFY.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEADING5[]
EXCEPTIONS
OTHERS = 1.
*ENDFORM.
----
FORM END_OF_PAGE *
----
........ *
----
form end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading6[]
exceptions
others = 1.
endform.
----
FORM END_OF_LIST *
----
........ *
----
form end_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading7[]
exceptions
others = 1.
endform.
----
FORM TOP_OF_LIST *
----
........ *
----
form top_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading8[]
exceptions
others = 1.
endform.
*--- End of Program
Thanks,
Sankar M
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |