SlideShare a Scribd company logo
ABAP List Viewer(ALV)
ALV
•ABAP List Viewer (ALV) is a simple, user friendly
and better looking reporting tool as compared
to the usage of write statements in a
conventional / interactive report.
Advantages of ALV
•Better Looking
•User friendly
– Filtering / Sorting
– Layout Change / Save
– Summation, Download to excel, E-Mail
– Data can be open for input / change etc.
•Better Event handling
•Width of more than 256 characters possible
•Programming overhead of mentioning exact
positions in write statements not needed.
ALV Features
Sorting,
Filtering
Row(s)
Selection
Email, Excel
Change
/ Save
Layout
Additiona
l Buttons
Heading
ALV Features
Fields Open For
Input
Bar Charts
ALV Programming
•Two Approaches
– Conventional (Using Standard Function Modules)
– Object Oriented (Using Standard Classes and
Methods)
We will concentrate on the conventional
approach
ALV Function Modules
REUSE_ALV_LIST_DISPLAY REUSE_ALV_GRID_DISPLAY
Program: BALVSD02 Program: BALVSD02_GRID
ALV Function Modules•Both REUSE_ALV_LIST_DISPLAY and REUSE_ALV_GRID_DISPLAY have similar parameters
•Both Display the contents of an internal table passed by the parameter T_OUTTAB
ALV Function Modules: Parameters
•Important Parameters
– I_CALLBACK_PROGRAM
• The program that contains the subroutine for user command handling
• The program that will be the reference for user specific layout variants
• SY-CPROG in most cases
– I_CALLBACK_PF_STATUS_SET
• The subroutine name that will set the PF-STATUS (which in turn may contain user defined buttons)
– I_CALLBACK_USER_COMMAND
• The subroutine name in the calling program that will be triggered on any user command
ALV Function Modules: Parameters
•Important Parameters
– I_STRUCTURE_NAME
• The type of the internal table to be displayed
– I_GRID_TITLE
• The Heading / Title of the GRID
– IS_LAYOUT
• Defines the layout in which the internal table will be displayed
• Layout specific Features like Optimize Column Width, Window Title Bar, No Summing Up,
colors etc. are defined here
– IT_FIELDCAT
• Defines the properties of individual fields (columns) of the internal table to be displayed
• Field specific features like Editable / Non Editable, Heading, Column Position, Left / Right
Justification etc. are defined here
ALV Function Modules: Parameters
•Important Parameters
– IT_EXCLUDING
• The Buttons / Function codes that need to be disabled
– I_SAVE
• Whether Users should be able to save layout variants of their choice
– IT_EVENTS
• The various which need to be trapped and dealt with
Simple Programs Walkthrough
•Populate the internal table with the contents
to be displayed and call the function module.
Data: i_sflight type standard table of sflight initial size 0 with header line.
Select * from sflight into table i_sflight.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-cprog
I_STRUCTURE_NAME = 'SFLIGHT'
TABLES
T_OUTTAB = i_sflight.
Result
Simple Programs Walkthrough
•Saving Layout Variants (Order of Columns, Hiding Specific Columns etc.)
I_SAVE = ‘A’
Change / Save /
Select Layout
Give Layout Name,
User Specific / Default
Layout
Simple Programs Walkthrough
•Grid Title Required
I_GRID_TITLE = ‘Flight Information’
Heading
Simple Programs Walkthrough
•Suppose the first 4 fields of the internal table are required in the order CARRID, FLDATE, CONNID, PRICE. Also the fields CURRENCY and PLANETYPE
are not to be displayed.
Populate the Field Catalog table appropriately
data: i_fcat type slis_t_fieldcat_alv,
wa_fcat type slis_fieldcat_alv.
wa_fcat-tabname = 'I_SFLIGHT'.
wa_fcat-col_pos = '1'.
wa_fcat-fieldname = 'CARRID'.
append wa_fcat to i_fcat.
wa_fcat-col_pos = '2'.
wa_fcat-fieldname = 'FLDATE'.
append wa_fcat to i_fcat.
wa_fcat-col_pos = '3'.
wa_fcat-fieldname = 'CONNID'.
append wa_fcat to i_fcat.
wa_fcat-col_pos = '4'.
wa_fcat-fieldname = 'PRICE'.
wa_fcat-fieldname = 'CURRENCY'.
wa_fcat-no_out = 'X'.
append wa_fcat to i_fcat.
wa_fcat-fieldname =
'PLANETYPE'.
wa_fcat-no_out = 'X'.
append wa_fcat to i_fcat.
In the function module,
IT_FIELDCAT = i_fcat
Result
CARRID
PRICE
CONNID
FLDATE
No CURRENCY And PLANETYPE
Simple Programs Walkthrough
•Obtaining the field catalog internal table using the internal table name
•Use Function Module REUSE_ALV_FIELDCATALOG_MERGE
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_INTERNAL_TABNAME = 'I_SFLIGHT'
I_STRUCTURE_NAME = 'SFLIGHT'
CHANGING
CT_FIELDCAT = I_FCAT
Simple Programs Walkthrough
•Suppose it is required to add a button ‘SAVE’ to the application toolbar. Also, the ABC Analysis, Mail and Download to Excel need to be removed.
•Create a Subroutine SET_PF_STATUS using rt_extab type slis_t_extab
•Within this subroutine, write
SET PF-STATUS ‘YFLIGHTS’.
•Double Click on ‘YFLIGHTS’ and create a PF-STATUS
•Go to Extras -> Adjust Template and Choose the List Viewer Radio Button. Standard ALV PF-STATUS will be selected.
•Remove the function keys and Buttons for ABC Analysis and Mail and Download to Excel from the PF-STATUS
•Add a function code and button for SAVE.
•Save and Activate the PF-STATUS
•While calling the function module ‘REUSE_ALV_GRID_DISPLAY’ use
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
•Alternatively, Removal of Buttons can be done by populating the internal table IT_EXCLUDING with the relevant function codes
Result
No Excel, Email or ABC
Analysis Buttons
SAVE Button
Simple Programs Walkthrough
•Suppose we need to make the price editable and saved to the database table SFLIGHT
•Use Function Module REUSE_ALV_FIELDCATALOG_MERGE to get the Field Catalog internal table
•Change the Field Catalog table for fieldname entry ‘PRICE’
read table i_fcat into wa_fcat with key fieldname = 'PRICE'.
if sy-subrc = 0.
wa_fcat-edit = 'X'.
modify i_fcat index sy-tabix from wa_fcat transporting edit.
endif.
•Create a PF-Status as described previously and use a function code &DATA_SAVE
Simple Programs Walkthrough
•Create a Subroutine USER_COMMAND using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
•Within this subroutine, handle user command
if r_ucomm = '&DATA_SAVE'.
modify sflight from table i_sflight.
message i000 with 'Data saved'.
rs_selfield-refresh = 'X'.
rs_selfield-col_stable = 'X'.
rs_selfield-row_stable = 'X'.
endif.
•While calling the function module ‘REUSE_ALV_GRID_DISPLAY’ use
I_CALLBACK_USER_COMMAND = ‘USER_COMMAND'
Result
PRICE
(Editable)
Other Fields
(Non Editable)
Function Code
and Button for
&DATA_SAVE
Important Information
•Use Programs Starting with BALV and BCALV
•Use Function Module Helps
abap list viewer (alv)

