0% found this document useful (0 votes)
243 views4 pages

Alv Sample

This document defines an ALV report to display sample data in a list. It includes: - Sample data defined in internal tables - Field catalog and sorting definitions - Event handling and print parameters - Forms defined to customize the report output The report uses standard ALV functions to build, display and print the list.

Uploaded by

Venky Venkatesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
243 views4 pages

Alv Sample

This document defines an ALV report to display sample data in a list. It includes: - Sample data defined in internal tables - Field catalog and sorting definitions - Event handling and print parameters - Forms defined to customize the report output The report uses standard ALV functions to build, display and print the list.

Uploaded by

Venky Venkatesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

*&---------------------------------------------------------------------*

*& Report Z496_ALV_SAMPLE


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z496_ALV_SAMPLE.
TYPE-POOLS: SLIS.
DATA: G_REPID LIKE SY-REPID,
GS_PRINT
TYPE SLIS_PRINT_ALV,
GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
GT_EVENTS
TYPE SLIS_T_EVENT,
GT_SORT
TYPE SLIS_T_SORTINFO_ALV,
GS_LAYOUT
TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT
TYPE SLIS_T_FIELDCAT_ALV,
FIELDCAT_LN LIKE LINE OF GT_FIELDCAT,
COL_POS TYPE I.
DATA: BEGIN OF ITAB,
FIELD1(5) TYPE C,
FIELD2(5) TYPE C,
FIELD3(5) TYPE P DECIMALS 2,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA: END OF ITAB1.
DATA: BEGIN OF ITAB_FIELDCAT OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA: END OF ITAB_FIELDCAT.
* Print Parameters
PARAMETERS:
P_PRINT
P_NOSINF
P_NOCOVE
P_NONEWP
P_NOLINF
P_RESERV
INITIALIZATION.
G_REPID = SY-REPID.
PERFORM PRINT_BUILD

AS CHECKBOX
AS CHECKBOX
AS CHECKBOX
AS CHECKBOX
AS CHECKBOX
TYPE I.

DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT

USING GS_PRINT.

START-OF-SELECTION.
* TEST DATA
MOVE 'TEST1' TO ITAB1-FIELD1.
MOVE 'TEST1' TO ITAB1-FIELD2.
MOVE '10.00' TO ITAB1-FIELD3.
APPEND ITAB1.
MOVE 'TEST2' TO ITAB1-FIELD1.
MOVE 'TEST2' TO ITAB1-FIELD2.
MOVE '20.00' TO ITAB1-FIELD3.
APPEND ITAB1.

' ',
'X',
' ',
' ',
'X',

"PRINT IMMEDIATE
"NO SELECTION INFO
"NO COVER PAGE
"NO NEW PAGE
"NO PRINT LIST INFO
"NO OF FOOTER LINE

"Print PARAMETERS

DO 50 TIMES.
APPEND ITAB1.
ENDDO.
END-OF-SELECTION.
PERFORM
PERFORM
PERFORM
PERFORM

BUILD.
EVENTTAB_BUILD CHANGING GT_EVENTS.
COMMENT_BUILD CHANGING GT_LIST_TOP_OF_PAGE.
CALL_ALV.

FORM BUILD.
* DATA FIELD CATALOG
* Explain Field Description to ALV
DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV.
CLEAR FIELDCAT_IN.
FIELDCAT_LN-FIELDNAME
FIELDCAT_LN-TABNAME
*FIELDCAT_LN-NO_OUT
FIELDCAT_LN-KEY
FIELDCAT_LN-NO_OUT
FIELDCAT_LN-SELTEXT_L
APPEND FIELDCAT_LN TO

= 'FIELD1'.
= 'ITAB1'.
= 'X'. "FIELD NOT DISPLAY, CHOOSE FROM LAYOUT
= ' '. "SUBTOTAL KEY
= ' '.
= 'HEAD1'.
GT_FIELDCAT.

CLEAR FIELDCAT_IN.
FIELDCAT_LN-FIELDNAME
FIELDCAT_LN-TABNAME
FIELDCAT_LN-NO_OUT
FIELDCAT_LN-SELTEXT_L
APPEND FIELDCAT_LN TO

