Showing posts with label ALV IDA. Show all posts
Showing posts with label ALV IDA. Show all posts

Tuesday, November 21, 2023

ALV with IDA (Integrated Data Access)

 ALV With IDA 

**Check DB Capabilities
CHECK cl_salv_gui_table_ida=>db_capabilities( )->is_table_supported( iv_ddic_table_name = 'ZTable_name').

"Create IDA
DATA(o_ida) = cl_salv_gui_table_ida=>create( iv_table_name =  'ZTABLE_NAME' ).
o_ida->field_catalog( )->set_available_fields( its_field_names = VALUE if_salv_gui_types_ida=>yts_field_name(
( CONV fieldname( 'LAUFI') )
( CONV fieldname( 'LAUFD') )
( CONV fieldname( 'PRODUCT_CODE') )
( CONV fieldname( 'COUNTRY_CODE') )
( CONV fieldname( 'ACCOUNT_NUMBER') )
( CONV fieldname( 'TRANS_REF_NUM') )
( CONV fieldname( 'PAYMENT_CURR') )
( CONV fieldname( 'PAYMENT_AMOUNT') )
( CONV fieldname( 'STATUS') )
( CONV fieldname( 'REMARKS') )
( CONV fieldname( 'BENEF_NAME') )
( CONV fieldname( 'BENEF_ACCOUNT') )
( CONV fieldname( 'BENEF_BRC') )
( CONV fieldattributes( 'PAYMENT_AMOUNT') )
 ) ).


"Set Maximum Rows Recommended
IF cl_salv_gui_table_ida=>db_capabilities( )->is_max_rows_recommended( ).

o_ida->set_maximum_number_of_rows(  iv_number_of_rows = 2000 ).

ENDIF.

"Handling Select options 
DATA(lo_range_collector) = NEW cl_salv_range_tab_collector( ).

lo_range_collector->add_ranges_for_name( iv_name = 'LAUFI' it_ranges = s_laufi[] ).
lo_range_collector->add_ranges_for_name( iv_name = 'LAUFD' it_ranges = s_laufd[] ).
lo_range_collector->add_ranges_for_name( iv_name = 'TRANS_REF_NUM' it_ranges = s_ref[] ).
lo_range_collector->add_ranges_for_name( iv_name = 'STATUS' it_ranges = s_stat[] ).
lo_range_collector->get_collected_ranges(
                    IMPORTING
                     et_named_ranges = DATA(lt_select_options) ).

DATA: ls_aggr_rule  TYPE if_salv_gui_types_ida=>ys_aggregation_rule,
      lt_aggr_rules TYPE if_salv_gui_types_ida=>yt_aggregation_rule.

*ls_aggr_rule-field_name = 'PAYMENT_AMOUNT'.
*ls_aggr_rule-function   = if_salv_service_types=>cs_function_code-sum.
*APPEND ls_aggr_rule TO lt_aggr_rules.

o_ida->set_select_options( it_ranges    = lt_select_options ).
*o_ida->default_layout( )->set_aggregations( lt_aggr_rules ).
"Display
o_ida->fullscreen( )->display( ).

How to Find Implemented BADIs for a Tcode in SAP

  Simple way to find implemented BADI for a TCode in SAP  First We have to find the Package for the transaction. 1.      Go to that par...