ABAP 7.40 - ABAPblog.com

FALV
(Fast ALV Grid)
Łukasz Pęgiel
#sitWRO 2016
ABAPBLOG.COM
AGENDA
•Why I’ve created FALV
•What are the main differences
between SALV, FALV, ALV & REUSE
•What is still to be done in FALV
•Live demo
ABAPBLOG.COM
WhyI’vecreatedFALV
SALV
• You cannot make standard SALV editable
• It happened too often that users wanted a report in display mode, but then
they’ve changed their mind
REUSE
• I don’t like it
• Procedural programming
• Not all cl_gui_alv_grid options are directly available
• I always ended with getting cl_gui_alv_grid object (so why don’t use it directly)
ALV
• Screen and GUI Status has to be created each time, even if you want a simple
full screen report
• Many times I was repeating the same methods when creating output
ABAPBLOG.COM
https://github.com/fidley/falv/tree/master/BUILD
AB
http://abapblog.com/falv
Separate versions for 7.31 and 7.40
Where I can find FALV code?
ABAPBLOG.COM
What are the differences between SALV, ALV, REUSE & FALV
Difference
FALV
SALV
ALV
REUSE
Inheritance of cl_gui_alv_grid
Yes
No
-
No
Direct call of cl_gui_alv_grid methods
Yes
No
Yes
No*
Editable
Yes
No*
Yes
Yes
Possibility to create GUI Status dynamically
Yes
No
No
No
Display inside custom containers
Yes
Yes
Yes
No
Top-of-page event when used with own
containers
Yes
No
No
-
Pop-up calls
Yes
Yes
No
Yes
Footer event
No
Yes
No
Yes
Embedded error log
Yes
No
No
No
Events handling with redefinition
Yes
No
No
No
ALV List view
Yes*
Yes
Yes*
Yes*
Objects for everything
No
Yes
No
No
Able to display table using single call
Yes
No
No
Yes
ABAPBLOG.COM
What’s still to be done
• Footer
• Automatic filling of dropdown list values when
domain has fixed entries
• Check if all events are raised
• Built-in Top-Of-Page handling with Selection-Screen
data and company logo
• More additional functions
• Color constants
•…
ABAPBLOG.COM
Live Demo
ABAPBLOG.COM
Questions?
?
?
?
?
Want to join FALV project?
https://github.com/fidley/falv
Fork project
Do some changes and commit them
Merge your commit and create pull-request
Thank You!