More Related Content

PPTX
Reports
PPT
Alv theory
PPTX
Object oriented approach to ALV Lists in ABAP
PDF
ABAP for Beginners - www.sapdocs.info
PDF
Abap reports
PPTX
SAP Modularization techniques
PPT
ABAP Programming Overview
PDF
Abap object-oriented-programming-tutorials
Reports
Alv theory
Object oriented approach to ALV Lists in ABAP
ABAP for Beginners - www.sapdocs.info
Abap reports
SAP Modularization techniques
ABAP Programming Overview
Abap object-oriented-programming-tutorials

What's hot (20)

PPT
Ab1011 module pool programming
PDF
Sap Abap Reports
PPT
Module pool programming
PDF
Dialog programming ABAP
PPT
08.Abap Dialog Programming Overview
PPT
List Processing in ABAP
PPTX
Sap abap
PPTX
Oops abap fundamental
PPTX
Bdc BATCH DATA COMMUNICATION
PDF
Ooabap notes with_programs
PPTX
SAP ABAP using OOPS - JH Softech
PPT
ABAP Object oriented concepts
PPTX
SAP Adobe forms
PDF
SAP ABAP data dictionary
DOC
1000 solved questions
PDF
Bapi step-by-step
PPT
BATCH DATA COMMUNICATION
PPT
Introduction to ABAP
PPT
ABAP Open SQL & Internal Table
PDF
Table maintenance generator and its modifications
Ab1011 module pool programming
Sap Abap Reports
Module pool programming
Dialog programming ABAP
08.Abap Dialog Programming Overview
List Processing in ABAP
Sap abap
Oops abap fundamental
Bdc BATCH DATA COMMUNICATION
Ooabap notes with_programs
SAP ABAP using OOPS - JH Softech
ABAP Object oriented concepts
SAP Adobe forms
SAP ABAP data dictionary
1000 solved questions
Bapi step-by-step
BATCH DATA COMMUNICATION
Introduction to ABAP
ABAP Open SQL & Internal Table
Table maintenance generator and its modifications
Ad

Viewers also liked (6)

DOCX
Edit idoc , reprocess and test idoc
PDF
PPT
Sap abap ale idoc
PDF
SAP IDoc
PPTX
SAP ALE Idoc
PPT
IDOC , ALE ,EDI
Edit idoc , reprocess and test idoc
Sap abap ale idoc
SAP IDoc
SAP ALE Idoc
IDOC , ALE ,EDI
Ad

Similar to abap list viewer (alv) (20)

PPT
07.advanced abap
PDF
Sap abap
PDF
An easy reference for alv grid control (1)
PDF
Alv object model simple 2 d table - the basics
PPT
ABAP Advanced List
PPT
Lecture15 abap on line
DOC
Alv report-tutorial-www.sapexpert.co .uk-
PDF
Learning & using new technology
PDF
Learning & using new technology
DOCX
Grid view control
PPT
ABAP BASICs learn the basics of ABAP-1.ppt
PPTX
MS OFFICE INTRODUCTION...........................
PPTX
MS ACCESS PPT.pptx
PDF
812395816
PPTX
SAP ABAP Interview Question Answer Online Training
PPTX
Priyank Goel PPT.pptx
PDF
MS ACCESS ( a very simple PPT for studentes)
PDF
SAP ABAP Online Training
PPSX
SAP ABAP online training
PPTX
basic database concepts
07.advanced abap
Sap abap
An easy reference for alv grid control (1)
Alv object model simple 2 d table - the basics
ABAP Advanced List
Lecture15 abap on line
Alv report-tutorial-www.sapexpert.co .uk-
Learning & using new technology
Learning & using new technology
Grid view control
ABAP BASICs learn the basics of ABAP-1.ppt
MS OFFICE INTRODUCTION...........................
MS ACCESS PPT.pptx
812395816
SAP ABAP Interview Question Answer Online Training
Priyank Goel PPT.pptx
MS ACCESS ( a very simple PPT for studentes)
SAP ABAP Online Training
SAP ABAP online training
basic database concepts

More from Kranthi Kumar (20)

