Application Development 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: 

BLOCKED -ALV

Former Member
0 Kudos

What is th esignificance of blocked alv?

pls give me details regd the FM:

REUSE_ALV_BLOCK_LIST_APPEND

how can we append a simple list in block mode?

thakns in advance

regards

umakanth

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Blocked ALV list allows you do have mulitple ALV lists in the screen output, one after the other. Check the sample here.

http://www.sap-basis-abap.com/abap/sample-program-on-block-lists.htm

Regards,

Omkar.

6 REPLIES 6

Former Member
0 Kudos

Hi,

Blocked ALV list allows you do have mulitple ALV lists in the screen output, one after the other. Check the sample here.

http://www.sap-basis-abap.com/abap/sample-program-on-block-lists.htm

Regards,

Omkar.

Former Member
0 Kudos

REPORT ZALV1.

******************TABLE DECLARATION***********************************

TABLES : VBAP. " tables declaration

*****************TYPE POOLS*******************************************

TYPE-POOLS : SLIS. " slis type pool

*****************INTERNAL TABLE DECLARATION***************************

DATA : BEGIN OF IT_VBAP OCCURS 0,

" internal table for sales document item

VBELN LIKE VBAP-VBELN, " sales document

POSNR LIKE VBAP-POSNR, " document item

ERNAM LIKE VBAP-ERNAM,

" name of the person who created the object

ERDAT LIKE VBAP-ERDAT, " date on which the record was created

MATNR LIKE VBAP-MATNR. " material number

DATA : END OF IT_VBAP.

DATA : BEGIN OF IT_MARA OCCURS 0, " general material data

MATNR LIKE MARA-MATNR, " material number

ERNAM LIKE MARA-ERNAM,

" name of the person who created the object

MATKL LIKE MARA-MATKL, " material group

MEINS LIKE MARA-MEINS, " base unit of measure

PSTAT LIKE MARA-PSTAT. " maintainence status

DATA : END OF IT_MARA.

******************VARIABLE

DECLARATION**********************************

DATA : REPID LIKE SY-REPID. " program name

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

" field catalog table for vbap

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,

" field catalog table for mara

WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA: GT_XEVENTS TYPE SLIS_T_EVENT.

DATA: GT_YEVENTS TYPE SLIS_T_EVENT. " events table

DATA : XS_EVENT TYPE SLIS_ALV_EVENT. " events type

DATA : GT_PRINT TYPE SLIS_PRINT_ALV. " print table

*******************MULTIPLE SELECT INPUT

PARAMETERS**********************

SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.

" multiple selection for sales document

******************INITIALIZATION**************************************

***

INITIALIZATION.

REPID = SY-REPID.

*******************START OF

SELECTION************************************

START-OF-SELECTION.

PERFORM POP_VBAP.

" populating the table with document item data

PERFORM POP_MARA.

" populating the table with general material data

PERFORM FIELD_CAT.

" mapping the fields for the field catalog

PERFORM EVENTS. " using the events

PERFORM BLOCK_LIST.

" displaying the data in blocked list

&----


*& Form field_cat

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FIELD_CAT .

WA_FIELDCAT-FIELDNAME = 'VBELN'.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.

WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.

WA_FIELDCAT-COL_POS = 1.

WA_FIELDCAT-OUTPUTLEN = 10.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'POSNR'.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.

WA_FIELDCAT-SELTEXT_L = 'DOC ITEM'.

WA_FIELDCAT-COL_POS = 2.

WA_FIELDCAT-OUTPUTLEN = 6.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ERNAM'.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.

WA_FIELDCAT-SELTEXT_L = 'NAME'.

WA_FIELDCAT-COL_POS = 3.

WA_FIELDCAT-OUTPUTLEN = 12.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ERDAT'.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.

WA_FIELDCAT-SELTEXT_L = 'DATE'.

WA_FIELDCAT-COL_POS = 4.

WA_FIELDCAT-OUTPUTLEN = 8.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-TABNAME = 'IT_VBAP'.

WA_FIELDCAT-SELTEXT_L = 'MAT NO'.

