SnippetVamp

Because spending time searching snippets sucks.



ALV 3 XPath 1 abap 9 ahk 1 autohotkey 6 bash 2 cli 2 clipboard 3 excel 1 file 1 file_path 1 greasemonkey 1 javascript 1 python 4 sap 1 screen 1 sql 1 ssh 1 tool 2 tunnel 1

.

ALV

ALV in container (container can be defined from screen painter as a custom control)

  DATA: alv TYPE REF TO cl_salv_table,
        lo_functions TYPE REF TO cl_salv_functions_list.

  DATA: wgr_container TYPE REF TO cl_gui_custom_container.

  IF wgr_container IS NOT BOUND.
    IF cl_salv_table=>is_offline( ) EQ if_salv_c_bool_sap=>false.
      CREATE OBJECT wgr_container
        EXPORTING
          container_name = 'WGC_CONTAINER_PLOP'.
    ENDIF.

    TRY.
        cl_salv_table=>factory(
           EXPORTING r_container    = wgr_container
             container_name = 'WGC_CONTAINER_PLOP'
           IMPORTING r_salv_table = alv
           CHANGING  t_table = wgt_plop ).

        lo_functions = alv->get_functions( ).
        lo_functions->set_all( abap_true ).

        alv->display( ).
      CATCH cx_salv_msg.
        MESSAGE 'ALV display not possible' TYPE 'I'
        DISPLAY LIKE 'E'.
    ENDTRY.
  ENDIF.

ALV abap screen

<iframe width="100%" height="686" src="http://ginkobox.fr/vamp/index.php?embed=567a702c55983" type="text/html"></iframe>

Text only - Permalink - Snippet public post date 23/12/2015

ALV handlers

PROGRAM zkmalve2.

DATA:
  gt_usr   TYPE TABLE OF usr02,
  gs_usr   TYPE usr02.

*----------------------------------------------------------------------*
*       CLASS cl_event_handler DEFINITION
*----------------------------------------------------------------------*
CLASS cl_event_handler DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS on_before_salv_function         " BEFORE_SALV_FUNCTION
      FOR EVENT if_salv_events_functions~before_salv_function
        OF cl_salv_events_table
          IMPORTING e_salv_function.

    CLASS-METHODS on_after_salv_function          " AFTER_SALV_FUNCTION
      FOR EVENT if_salv_events_functions~before_salv_function
        OF cl_salv_events_table
          IMPORTING e_salv_function.

    CLASS-METHODS on_added_function               " ADDED_FUNCTION
      FOR EVENT if_salv_events_functions~added_function
        OF cl_salv_events_table
          IMPORTING e_salv_function.

    CLASS-METHODS on_top_of_page                  " TOP_OF_PAGE
      FOR EVENT if_salv_events_list~top_of_page
        OF cl_salv_events_table
          IMPORTING r_top_of_page
                    page
                    table_index.

    CLASS-METHODS on_end_of_page                  " END_OF_PAGE
      FOR EVENT if_salv_events_list~end_of_page
        OF cl_salv_events_table
          IMPORTING r_end_of_page
                    page.

    CLASS-METHODS on_double_click                 " DOUBLE_CLICK
      FOR EVENT if_salv_events_actions_table~double_click
        OF cl_salv_events_table
          IMPORTING row
                    column.

    CLASS-METHODS on_link_click                   " LINK_CLICK
      FOR EVENT if_salv_events_actions_table~link_click
        OF cl_salv_events_table
          IMPORTING row
                    column.
ENDCLASS.                    "cl_event_handler DEFINITION

*----------------------------------------------------------------------*
*       CLASS cl_event_handler IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS cl_event_handler IMPLEMENTATION.

  METHOD on_before_salv_function.
    BREAK-POINT.
  ENDMETHOD.                    "on_before_salv_function

  METHOD on_after_salv_function.
    BREAK-POINT.
  ENDMETHOD.                    "on_after_salv_function

  METHOD on_added_function.
    BREAK-POINT.
  ENDMETHOD.                    "on_added_function

  METHOD on_top_of_page.
    BREAK-POINT.
  ENDMETHOD.                    "on_top_of_page

  METHOD on_end_of_page.
    BREAK-POINT.
  ENDMETHOD.                    "on_end_of_page

  METHOD on_double_click.
    BREAK-POINT.
  ENDMETHOD.                    "on_double_click

  METHOD on_link_click.
    BREAK-POINT.
  ENDMETHOD.                    "on_link_click
ENDCLASS.                    "cl_event_handler IMPLEMENTATION