PDF
Exercise in alv
PDF
Dynamic binding
PDF
Data binding
PDF
Creating simple comp
PDF
Creating messages
PDF
Creating a comp
PDF
Controllers and context programming
PDF
Context at design
PDF
Binding,context mapping,navigation exercise
PDF
Alv for web
PDF
Web(abap introduction)
DOC
Abap faq
PDF
Sap abap material
PDF
Crm technical
PDF
control techniques
PPT
Chapter 07 debugging sap scripts
PPT
Chapter 06 printing sap script forms
PPT
Chapter 05 sap script - configuration
PPT
Chapter 04 sap script - output program
PPT
Chapter 02 sap script forms
Exercise in alv
Dynamic binding
Data binding
Creating simple comp
Creating messages
Creating a comp
Controllers and context programming
Context at design
Binding,context mapping,navigation exercise
Alv for web
Web(abap introduction)
Abap faq
Sap abap material
Crm technical
control techniques
Chapter 07 debugging sap scripts
Chapter 06 printing sap script forms
Chapter 05 sap script - configuration
Chapter 04 sap script - output program
Chapter 02 sap script forms

abap list viewer (alv)

  • 2. ALV •ABAP List Viewer (ALV) is a simple, user friendly and better looking reporting tool as compared to the usage of write statements in a conventional / interactive report.
  • 3. Advantages of ALV •Better Looking •User friendly – Filtering / Sorting – Layout Change / Save – Summation, Download to excel, E-Mail – Data can be open for input / change etc. •Better Event handling •Width of more than 256 characters possible •Programming overhead of mentioning exact positions in write statements not needed.
  • 5. ALV Features Fields Open For Input Bar Charts
  • 6. ALV Programming •Two Approaches – Conventional (Using Standard Function Modules) – Object Oriented (Using Standard Classes and Methods) We will concentrate on the conventional approach
  • 7. ALV Function Modules REUSE_ALV_LIST_DISPLAY REUSE_ALV_GRID_DISPLAY Program: BALVSD02 Program: BALVSD02_GRID
  • 8. ALV Function Modules•Both REUSE_ALV_LIST_DISPLAY and REUSE_ALV_GRID_DISPLAY have similar parameters •Both Display the contents of an internal table passed by the parameter T_OUTTAB
  • 9. ALV Function Modules: Parameters •Important Parameters – I_CALLBACK_PROGRAM • The program that contains the subroutine for user command handling • The program that will be the reference for user specific layout variants • SY-CPROG in most cases – I_CALLBACK_PF_STATUS_SET • The subroutine name that will set the PF-STATUS (which in turn may contain user defined buttons) – I_CALLBACK_USER_COMMAND • The subroutine name in the calling program that will be triggered on any user command
  • 10. ALV Function Modules: Parameters •Important Parameters – I_STRUCTURE_NAME • The type of the internal table to be displayed – I_GRID_TITLE • The Heading / Title of the GRID – IS_LAYOUT • Defines the layout in which the internal table will be displayed • Layout specific Features like Optimize Column Width, Window Title Bar, No Summing Up, colors etc. are defined here – IT_FIELDCAT • Defines the properties of individual fields (columns) of the internal table to be displayed • Field specific features like Editable / Non Editable, Heading, Column Position, Left / Right Justification etc. are defined here
  • 11. ALV Function Modules: Parameters •Important Parameters – IT_EXCLUDING • The Buttons / Function codes that need to be disabled – I_SAVE • Whether Users should be able to save layout variants of their choice – IT_EVENTS • The various which need to be trapped and dealt with
  • 12. Simple Programs Walkthrough •Populate the internal table with the contents to be displayed and call the function module. Data: i_sflight type standard table of sflight initial size 0 with header line. Select * from sflight into table i_sflight. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = sy-cprog I_STRUCTURE_NAME = 'SFLIGHT' TABLES T_OUTTAB = i_sflight.
  • 14. Simple Programs Walkthrough •Saving Layout Variants (Order of Columns, Hiding Specific Columns etc.) I_SAVE = ‘A’ Change / Save / Select Layout Give Layout Name, User Specific / Default Layout
  • 15. Simple Programs Walkthrough •Grid Title Required I_GRID_TITLE = ‘Flight Information’ Heading
  • 16. Simple Programs Walkthrough •Suppose the first 4 fields of the internal table are required in the order CARRID, FLDATE, CONNID, PRICE. Also the fields CURRENCY and PLANETYPE are not to be displayed. Populate the Field Catalog table appropriately data: i_fcat type slis_t_fieldcat_alv, wa_fcat type slis_fieldcat_alv. wa_fcat-tabname = 'I_SFLIGHT'. wa_fcat-col_pos = '1'. wa_fcat-fieldname = 'CARRID'. append wa_fcat to i_fcat. wa_fcat-col_pos = '2'. wa_fcat-fieldname = 'FLDATE'. append wa_fcat to i_fcat. wa_fcat-col_pos = '3'. wa_fcat-fieldname = 'CONNID'. append wa_fcat to i_fcat. wa_fcat-col_pos = '4'. wa_fcat-fieldname = 'PRICE'. wa_fcat-fieldname = 'CURRENCY'. wa_fcat-no_out = 'X'. append wa_fcat to i_fcat. wa_fcat-fieldname = 'PLANETYPE'. wa_fcat-no_out = 'X'. append wa_fcat to i_fcat. In the function module, IT_FIELDCAT = i_fcat
  • 18. Simple Programs Walkthrough •Obtaining the field catalog internal table using the internal table name •Use Function Module REUSE_ALV_FIELDCATALOG_MERGE CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING I_INTERNAL_TABNAME = 'I_SFLIGHT' I_STRUCTURE_NAME = 'SFLIGHT' CHANGING CT_FIELDCAT = I_FCAT
  • 19. Simple Programs Walkthrough •Suppose it is required to add a button ‘SAVE’ to the application toolbar. Also, the ABC Analysis, Mail and Download to Excel need to be removed. •Create a Subroutine SET_PF_STATUS using rt_extab type slis_t_extab •Within this subroutine, write SET PF-STATUS ‘YFLIGHTS’. •Double Click on ‘YFLIGHTS’ and create a PF-STATUS •Go to Extras -> Adjust Template and Choose the List Viewer Radio Button. Standard ALV PF-STATUS will be selected. •Remove the function keys and Buttons for ABC Analysis and Mail and Download to Excel from the PF-STATUS •Add a function code and button for SAVE. •Save and Activate the PF-STATUS •While calling the function module ‘REUSE_ALV_GRID_DISPLAY’ use I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS' •Alternatively, Removal of Buttons can be done by populating the internal table IT_EXCLUDING with the relevant function codes
  • 20. Result No Excel, Email or ABC Analysis Buttons SAVE Button
  • 21. Simple Programs Walkthrough •Suppose we need to make the price editable and saved to the database table SFLIGHT •Use Function Module REUSE_ALV_FIELDCATALOG_MERGE to get the Field Catalog internal table •Change the Field Catalog table for fieldname entry ‘PRICE’ read table i_fcat into wa_fcat with key fieldname = 'PRICE'. if sy-subrc = 0. wa_fcat-edit = 'X'. modify i_fcat index sy-tabix from wa_fcat transporting edit. endif. •Create a PF-Status as described previously and use a function code &DATA_SAVE
  • 22. Simple Programs Walkthrough •Create a Subroutine USER_COMMAND using r_ucomm like sy-ucomm rs_selfield type slis_selfield. •Within this subroutine, handle user command if r_ucomm = '&DATA_SAVE'. modify sflight from table i_sflight. message i000 with 'Data saved'. rs_selfield-refresh = 'X'. rs_selfield-col_stable = 'X'. rs_selfield-row_stable = 'X'. endif. •While calling the function module ‘REUSE_ALV_GRID_DISPLAY’ use I_CALLBACK_USER_COMMAND = ‘USER_COMMAND'
  • 24. Important Information •Use Programs Starting with BALV and BCALV •Use Function Module Helps