WA_FIELDCAT-COL_POS = 5.

WA_FIELDCAT-OUTPUTLEN = 18.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT1-FIELDNAME = 'MATNR'.

WA_FIELDCAT1-TABNAME = 'IT_MARA'.

WA_FIELDCAT1-SELTEXT_L = 'MAT NO'.

WA_FIELDCAT1-COL_POS = 1.

WA_FIELDCAT1-OUTPUTLEN = 18.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'ERNAM'.

WA_FIELDCAT1-TABNAME = 'IT_MARA'.

WA_FIELDCAT1-SELTEXT_L = 'NAME'.

WA_FIELDCAT1-COL_POS = 2.

WA_FIELDCAT1-OUTPUTLEN = 12.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'MATKL'.

WA_FIELDCAT1-TABNAME = 'IT_MARA'.

WA_FIELDCAT1-SELTEXT_L = 'MAT DESC'.

WA_FIELDCAT1-COL_POS = 3.

WA_FIELDCAT1-OUTPUTLEN = 9.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'MEINS'.

WA_FIELDCAT1-TABNAME = 'IT_MARA'.

WA_FIELDCAT1-SELTEXT_L = 'UNITS'.

WA_FIELDCAT1-COL_POS = 4.

WA_FIELDCAT1-OUTPUTLEN = 3.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-FIELDNAME = 'PSTAT'.

WA_FIELDCAT1-TABNAME = 'IT_MARA'.

WA_FIELDCAT1-SELTEXT_L = 'STATUS'.

WA_FIELDCAT1-COL_POS = 5.

WA_FIELDCAT1-OUTPUTLEN = 15.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

ENDFORM. " field_cat

&----


*& Form events

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM EVENTS .

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.

XS_EVENT-FORM = 'XEND_OF_PAGE'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.

XS_EVENT-FORM = 'XTOP_OF_PAGE'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

XS_EVENT-FORM = 'XTOP_OF_LIST'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_LIST.

XS_EVENT-FORM = 'XEND_OF_LIST'.

APPEND XS_EVENT TO GT_XEVENTS.

CLEAR XS_EVENT.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.

XS_EVENT-FORM = 'YEND_OF_PAGE'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.

XS_EVENT-FORM = 'YTOP_OF_PAGE'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

XS_EVENT-FORM = 'YTOP_OF_LIST'.

APPEND XS_EVENT TO GT_YEVENTS.

CLEAR XS_EVENT.

XS_EVENT-NAME = SLIS_EV_END_OF_LIST.

XS_EVENT-FORM = 'YEND_OF_LIST'.

APPEND XS_EVENT TO GT_YEVENTS.

ENDFORM. " events

&----


*& Form XTOP_OF_PAGE

&----


  • text

----


FORM XTOP_OF_PAGE.

  • BREAK-POINT.

WRITE: / 'X_TOP_OF_PAGE'.

ENDFORM. "XTOP_OF_PAGE

----


  • FORM XTOP_OF_LIST *

----


  • ........ *

----


FORM XTOP_OF_LIST.

  • BREAK-POINT.

WRITE: / 'X_TOP_OF_LIST'.

ENDFORM. "XTOP_OF_LIST

----


  • FORM XEND_OF_PAGE *

----


  • ........ *

----


FORM XEND_OF_PAGE.

  • BREAK-POINT.

WRITE: / 'X_END_OF_PAGE'.

ENDFORM. "XEND_OF_PAGE

----


  • FORM XEND_OF_LIST *

----


  • ........ *

----


FORM XEND_OF_LIST.

  • BREAK-POINT.

WRITE: / 'X_END_OF_LIST'.

ENDFORM. "XEND_OF_LIST

*

FORM YTOP_OF_PAGE.

  • BREAK-POINT.

WRITE: / 'Y_TOP_OF_PAGE'.

ENDFORM. "YTOP_OF_PAGE

----


  • FORM YTOP_OF_LIST *

----


  • ........ *

----


FORM YTOP_OF_LIST.

  • BREAK-POINT.

WRITE: / 'Y_TOP_OF_LIST'.