*&---------------------------------------------------------------------*
*&      START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.

* read sample data to internal table
  SELECT * FROM usr02 UP TO 30 ROWS
    APPENDING CORRESPONDING FIELDS OF TABLE gt_usr
    ORDER BY bname.

  PERFORM display_alv.

*&---------------------------------------------------------------------*
*&      Form  display_alv
*&---------------------------------------------------------------------*
FORM display_alv.

  DATA:
    lo_table      TYPE REF TO cl_salv_table,
    lo_events     TYPE REF TO cl_salv_events_table,
    lo_columns    TYPE REF TO cl_salv_columns_table,
    lo_column     TYPE REF TO cl_salv_column_list.

  TRY.
      CALL METHOD cl_salv_table=>factory
        IMPORTING
          r_salv_table = lo_table
        CHANGING
          t_table      = gt_usr.

      lo_events = lo_table->get_event( ).
      SET HANDLER cl_event_handler=>on_before_salv_function FOR lo_events.
      SET HANDLER cl_event_handler=>on_after_salv_function FOR lo_events.
      SET HANDLER cl_event_handler=>on_added_function FOR lo_events.
      SET HANDLER cl_event_handler=>on_top_of_page FOR lo_events.
      SET HANDLER cl_event_handler=>on_end_of_page FOR lo_events.
      SET HANDLER cl_event_handler=>on_double_click FOR lo_events.
      SET HANDLER cl_event_handler=>on_link_click FOR lo_events.

*     ALV-Toolbar
      lo_table->set_screen_status(
        pfstatus      = 'STANDARD_FULLSCREEN'
        report        = 'SAPLSLVC_FULLSCREEN'
        set_functions = lo_table->c_functions_all ).

*     Set column as hotspot
      lo_columns = lo_table->get_columns( ).
      lo_column ?= lo_columns->get_column( 'BNAME' ).
      lo_column->set_cell_type( if_salv_c_cell_type=>hotspot ).

      lo_table->display( ).

    CATCH cx_salv_msg.             " cl_salv_table=>factory()
      WRITE: / 'cx_salv_msg exception'.
      STOP.
    CATCH cx_salv_not_found.       " cl_salv_columns_table->get_column()
      WRITE: / 'cx_salv_not_found exception'.
      STOP.
  ENDTRY.
ENDFORM.                    "display_alv

ALV abap

http://www.kerum.pl/infodepot/00007

<iframe width="100%" height="2846" src="http://ginkobox.fr/vamp/index.php?embed=5678114ad7fc9" type="text/html"></iframe>

Text only - Permalink - Snippet public post date 21/12/2015

Display any itab in ALV

*&---------------------------------------------------------------------*
*&      Form  write_out
*&---------------------------------------------------------------------*
*       List output
*----------------------------------------------------------------------*
FORM write_out USING p_table. "With inline declaration abap 740
  DATA: alv     TYPE REF TO cl_salv_table.
  TRY.
      cl_salv_table=>factory(
        IMPORTING r_salv_table = alv
        CHANGING  t_table = p_table ).

      DATA(lo_functions) = alv->get_functions( ).
      lo_functions->set_all( abap_true ).

      alv->display( ).
    CATCH cx_salv_msg.
      MESSAGE 'ALV display not possible' TYPE 'I'
              DISPLAY LIKE 'E'.
  ENDTRY.
ENDFORM.                    "write_out
*&---------------------------------------------------------------------*
*&      Form  write_out
*&---------------------------------------------------------------------*
*       List output
*----------------------------------------------------------------------*
FORM write_out USING p_table. "Without inline declaration
  DATA: alv TYPE REF TO cl_salv_table,
        lo_functions TYPE REF TO cl_salv_functions_list.

  TRY.
      cl_salv_table=>factory(
        IMPORTING r_salv_table = alv
        CHANGING  t_table = p_table ).

      lo_functions = alv->get_functions( ).
      lo_functions->set_all( abap_true ).

      alv->display( ).
    CATCH cx_salv_msg.
      MESSAGE 'ALV display not possible' TYPE 'I'
              DISPLAY LIKE 'E'.
  ENDTRY.
ENDFORM.                    "write_out

ALV abap

<iframe width="100%" height="974" src="http://ginkobox.fr/vamp/index.php?embed=555b6c66366cf" type="text/html"></iframe>

Text only - Permalink - Snippet public post date 10/09/2015

This page's Feed


SnippetVamp 1.84 by Bronco - generated in 0.003 s