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

Former Member
0 Likes
992

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

7 REPLIES 7
Read only

h_senden2
Active Contributor
0 Likes
954

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 !!!!!

Read only

Former Member
0 Likes
954

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

Read only

Former Member
0 Likes
954

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 FM’s 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

Read only

Former Member
0 Likes
954

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.

Read only

Former Member
0 Likes
954

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

Read only

Former Member
0 Likes
954

check this blog...

<a href="http:///people/alvaro.tejadagalindo/blog/2006/11/27/dynamic-alv-list-display ALV List Display</a>

Thanks & Regards

Santhosh

Read only

p291102
Active Contributor
0 Likes
954

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