ENDFORM. "YTOP_OF_LIST

----


  • FORM YEND_OF_PAGE *

----


  • ........ *

----


FORM YEND_OF_PAGE.

  • BREAK-POINT.

WRITE: / 'Y_END_OF_PAGE'.

ENDFORM. "YEND_OF_PAGE

----


  • FORM YEND_OF_LIST *

----


  • ........ *

----


FORM YEND_OF_LIST.

  • BREAK-POINT.

WRITE: / 'Y_END_OF_LIST'.

ENDFORM. "YEND_OF_LIST

*

&----


*& Form POP_VBAP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM POP_VBAP .

SELECT VBELN

POSNR

ERNAM

ERDAT

MATNR

FROM VBAP

INTO CORRESPONDING FIELDS OF TABLE IT_VBAP

WHERE VBELN IN S_VBELN.

ENDFORM. " POP_VBAP

&----


*& Form POP_MARA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM POP_MARA .

LOOP AT IT_VBAP.

SELECT SINGLE MATNR

ERNAM

MATKL

MEINS

PSTAT

FROM MARA

INTO CORRESPONDING FIELDS OF IT_MARA

WHERE MATNR = IT_VBAP-MATNR.

APPEND IT_MARA.

ENDLOOP.

ENDFORM. " POP_MARA

&----


*& Form BLOCK_LIST

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BLOCK_LIST .

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = REPID

I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'user_command'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

I_TABNAME = 'IT_VBAP'

IT_EVENTS = GT_XEVENTS

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = IT_VBAP

  • 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 = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT1

I_TABNAME = 'IT_MARA'

IT_EVENTS = GT_YEVENTS

  • 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.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

IS_PRINT = GT_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 =

  • 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. " BLOCK_LIST

refer this program...

block alv is used for multiple lists....

former_member200338
Active Contributor
0 Kudos

Hi,

If you want to display more than one IT in the ALV, the u can go for BLOCK ALV.

Here is the pusedo code on how to do it.

Lets say you have three internal tables, ITAB1, ITAB2 & ITAB3.

Now prepare field catlog for all the three internal tables.

Then,

call function 'REUSE_ALV_BLOCK_LIST_INIT'

exporting

i_callback_program = sy-repid.

Now pass the First internal table like this

call function 'REUSE_ALV_BLOCK_LIST_APPEND'

exporting

it_fieldcat = lt_fieldcat1

i_tabname = 'ITAB1'

tables

t_outtab = itab1

exceptions

program_error = 1

maximum_of_appends_reached = 2

others = 3.

Now ther second

call function 'REUSE_ALV_BLOCK_LIST_APPEND'

exporting

it_fieldcat = lt_fieldcat2

i_tabname = 'ITAB2'

tables

t_outtab = itab2

exceptions

program_error = 1

maximum_of_appends_reached = 2

others = 3.

Now the Third.

call function 'REUSE_ALV_BLOCK_LIST_APPEND'

exporting

it_fieldcat = lt_fieldcat3

i_tabname = 'ITAB3'

tables

t_outtab = itab3

exceptions

program_error = 1

maximum_of_appends_reached = 2

others = 3.

Now call the FM

call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'.

You will get the report.

reward points if usefull.

Regards,

Niyaz

Former Member
0 Kudos

Try with the following functions.

First call :

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = REPID.

Then call :

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IT_FIELDCAT = XFIELD[]

IS_LAYOUT = X_LAYOUT

I_TABNAME = 'IT_PLAF....'

IT_EVENTS = GT_XEVENTS[]

I_TEXT = TEXT-0B1

TABLES

T_OUTTAB = IT_PLAF....

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IT_FIELDCAT = YFIELD[]

IS_LAYOUT = Y_LAYOUT

I_TABNAME = 'IT_MARC....'

IT_EVENTS = GT_YEVENTS[]

TABLES

T_OUTTAB = IT_MARC....

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

Any number of tables you can append like this.

Finally call :

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

EXPORTING

IS_PRINT = GT_PRINT.

You have to create Field catalog & Events separately for each table display.

reward points if its usefull

