Make your own free website on Tripod.com

SAP PM & ABAP Code Niraj Visnoi

ALV LIST and GRID Through Function modules explained.

Home
What is SAP ?
SAP LSMW Explained with example
SAP PM T-Codes
PM BRD/COR Maintenance
Add Your URL
User Exits & Enhancements
Best Of SAP Links
BDC Code
My Resume
SAP SmartForms Step by Step
SAP ABAP ALV Grid Explained with Example
Useful Tips
Contact Information Guest Book and Consultants List
ABAP Code
ABAP System Fields
SAPScript
SAPScript Graphics
SAPScript Print Program
ABAP ListViewer
Dialog Programming
SAP Tables
SAP ALE and IDOC
Recommended SAP ABAP Coding guidelines
SAP General ABAP
Submit Your Code
SAP Books For consultants
Free Website Submission and ROR Sitemap generator
Free Domain Search
Free HoroScope

SAP ABAP Listviewer (ALV List and ALV Grid) explained in detail.

We can use ABAP ALV LIST and GRID function modules to  display Normal LIST and Hiearchical LISTS .
All the definitions TYPES and STRUCTURES and CONSTANTS are defined
in the TYPE-POOL 'SLIS' ,so it should be declared first.
TYPE-POOLS : 'SLIS' .
 
To display  ALV LISTS the function module used are :
 
REUSE_ALV_LIST_DISPLAY                                                    "For Normal  LIST
REUSE_ALV_HIERARCHICAL_LIST_DISPLAY                    "For Hierarchical LIST
 
To display  ALV GRID the function module used are :
REUSE_ALV_GRID_DISPLAY .                                                 "For GRID display
 
The most important component of the ALV is the FIELDCATALOG which is of
TYPE SLIS_T_FIEDLCAT_ALV  
or of
 TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV .
The line items of the field catalog are of
TYPE SLIS_FIELDCAT_ALV .

FIELDCATALOG
To prepare field catalog certain fields are essential .There are various other fields allowing for vaarious possibilities and display options.
TABNAME
FIELDNAME
REF_TABNAME
SELTECT_M
 
e.g.
DATA: WS_FCAT TYPE SLIS_FIELDCAT_ALV .             "LINE ITEM OF FCAT
DATA: IN_FCAT    TYPE SLIS_T_FIELDCAT_ALV.
 
WS_FCAT-TABNAME = 'MARA'.
WS_FCAT-FIELDNAME = 'MATNR'.
WS_FCAT-SELTEXT_M = 'Material Number'.
APPEND WS_FCAT TO IN_FCAT .
 
CLEAR WS_FCAT.
WS_FCAT-TABNAME = 'MAKT'.
WS_FCAT-FIELDNAME = 'MAKTX'.
WS_FCAT-SELTEXT_M = 'Material Description'.
APPEND WS_FCAT TO IN_FCAT .
 
This will create fieldcatalog with two columns for displaying material and material description .

RESUSE_ALV_LIST_DISPLAY.
 
The following FM is used to display the data in the internal table in the form of ALV
LIST. The Event table is only required if event handling is being done.
 
CALL FUNCTION 'RESUSE_ALV_LIST_DISPLAY'
  EXPORTING
          I_CALLBACK_PROGRAM   =  W_REPID    "of TYPE SY-REPID and  
                                                                                         "                        value SY-REPID
          IS_LAYOUT                           = W_LAYOUT   "of TYPE SLIS_LAYOUT_ALV  
          IT_FIELDCAT                        = IN_FCAT        "of TYPE SLIS_T_FIELDCAT_ALV
          I_SAVE                                   = W_SAVE         "of TYPE C ,values A ,U ,' '
          IT_EVENTS                           = IN_EVENTS   " of TYPE SLIS_T_EVENT
  TABLES
          T_OUTTAB                            = IN_DATA        "internal table conatining data
                                                                                      "corresponding  to IN_FCAT
  EXCEPTIONS
           PROGRAM_ERROR          = 1
           OTHERS                              = 2
 
IF SY-SUBRC NE 0.
MESSAGE ENNN .
ENDIF.
 
 

REUSE_ALV_EVENTS_GET.
This FM is used to get the default event table of the ALV LIST DISPLAY.
The  IN_EVENTS internal table is of TYPE SLIS_T_EVENT.  This table contains
all the events wrapped up in the ALV LIST or ALV GRID and consistsof two fields
NAME and FORM .The NAME corresponds to names of the events like TOP_OF_PAGE and END_OF_PAGE ,USER_COMMAND and FORM will contain the name of the FORM ROUTINE that will be called dynamically through callback mechanism when the particular event will fire and is initial for all events bt default and has to be filled for
events for which handling is required.
 
 CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
            I_LIST_TYPE = 0
       IMPORTING
            ET_EVENTS   = IN_EVENTS[].
 
e.g.
 
DATA: W_EVENT TYPE SLSI_ALV_EVENT  "LINE ITEM OF EVENT TABLE
DATA: IN_EVENTS TYPE SLSI_T_EVENT .  "Internal table containing events
 
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
            I_LIST_TYPE = 0
       IMPORTING
            ET_EVENTS   = IN_EVENTS[].
RTEAD TABLE IN_EVENTS WITH KEY NAME = 'TOP_OG_PAGE'
                                                INTO W_EVENT.
IF SY-SUBRC EQ 0.
MOVE 'F3000_TOP_OF_PAGE' TO W_EVENT -FORM.
MODIFY IN_EVENTS FROM W_EVENT INDEX SY-TABIX.
ENDIF.
 
Here the FORM ROUTINE 'F3000_TOP_OF_PAGE' is being set up for the
event TOP_OF_PAGE which will fire when the ALV LIST will be displayed ,This form
will be called dynamically by th ALV LIST display during top_of_page event and for this the modified Events internal table has to be passed to the FM 'REUSE_ALV_LIST_DISPLAY' in the exporting parameter IT_EVENTS. Failing this the form '3000_TOP_OF_PAGE' will not be called . This event is used for placing heading information like Current date and time and the name of the report.

http://sap.niraj.tripod.com/id19.html

http://sap.niraj.tripod.com

Search http://sap.niraj.tripod.com Search www

 http://sap.niraj.tripod.com      Niraj Visnoi *INDIA * niraj_visnoi@consultant.com      
 CELL No. 91 9911413767       Copyright 2006 all rights reserved