= 'FIELD2'.
= 'ITAB1'.
= 'X'.
= 'HEAD2'.
GT_FIELDCAT.

CLEAR FIELDCAT_IN.
FIELDCAT_LN-FIELDNAME
= 'FIELD3'.
FIELDCAT_LN-TABNAME
= 'ITAB1'.
FIELDCAT_LN-REF_FIELDNAME = 'MENGE'. "<- REF FIELD IN THE DICTIONNARY
FIELDCAT_LN-REF_TABNAME = 'MSEG'. "<- REF TABLE IN THE DICTIONNARY
FIELDCAT_LN-NO_OUT
= ' '.
FIELDCAT_LN-DO_SUM
= 'X'. "SUM UPON DISPLAY
APPEND FIELDCAT_LN TO GT_FIELDCAT.
* DATA SORTING AND SUBTOTAL
DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.
CLEAR GS_SORT.
GS_SORT-FIELDNAME
GS_SORT-SPOS
GS_SORT-UP
GS_SORT-SUBTOT
APPEND GS_SORT TO

= 'FIELD1'.
= 1.
= 'X'.
= 'X'.
GT_SORT.

CLEAR GS_SORT.
GS_SORT-FIELDNAME
GS_SORT-SPOS
GS_SORT-UP
*GS_SORT-SUBTOT
APPEND GS_SORT TO

= 'FIELD2'.
= 2.
= 'X'.
= 'X'.
GT_SORT.

ENDFORM.

FORM CALL_ALV.
* ABAP List Viewer
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME = 'ITAB1'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
IT_SORT = GT_SORT[]
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = GT_EVENTS[]
* IT_EVENT_EXIT =
IS_PRINT = GS_PRINT
* IS_REPREP_ID =
* 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.
* HEADER FORM
FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS:
GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
*GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVENTS.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.

* define END_OF_PAGE event


* READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
*
INTO LS_EVENT.
* IF SY-SUBRC = 0.
* MOVE GC_FORMNAME_END_OF_PAGE TO LS_EVENT-FORM.
* APPEND LS_EVENT TO LT_EVENTS.
* ENDIF.
ENDFORM.
FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: GS_LINE TYPE SLIS_LISTHEADER.
CLEAR GS_LINE.
GS_LINE-TYP = 'H'.
GS_LINE-INFO = 'HEADER 1'.
APPEND GS_LINE TO GT_TOP_OF_PAGE.
CLEAR GS_LINE.
GS_LINE-TYP =
GS_LINE-KEY =
GS_LINE-INFO =
APPEND GS_LINE
GS_LINE-KEY =
GS_LINE-INFO =
APPEND GS_LINE
*
*
*
*
*

'S'.
'STATUS 1'.
'INFO 1'.
TO GT_TOP_OF_PAGE.
'STATUS 2'.
'INFO 2'.
TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.
GS_LINE-TYP = 'A'.
GS_LINE-INFO = 'ACTION'.
APPEND GS_LINE TO GT_TOP_OF_PAGE.

ENDFORM.
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED.
ENDFORM.
FORM END_OF_PAGE.
WRITE at (sy-linsz) sy-pagno CENTERED.
ENDFORM.
* PRINT SETTINGS
FORM PRINT_BUILD USING LS_PRINT
LS_PRINT-PRINT
=
LS_PRINT-NO_PRINT_SELINFOS =
LS_PRINT-NO_COVERPAGE
=
LS_PRINT-NO_NEW_PAGE
=
LS_PRINT-NO_PRINT_LISTINFOS =
LS_PRINT-RESERVE_LINES
=
ENDFORM.

TYPE SLIS_PRINT_ALV.
P_PRINT. "PRINT IMMEDIATE
P_NOSINF. "NO SELECTION INFO
P_NOCOVE. "NO COVER PAGE
P_NONEWP.
P_NOLINF. "NO PRINT LIST INFO
P_RESERV.

You might also like