Slider

Etwas eigenwillig gelöst ist das SliderControl. Deswegen wird es auch kaum jemand kennen. Das SliderControl wird nicht in einen CustomContainer gesetzt, sondern mittels Positionsangabe direkt auf das Dynpro geschrieben.

Im folgenden implementieren wir das SliderControl direkt auf den Selektionsbildschirm. Er kann aber auch in jedes Dynpro eingebunden werden.

Screenshot

Coding

REPORT zzslidercontrol.
TYPE-POOLS cntl.

DATA first_call    TYPE c.
DATA value         TYPE i.
DATA slider_handle TYPE cntl_handle.

PARAMETERS p_value TYPE integer.


INITIALIZATION.
*** Init slider
  PERFORM init_slider.

AT SELECTION-SCREEN.
*** get slider value
  CALL FUNCTION ‚SLIDER_GET_VALUE‘
    EXPORTING
      handle = slider_handle
    IMPORTING
      value  = p_value.

START-OF-SELECTION.

*&———————————————————————*
*&      Form  init_slider
*&———————————————————————*
FORM init_slider.


  DATA: is_parent  TYPE i.

  CHECK first_call = space.
  first_call = ‚X‘.

*** get id of parent dynpro
  CALL FUNCTION ‚GUI_GET_PARENT_DYNPRO‘
    IMPORTING
      parent = is_parent
    EXCEPTIONS
      error  = 1
      OTHERS = 2.
  IF sy-subrc <> 0.
    MESSAGE i248(td) WITH ‚GUI_GET_PARENT_DYNPRO‘.          „#EC NOTEXT
    EXIT.
  ENDIF.

*** Create sliderControl
  CALL FUNCTION ‚SLIDER_CREATE‘
    EXPORTING
      owner_repid     = sy-cprog
      dynnr           = sy-dynnr
      left            = 2  “ Left position on Screen
      top             = 2  “ Top position on Screen
      min             = 1  “ Minimum value
      max             = 20 “ Maximum value
      additional_text = ‚ cm‘ „Metric
      tags            = ‚X‘ „Show min and max value
      tick_frequency  = 1   
      tick_small_step = ‚1‘
      parentid        = is_parent
    CHANGING
      handle          = slider_handle
    EXCEPTIONS
      OTHERS          = 2.

*** Set initial value
  CALL FUNCTION ‚SLIDER_SET_VALUE‘
    EXPORTING
      handle   = slider_handle
      value    = 5
      no_flush = ‚ ‚.

ENDFORM.                    „init_slider

 

image_pdfimage_print
Enno Wulff
follow me
Letzte Artikel von Enno Wulff (Alle anzeigen)