Skip to Content
0
Oct 27, 2010 at 06:20 PM

ALV Row Visible, gotta alway 15!!!s

42 Views

I don't understand where is my error 😕

I wanna set 30 rows or better long as is the number of records

but with

lr_table_settings->set_visible_row_count( -1 ).

or

lr_table_settings->set_visible_row_count( 30 ).

the ALV show always 15 row!

Here my code:

method WDDOINIT .

* create an instance of ALV component
  DATA lr_salv_wd_table_usage TYPE REF TO if_wd_component_usage.

  lr_salv_wd_table_usage = wd_this->wd_cpuse_alv_mov( ).
  IF lr_salv_wd_table_usage->has_active_component( ) IS INITIAL.
    lr_salv_wd_table_usage->create_component( ).
  ENDIF.

* get ALV component
  DATA lr_salv_wd_table TYPE REF TO iwci_salv_wd_table.

  lr_salv_wd_table = wd_this->wd_cpifc_alv_mov( ).
  wd_this->alv_config_table = lr_salv_wd_table->get_model( ).

* set visible row count
  DATA lr_table_settings TYPE REF TO if_salv_wd_table_settings.





*  lr_table_settings->set_read_only( abap_false ).
* hide column CURR_ISO
  DATA : lr_column_settings TYPE REF TO if_salv_wd_column_settings,
         lr_column          TYPE REF TO cl_salv_wd_column.


  lr_table_settings ?= wd_this->alv_config_table.


  lr_table_settings->set_visible_row_count( -1 ).
  lr_table_settings->set_footer_visible( 0 ).

  lr_column_settings ?= wd_this->alv_config_table.

*Read the field of the ZMIL_MOVEMENT_S
  DATA:
      type_ref    TYPE REF TO cl_abap_typedescr
     ,is_ddic     TYPE abap_bool
     ,lt_ddic     TYPE dd_x031l_table
     ,wa_ddic     TYPE x031l.

  type_ref ?= cl_abap_typedescr=>DESCRIBE_BY_NAME( 'ZMIL_MOVEMENT_S' ).
  is_ddic = type_ref->is_ddic_type( ).
  lt_ddic = type_ref->get_ddic_object( ).
  DATA : lf_field_in type char50,
         lf_field_out type char50.

  field-symbols: <fsin> type any,
  <fsout> type any.

  DATA : lf_convert_value TYPE MENGE13,
         lv_fieldname type STRING  .

  LOOP AT lt_ddic INTO wa_ddic.
    clear lv_fieldname.
    move wa_ddic-FIELDNAME to lv_fieldname.

*I choose the ALV's fields that I will not hide
    case  lv_fieldname.
***********************
      WHEN 'PAPER_VESSEL'.

        DATA : lr_checkbox  TYPE REF TO cl_salv_wd_uie_checkbox.
        lr_column = lr_column_settings->get_column( lv_fieldname ).
        CREATE OBJECT lr_checkbox
          EXPORTING
            checked_fieldname = lv_fieldname.
        lr_column->set_cell_editor( lr_checkbox ).
        lr_column->set_visible( if_wdl_core=>visibility_none ).
*        lr_column->set_read_only( abap_false ).
*        lr_column->SET_CELL_EDITOR( ).




*        CALL METHOD LR_CHECKBOX->SET_ENABLED
*          EXPORTING
*            VALUE = 'X'.





        FREE lr_checkbox.
      WHEN 'MOV_SHIP_CONTRAC' or 'TRANSPORT_TYPE' or 'MOVEMENT_STATE' OR 'SHIP_TRAVEL_TYPE'
        or 'DELIVERY_TYPE' or 'MOV_PROD_CONTRAC'.
        DATA : lr_link TYPE REF TO cl_salv_wd_uie_link_to_action,
                lr_dropdown  TYPE REF TO CL_SALV_WD_UIE_DROPDOWN_BY_KEY.

        lr_column = lr_column_settings->get_column( lv_fieldname ).
        CREATE OBJECT lr_dropdown
          EXPORTING
            SELECTED_KEY_FIELDNAME = lv_fieldname.
        lr_column->set_cell_editor( lr_dropdown ).

*        CALL METHOD lr_dropdown->SET_ENABLED
*          EXPORTING
*            VALUE = ' '.
***********************

      lr_column = lr_column_settings->get_column( lv_fieldname ).
      lr_column->set_visible( if_wdl_core=>visibility_none ).



        FREE lr_dropdown.

      when 'MOVEMENT_ID' or 'VERSION' or 'MOVEMENT_STATE' or 'TRANSPORT_TYPE'
           or 'MOV_PROD_CONTRAC' or 'MOV_SHIP_CONTRAC' or 'SELLER'
           or 'BUYER' or 'ROUTE'.


      when OTHERS. "The other fields will not be displayed on the initial grid of the ALV
        lr_column = lr_column_settings->get_column( lv_fieldname ).
        lr_column->set_visible( if_wdl_core=>visibility_none ).
    ENDCASE.
  ENDLOOP.


endmethod.

Please if you have a suggestion tell me 😊

thanks Roberto.