Former Member
0 Kudos

Hi,

just execute the following code


TABLES: LFA1,EKKO.

DATA:  BEGIN OF ITAB OCCURS 0,
       LIFNR LIKE LFA1-LIFNR,
       NAME1 LIKE LFA1-NAME1,
       ORT01 LIKE LFA1-ORT01,
       LAND1 LIKE LFA1-LAND1,
       REGIO LIKE LFA1-REGIO,
       END OF ITAB.

DATA:  BEGIN OF JTAB OCCURS 0,
       LIFNR LIKE EKKO-LIFNR,
       EBELN LIKE EKKO-EBELN,
       BUKRS LIKE EKKO-BUKRS,
       BSTYP LIKE EKKO-BSTYP,
       EKORG LIKE EKKO-EKORG,
       BSART LIKE EKKO-BSART,
       END OF JTAB.

SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 5 ROWS.

SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE JTAB UP TO 5 ROWS.

TYPE-POOLS: SLIS.

DATA:  LAYOUT TYPE SLIS_LAYOUT_ALV,
       HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE,
       FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
       FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV,
       EVE1 TYPE SLIS_T_EVENT WITH HEADER LINE,
       EVE2 TYPE SLIS_T_EVENT WITH HEADER LINE.

LAYOUT-ZEBRA = 'X'.
LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
LAYOUT-WINDOW_TITLEBAR = 'BLOCKED ALV'.

EVE2-NAME = 'TOP_OF_PAGE'.
EVE2-FORM = 'TOP_OF_PAGE1'.
APPEND EVE2.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
 EXPORTING
   I_LIST_TYPE           = 0
 IMPORTING
   ET_EVENTS             = EVE1[]
* 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.

READ TABLE EVE1 WITH KEY NAME = 'TOP_OF_PAGE'.
EVE1-FORM = 'TOP_OF_PAGE'.
MODIFY EVE1 TRANSPORTING FORM WHERE NAME = 'TOP_OF_PAGE'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
  EXPORTING
    I_CALLBACK_PROGRAM             = SY-REPID
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = ' '
*   IT_EXCLUDING                   =
          .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
 EXPORTING
   I_PROGRAM_NAME               = SY-REPID
   I_INTERNAL_TABNAME           = 'ITAB'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
   I_INCLNAME                   = SY-REPID
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
  CHANGING
    CT_FIELDCAT                  = FLDCAT1
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 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                        = LAYOUT
    IT_FIELDCAT                      = FLDCAT1
    I_TABNAME                        = 'ITAB'
    IT_EVENTS                        = EVE1[]
*   IT_SORT                          =
*   I_TEXT                           = ' '
  TABLES
    T_OUTTAB                         = ITAB
* 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_FIELDCATALOG_MERGE'
 EXPORTING
   I_PROGRAM_NAME               = SY-REPID
   I_INTERNAL_TABNAME           = 'JTAB'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
   I_INCLNAME                   = SY-REPID
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
  CHANGING
    CT_FIELDCAT                  = FLDCAT2
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 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                        = LAYOUT
    IT_FIELDCAT                      = FLDCAT2
    I_TABNAME                        = 'JTAB'
    IT_EVENTS                        = EVE2[]
*   IT_SORT                          =
*   I_TEXT                           = ' '
  TABLES
    T_OUTTAB                         = JTAB
* 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_DISPLAY'
* EXPORTING
*   I_INTERFACE_CHECK             = ' '
*   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        =
* 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.

FORM TOP_OF_PAGE.
REFRESH HEADER.
HEADER-TYP = 'H'.
HEADER-INFO = 'VENDOR DETAILS'.
APPEND HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       = HEADER[]
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
          .
ENDFORM.

FORM TOP_OF_PAGE1.
REFRESH HEADER.
HEADER-TYP = 'H'.
HEADER-INFO = 'PURCHASE DOCUMENTS DETAILS'.
APPEND HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       = HEADER[]
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
          .
ENDFORM.

reward,if it is useful

Former Member
0 Kudos

Thank u one and all for poting answers.

rewarded the points.