Advertisement
Guest User

Untitled

a guest
Jul 11th, 2019
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 16.74 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2.  
  3. *& Report  ZHR_RAP_WZOR_02
  4.  
  5. *&
  6.  
  7. *&---------------------------------------------------------------------*
  8.  
  9. *& Opis:
  10.  
  11. *&  Wzorzec raportu ALV - wyswietlenie rożnic limitu nieobecnosci i zmniejszenia
  12.  
  13. *&---------------------------------------------------------------------*
  14.  
  15. *& Autor:
  16.  
  17. *&  Mikołaj Marcinkowski
  18.  
  19. *&---------------------------------------------------------------------*
  20.  
  21. *&
  22.  
  23. *&---------------------------------------------------------------------*
  24.  
  25.  
  26. REPORT z_limit_monika.
  27.  
  28.  
  29.  
  30. INFOTYPES: 0000, 0001, 0002, 0006, 2006.
  31.  
  32.  
  33.  
  34. NODES: peras.
  35.  
  36.  
  37.  
  38. TABLES: pernr, pa0000, pa0002, pa2006, ptquoded.
  39.  
  40.  
  41.  
  42. TYPE-POOLS: slis.
  43.  
  44.  
  45. ************************************************************************
  46.  
  47.  
  48. **> Parametry selekcji
  49. SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.
  50.  
  51. **> Wybór układu wyświetlania ALV
  52. PARAMETER: p_var TYPE slis_vari.
  53.  
  54. SELECTION-SCREEN END OF BLOCK bl1.
  55.  
  56.  
  57. ************************************************************************
  58.  
  59.  
  60. **> Deklaracje ALV
  61.  
  62. **> Tabela z danymi do wyświetlania
  63. TYPES: BEGIN OF str_data_container,
  64.  
  65.          pernr LIKE pa0000-pernr,   "Numer osobowy
  66.  
  67.          vorna LIKE pa0002-vorna,   "Imie pracownika
  68.  
  69.          nachn LIKE pa0002-nachn,   "Nazwisko pracownika
  70.  
  71.          begda LIKE pa2006-begda,   "Poczatek ważności
  72.  
  73.          endda LIKE pa2006-endda,   "Koniec ważności
  74.  
  75.          anzhl LIKE pa2006-anzhl,   "Dostępna wartość zmniejszenia
  76.  
  77.          kverb LIKE pa2006-kverb,   "Wielkosc zmniejszenia
  78.  
  79.          quosu LIKE pa2006-kverb,   "Wielkosc zmniejszenia w ptquoded
  80.  
  81.          kvqus LIKE pa2006-kverb,
  82.  
  83.          ktart LIKE pa2006-ktart,   "Kod typu nieobecnosci
  84.  
  85.          ktext LIKE t556b-ktext,    "Opis typu nieobecnosci
  86.  
  87.          quonr LIKE pa2006-quonr,   "Numer limitu
  88.  
  89.        END OF str_data_container.
  90.  
  91.  
  92. **> Deklaracja tabeli na dane alv
  93. DATA : tab_data_container TYPE STANDARD TABLE OF str_data_container,
  94.  
  95.        wa_data_container  TYPE str_data_container.
  96.  
  97.  
  98. **> Deklaracja tabeli przechowującej tymczasowe dane z pozycji zmniejszenia
  99. DATA : tab_ptquoded TYPE STANDARD TABLE OF ptquoded,
  100.  
  101.        wa_ptquoded  LIKE LINE OF tab_ptquoded.
  102.  
  103.  
  104. **> Deklaracja tabeli przechowującej tymczasowe dane z inft2006.
  105. DATA : tab_2006 TYPE STANDARD TABLE OF p2006,
  106.  
  107.        wa_2006  LIKE LINE OF tab_2006.
  108.  
  109.  
  110. **> Deklaracja tabeli na dane tymczasowe
  111. DATA : tab_0002 TYPE STANDARD TABLE OF p0002,
  112.  
  113.        wa_0002 LIKE LINE OF tab_0002.
  114.  
  115.  
  116. **> Deklaracja tabeli do wyciągnięcia opisów nieobecnosci
  117. DATA : tab_t556b TYPE STANDARD TABLE OF t556b,
  118.  
  119.        wa_t556b  LIKE LINE OF tab_t556b.
  120.  
  121.  
  122. **>Zmienna do naliczania pozycji nieobecnosci z ptquoted
  123. DATA : quode_sum TYPE p LENGTH 10 DECIMALS 5.
  124.  
  125.  
  126. **> Deklaracja obiektu tabeli ALV (Grid)
  127. DATA : gr_table TYPE REF TO cl_salv_table.
  128.  
  129.  
  130. **> Deklaracje dla obiektu ustawień układu(Layout Settings)
  131. DATA : gr_layout     TYPE REF TO cl_salv_layout,
  132.  
  133.        gr_layout_key TYPE salv_s_layout_key.
  134.  
  135.  
  136. **> Deklaracja obiektu dla obsługi zdarzeń (Events handling)
  137. CLASS : lcl_handle_events DEFINITION DEFERRED.
  138.  
  139. DATA  : gr_events TYPE REF TO lcl_handle_events.
  140.  
  141.  
  142. ************************************************************************
  143.  
  144.  
  145. **> Deklaracje zmiennych globalnych
  146. DATA: gv_page_cnt      TYPE i.
  147.  
  148. DATA: gv_message(100)  TYPE c.
  149.  
  150.  
  151. ************************************************************************
  152.  
  153.  
  154. **> Obsługa wczytywania wcześniej zapisanych wariantów wyświetlania
  155. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
  156.  
  157.   DATA: ls_layout      TYPE salv_s_layout,
  158.  
  159.         lt_layout_info TYPE salv_t_layout_info.
  160.  
  161.  
  162.   TRY.
  163.  
  164.       cl_salv_table=>factory(
  165.  
  166.             EXPORTING list_display = if_salv_c_bool_sap=>false
  167.  
  168.             IMPORTING r_salv_table = gr_table
  169.  
  170.             CHANGING t_table = tab_data_container ).
  171.  
  172.     CATCH cx_salv_msg .
  173.  
  174.   ENDTRY.
  175.  
  176.   IF gr_table IS NOT INITIAL.
  177.  
  178.     gr_layout_key-report = sy-repid.
  179.  
  180.     gr_layout = gr_table->get_layout( ).
  181.  
  182.     gr_layout->set_key( gr_layout_key ).
  183.  
  184. **> Pobranie wcześniej zapisanych układów raportu
  185.     lt_layout_info = gr_layout->get_layouts( ).
  186.  
  187.     IF lt_layout_info[] IS NOT INITIAL.
  188.  
  189. **> Aktywacja klawisza F4 dla pomocy wyszukiwania układów
  190.       ls_layout = gr_layout->f4_layouts( ).
  191.  
  192.       IF ls_layout IS NOT INITIAL.
  193.  
  194.         MOVE ls_layout-layout TO p_var.
  195.  
  196.       ENDIF.
  197.  
  198.     ENDIF.
  199.  
  200.   ENDIF.
  201.  
  202.  
  203. ************************************************************************
  204.  
  205.  
  206. START-OF-SELECTION.
  207.  
  208.  
  209. ************************************************************************
  210.  
  211.  
  212. **> Selekcja i przetwarzanie danych
  213. GET peras.
  214.  
  215.  
  216.   CONCATENATE 'Przetwarzanie pracownika' peras-pernr INTO gv_message SEPARATED BY space.
  217.  
  218.   CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
  219.     EXPORTING
  220.       percentage = 100
  221.       text       = gv_message
  222.     EXCEPTIONS
  223.       OTHERS     = 1.
  224.  
  225.   PERFORM get_data.
  226.  
  227. ************************************************************************
  228.  
  229.  
  230. END-OF-SELECTION.
  231.  
  232.   PERFORM prepare_report.
  233.  
  234.   PERFORM set_report_header.
  235.  
  236.   PERFORM set_report_footer.
  237.  
  238.   PERFORM adjust_columns.
  239.  
  240.   PERFORM handle_events.
  241.  
  242.   PERFORM display_report.
  243.  
  244.  
  245. **********************************************************************
  246.  
  247.  
  248. *&---------------------------------------------------------------------*
  249.  
  250. *&      Form  GET_DATA
  251.  
  252. *&---------------------------------------------------------------------*
  253.  
  254. * Pobranie danych raportu
  255.  
  256. *----------------------------------------------------------------------*
  257.  
  258. FORM get_data.
  259.  
  260.   LOOP AT p2006 INTO wa_2006.
  261.  
  262.     CLEAR quode_sum.
  263.     CLEAR tab_ptquoded[].
  264.     CLEAR wa_ptquoded.
  265.  
  266. **>Pobieranie danych z tabeli quode dla odpowiedniego numeru limitu nieobecnosci
  267.     SELECT * FROM ptquoded INTO wa_ptquoded WHERE quonr = wa_2006-quonr AND pernr = wa_2006-pernr.
  268.       APPEND wa_ptquoded TO tab_ptquoded.
  269.       CLEAR wa_ptquoded.
  270.     ENDSELECT.
  271.  
  272. **>sumowanie pozycji zmniejszenia
  273.     LOOP AT tab_ptquoded INTO wa_ptquoded.
  274.       quode_sum = quode_sum + wa_ptquoded-quode.
  275.     ENDLOOP.
  276.  
  277. **>Jeśli sie nie zgadza
  278.     IF quode_sum NE 0 AND quode_sum NE wa_2006-kverb.
  279.  
  280. **>Wielkosc zmniejszenia w qtquoded
  281.       wa_data_container-quosu = quode_sum.
  282.  
  283.  
  284. **>Roznica zmniejszeń w p2006 i ptquoted
  285.       wa_data_container-kvqus = wa_2006-kverb - quode_sum.
  286.  
  287.  
  288. **>Pobranie imie i nazwisko
  289.       LOOP AT p0002 INTO wa_0002.
  290.         IF wa_0002-pernr = wa_2006-pernr.
  291.           wa_data_container-vorna = wa_0002-vorna.
  292.           wa_data_container-nachn = wa_0002-nachn.
  293.         ENDIF.
  294.       ENDLOOP.
  295.  
  296. **>Pobieranie opisu typu nieobecności
  297.       SELECT * FROM t556b INTO wa_t556b WHERE ktart = wa_2006-ktart.
  298.         wa_data_container-ktext = wa_t556b-ktext.
  299.       ENDSELECT.
  300.  
  301. **>Wysłanie danych do alv
  302.       MOVE-CORRESPONDING wa_2006 TO wa_data_container.
  303.       APPEND wa_data_container TO tab_data_container.
  304.       CLEAR wa_data_container.
  305.     ENDIF.
  306.  
  307.   ENDLOOP.
  308.  
  309.   CLEAR wa_2006.
  310.  
  311. ENDFORM.                    "get_data
  312.  
  313.  
  314.  
  315. *&---------------------------------------------------------------------*
  316.  
  317. *&      Form  PREPARE_REPORT
  318.  
  319. *&---------------------------------------------------------------------*
  320.  
  321. * Przygotowanie układu raportu ALV
  322.  
  323. *----------------------------------------------------------------------*
  324.  
  325. FORM prepare_report.
  326.  
  327.   DATA: lr_functions TYPE REF TO cl_salv_functions_list,
  328.  
  329.         lr_display   TYPE REF TO cl_salv_display_settings.
  330.  
  331.  
  332. **> Utworzenie obiektu listy ALV
  333.   TRY.
  334.  
  335.       cl_salv_table=>factory(
  336.  
  337.             EXPORTING list_display = if_salv_c_bool_sap=>false
  338.  
  339.             IMPORTING r_salv_table = gr_table
  340.  
  341.             CHANGING t_table = tab_data_container ).
  342.  
  343.     CATCH cx_salv_msg .
  344.  
  345.   ENDTRY.
  346.  
  347.  
  348. **> Ustawienie układu wyświetlania ALV (wariant)
  349.   gr_layout_key-report = sy-repid.
  350.  
  351.   gr_layout = gr_table->get_layout( ).
  352.  
  353.   gr_layout->set_key( gr_layout_key ).
  354.  
  355.   gr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
  356.  
  357.   IF p_var IS INITIAL.
  358.  
  359.     gr_layout->set_default( if_salv_c_bool_sap=>true ).
  360.  
  361.   ELSE.
  362.  
  363.     gr_layout->set_initial_layout( p_var ).
  364.  
  365.   ENDIF.
  366.  
  367.  
  368. **> Aktywacja wszystkich funkcji ALV (przycisków)
  369.   lr_functions = gr_table->get_functions( ).
  370.  
  371.   lr_functions->set_all( if_salv_c_bool_sap=>true ).
  372.  
  373.  
  374. **> Globalne ustawienia wyświetlania ALV
  375.   lr_display = gr_table->get_display_settings( ).
  376.  
  377.   lr_display->set_striped_pattern( cl_salv_display_settings=>true ).
  378.  
  379. ENDFORM.                    "prepare_report
  380.  
  381.  
  382.  
  383. *&---------------------------------------------------------------------*
  384.  
  385. *&      Form  ADJUST_COLUMNS
  386.  
  387. *&---------------------------------------------------------------------*
  388.  
  389. * Ustawienie sposobu wyświetlania kolumn raportu
  390.  
  391. *----------------------------------------------------------------------*
  392.  
  393. FORM adjust_columns.
  394.  
  395. **> Deklaracja obiektu dla kolumn ALV (Columns)
  396.   DATA : lr_columns    TYPE REF TO cl_salv_columns_table,
  397.  
  398.          lr_column     TYPE REF TO cl_salv_column_table,
  399.  
  400.          lt_column_ref TYPE salv_t_column_ref,
  401.  
  402.          ls_column_ref TYPE salv_s_column_ref.
  403.  
  404.  
  405. **> Kolorowanie kolumn
  406.   DATA : lt_colo TYPE STANDARD TABLE OF lvc_s_colo,
  407.  
  408.          ls_colo TYPE lvc_s_colo.
  409.  
  410.  
  411. **> Struktury dla kolorów kolumn
  412.   DATA : lt_color TYPE lvc_t_scol,
  413.  
  414.          ls_color TYPE lvc_s_scol.
  415.  
  416.  
  417.   DATA: color TYPE lvc_s_colo.
  418.  
  419.  
  420.   IF gr_table IS NOT INITIAL.
  421.  
  422.     lr_columns = gr_table->get_columns( ).
  423.  
  424.  
  425.     TRY.
  426.  
  427.         lr_column ?= lr_columns->get_column( 'PERNR' ).
  428.  
  429.         color-col = '5'.
  430.  
  431.         color-int = '1'.
  432.  
  433.         color-inv = '1'.
  434.  
  435.         lr_column->set_color( color ).
  436.  
  437. *- Catch the Exceptions
  438.       CATCH cx_salv_not_found.                          "#EC NO_HANDLER
  439.  
  440.     ENDTRY.
  441.  
  442.  
  443.     TRY.
  444.  
  445.         lr_column ?= lr_columns->get_column( 'NACHN' ).
  446.  
  447.         lr_column->set_long_text( 'Nazwisko pracownika' ).
  448.  
  449.         lr_column->set_medium_text( 'Nazwisko prac.' ).
  450.  
  451.         lr_column->set_short_text( 'Nazwisko' ).
  452.  
  453. *- Catch the Exceptions
  454.       CATCH cx_salv_not_found.                          "#EC NO_HANDLER
  455.  
  456.     ENDTRY.
  457.  
  458.  
  459.     TRY.
  460.  
  461.         lr_column ?= lr_columns->get_column( 'KVERB' ).
  462.  
  463.         lr_column->set_long_text( 'Wielkosc zmniejszenia w p2006' ).
  464.  
  465.         lr_column->set_medium_text( 'Zmniejszenie w p2006' ).
  466.  
  467.         lr_column->set_short_text( 'w p2006.' ).
  468.  
  469. *- Catch the Exceptions
  470.       CATCH cx_salv_not_found.                          "#EC NO_HANDLER
  471.  
  472.     ENDTRY.
  473.  
  474.  
  475.     TRY.
  476.  
  477.         lr_column ?= lr_columns->get_column( 'ANZHL' ).
  478.  
  479.         lr_column->set_long_text( 'Pole zmniejszenie' ).
  480.  
  481.         lr_column->set_medium_text( 'zmniejszenie' ).
  482.  
  483.         lr_column->set_short_text( 'zmn.' ).
  484.  
  485. *- Catch the Exceptions
  486.       CATCH cx_salv_not_found.                          "#EC NO_HANDLER
  487.  
  488.     ENDTRY.
  489.  
  490.  
  491.     TRY.
  492.  
  493.         lr_column ?= lr_columns->get_column( 'KVQUS' ).
  494.  
  495.         lr_column->set_long_text( 'ROZNICA KV I QU' ).
  496.  
  497.         lr_column->set_medium_text( 'Roznica' ).
  498.  
  499.         lr_column->set_short_text( 'Rozn.' ).
  500.  
  501. *- Catch the Exceptions
  502.       CATCH cx_salv_not_found.                          "#EC NO_HANDLER
  503.  
  504.     ENDTRY.
  505.  
  506.  
  507.     TRY.
  508.  
  509.         lr_column ?= lr_columns->get_column( 'QUOSU' ).
  510.  
  511.         lr_column->set_long_text( 'Wielkosc/suma zmniejszenia w ptquoded' ).
  512.  
  513.         lr_column->set_medium_text( 'ptquoded' ).
  514.  
  515.         lr_column->set_short_text( 'w ptq.' ).
  516.  
  517. *- Catch the Exceptions
  518.       CATCH cx_salv_not_found.                          "#EC NO_HANDLER
  519.  
  520.     ENDTRY.
  521.  
  522.  
  523.  
  524.     lr_columns->set_optimize( if_salv_c_bool_sap=>true ).
  525.  
  526.     lr_columns->set_key_fixation( if_salv_c_bool_sap=>true ).
  527.  
  528.   ENDIF.
  529.  
  530. ENDFORM.                    "adjust_columns
  531.  
  532.  
  533.  
  534. *&---------------------------------------------------------------------*
  535.  
  536. *&      Form  SET_REPORT_HEADER
  537.  
  538. *&---------------------------------------------------------------------*
  539.  
  540. * Nagłówek raportu
  541.  
  542. *----------------------------------------------------------------------*
  543.  
  544. FORM set_report_header.
  545.  
  546.   DATA : lr_grid  TYPE REF TO cl_salv_form_layout_grid,
  547.  
  548.          lr_text  TYPE REF TO cl_salv_form_text,
  549.  
  550.          lr_label TYPE REF TO cl_salv_form_label,
  551.  
  552.          lr_flow  TYPE REF TO cl_salv_form_layout_flow,
  553.  
  554.          lr_head  TYPE string.
  555.  
  556.  
  557.   CREATE OBJECT lr_grid.
  558.  
  559.  
  560.   lr_grid->add_row( ).
  561.  
  562.   lr_label = lr_grid->create_label( row = 1
  563.  
  564.                                     column = 1
  565.  
  566.                                     text = 'Nagłówek raportu' ).
  567.  
  568.  
  569.  
  570.   lr_flow = lr_grid->create_flow( row = 2  column = 1 ).
  571.  
  572.   lr_flow->create_label( text = 'Wykonał:' ).
  573.  
  574.   lr_flow = lr_grid->create_flow( row = 2  column = 2 ).
  575.  
  576.   lr_flow->create_text( text = sy-uname ).
  577.  
  578.  
  579.  
  580.   lr_flow = lr_grid->create_flow( row = 3  column = 1 ).
  581.  
  582.   lr_flow->create_label( text = 'Data:' ).
  583.  
  584.   lr_flow = lr_grid->create_flow( row = 3  column = 2 ).
  585.  
  586.   lr_flow->create_text( text = sy-datum ).
  587.  
  588.  
  589.  
  590.   gr_table->set_top_of_list( lr_grid ).
  591.  
  592. ENDFORM.                    "set_report_header
  593.  
  594.  
  595.  
  596. *&---------------------------------------------------------------------*
  597.  
  598. *&      Form  SET_REPORT_FOOTER
  599.  
  600. *&---------------------------------------------------------------------*
  601.  
  602. * Stopka raportu
  603.  
  604. *----------------------------------------------------------------------*
  605.  
  606. FORM set_report_footer.
  607.  
  608.   DATA : lr_grid TYPE REF TO cl_salv_form_layout_grid,
  609.  
  610.          lr_text TYPE REF TO cl_salv_form_text.
  611.  
  612.  
  613.  
  614.   gv_page_cnt = gv_page_cnt + 1.
  615.  
  616.  
  617.  
  618.   CREATE OBJECT lr_grid.
  619.  
  620.  
  621.  
  622.   lr_grid->add_row( ).
  623.  
  624.   lr_text = lr_grid->create_text( row = 1
  625.  
  626.                                   column = 1
  627.  
  628.                                   text = 'Strona:' ).
  629.  
  630.   lr_text = lr_grid->create_text( row = 1
  631.  
  632.                                   column = 2
  633.  
  634.                                   text = gv_page_cnt ).
  635.  
  636.  
  637.  
  638. **> Stopka widoczna tylko na wydruku
  639.  
  640.   gr_table->set_end_of_list_print( lr_grid ).
  641.  
  642. ENDFORM.                    "set_report_footer
  643.  
  644.  
  645.  
  646. *&---------------------------------------------------------------------*
  647.  
  648. *&      Form  DISPLAY_REPORT
  649.  
  650. *&---------------------------------------------------------------------*
  651.  
  652. * Wyświetlenie raportu za pomocą tabeli ALV
  653.  
  654. *----------------------------------------------------------------------*
  655.  
  656. FORM display_report.
  657.  
  658. **> Wyświetlanie tabeli
  659.  
  660.   gr_table->display( ).
  661.  
  662. ENDFORM.                    "display_report
  663.  
  664.  
  665.  
  666. *&---------------------------------------------------------------------*
  667.  
  668. *&      Form  DISPLAY_DETAIL_FOR_FIELD
  669.  
  670. *&---------------------------------------------------------------------*
  671.  
  672. *
  673.  
  674. *----------------------------------------------------------------------*
  675.  
  676. FORM display_detail_for_field USING row column.
  677.  
  678.   IF column EQ 'PERNR'.
  679.  
  680.     READ TABLE tab_data_container INTO wa_data_container INDEX row.
  681.  
  682.     IF sy-subrc EQ 0.
  683.  
  684.       SET PARAMETER ID 'PER' FIELD wa_data_container-pernr.
  685.  
  686.       CALL TRANSACTION 'PA20' AND SKIP FIRST SCREEN.
  687.  
  688.     ENDIF.
  689.  
  690.   ENDIF.
  691.  
  692. ENDFORM.                    "display_detail_for_field
  693.  
  694.  
  695.  
  696. *&---------------------------------------------------------------------*
  697.  
  698. *&      CLASS lcl_handle_events DEFINITION
  699.  
  700. *&---------------------------------------------------------------------*
  701.  
  702. * Definicja lokalnej klasy obsługi zdarzeń ALV
  703.  
  704. *----------------------------------------------------------------------*
  705.  
  706. CLASS lcl_handle_events DEFINITION.
  707.  
  708.   PUBLIC SECTION.
  709.  
  710.     METHODS: on_double_click
  711.  
  712.                   FOR EVENT double_click OF cl_salv_events_table
  713.  
  714.       IMPORTING row column.
  715.  
  716. ENDCLASS.                    "lcl_handle_events DEFINITION
  717.  
  718.  
  719.  
  720. *&---------------------------------------------------------------------*
  721.  
  722. *&      CLASS lcl_handle_events IMPLEMENTATION
  723.  
  724. *&---------------------------------------------------------------------*
  725.  
  726. * Implementacja lokalnej klasy obsługi zdarzeń ALV
  727.  
  728. *----------------------------------------------------------------------*
  729.  
  730. CLASS lcl_handle_events IMPLEMENTATION.
  731.  
  732.   METHOD on_double_click.
  733.  
  734.     PERFORM display_detail_for_field USING row column.
  735.  
  736.   ENDMETHOD.                    "on_double_click
  737.  
  738. ENDCLASS.                    "lcl_handle_events IMPLEMENTATION
  739.  
  740.  
  741.  
  742. *&---------------------------------------------------------------------*
  743.  
  744. *&      Form  HANDLE_EVENTS
  745.  
  746. *&---------------------------------------------------------------------*
  747.  
  748. * Ustawienie obsługi zdarzeń
  749.  
  750. *----------------------------------------------------------------------*
  751.  
  752. FORM handle_events.
  753.  
  754.   DATA: lr_events TYPE REF TO cl_salv_events_table.
  755.  
  756.  
  757.  
  758. **> Rejestracja zdarzeń
  759.  
  760.   lr_events = gr_table->get_event( ).
  761.  
  762.   CREATE OBJECT gr_events.
  763.  
  764.   SET HANDLER gr_events->on_double_click FOR lr_events.
  765.  
  766. ENDFORM.                    "handle_events
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement