2. Hicron /// Technical Supremacy
ALV with IDA: Introduction
Most important changes / improvements
• Real-time, regardless size of output table
• Only VISIBLE rows are copied from Database
• Every scroll is a „separate” SELECT statement
• Data volume transfered from DB to application server is drastically reduced
• Code-to-data paradigm (aka Code Pushdown)
Data intensive operations moved to database.
Tools: CDS View, HANA View (using SQL Script)
• Application layer divided into two areas:
• Orchestration Logic – handles business processes
• Calculation Logic – performs operations on data
3. Hicron /// Technical Supremacy
ALV with IDA: Basic Components
• Support for any DB – all data is buffered in internal table
• Drill-down
• Aggregation
• Grouping
• Fuzzy search
• Integrated text search
4. Hicron /// Technical Supremacy
ALV with IDA: Programming interface
• Simple program in two lines
DATA(lo_alv) = cl_salv_gui_table_ida=>create( iv_table_name = 'BSEG' ).
lo_alv->fullscreen( )->display( ).
• Building of ALV object is more object-oriented, good example:
DATA(lo_cond_factory) = lo_alv->condition_factory( ).
DATA(lo_conditions) = lo_cond_factory->covers_pattern( name = 'MATNR'
pattern = '*215*' )->and(
lo_cond_factory->equals( name = 'PSWSL'
value = 'PLN' ) ).
lo_alv->set_select_options( io_condition = lo_conditions ).
• Fieldcatalog trimmed, organized and improved
lo_alv->field_catalog( )->display_options( )->set_formatting(
iv_field_name = 'SHKZG'
iv_presentation_mode = if_salv_gui_types_ida=>cs_presentation_mode-description ).
5. Hicron /// Technical Supremacy
ALV with IDA: Improvements
• Enable layout persistence and set options
go_alv_ida->layout_persistence( )->set_persistence_options(
is_persistence_key = VALUE #( report_name = sy-repid )
lo_alv->toolbar( )->enable_listbox_for_layouts( ).
• Build DB columns via Views, using enhanced SQL syntax and scripts
Build application columns using „calculated fields” (like traffic lights)
Can be used in multiple reports!
• Built-in authority checks
lo_alv->add_authorization_for_object(
iv_authorization_object = 'V_VBRK_VKO'
it_activities = VALUE #( ( auth_field = 'ACTVT' value = '03' ) )
it_field_mapping = VALUE #( ( auth_field = 'VKORG' view_field = 'VKORG' ) )
).
6. Hicron /// Technical Supremacy
Links
• Package SALV_IDA_TEST
• http://help.sap.com/saphelp_nw74/helpdata/en/ef/eb734c8e6f41939c39fa15ce51eb4e/content.htm
Reference
• http://scn.sap.com/docs/DOC-45706
ALV on HANA – feature matrix
• http://scn.sap.com/docs/DOC-47994
ABAP for SAP HANA – video tutorials
• http://scn.sap.com/docs/DOC-59038
ABAP for SAP HANA – tutorials
• http://scn.sap.com/docs/DOC-40576
ALV and FPM on SAP HANA (example of transformation from classic to IDA ALV)