ALV Event bei Cursorbewegung

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

ALV Event bei Cursorbewegung

Postby Hussein2103 » Fri Jun 03, 2011 12:01 pm

Hallo zusammen,

gibt es eine Methode oder ein Event das ausgelöst wird wenn im ALV-Grid der Cursor in den Zeilen rauf/runter bewegt wird?
Hussein2103
..
..
 
Posts: 20
Joined: Tue Nov 25, 2008 3:26 pm

Re: ALV Event bei Cursorbewegung

Postby Devran3367 » Fri Jun 10, 2011 8:01 am

Leider nein für was brauchst du das ?
Devran3367
..
..
 
Posts: 94
Joined: Mon May 03, 2010 7:37 pm

Re: ALV Event bei Cursorbewegung

Postby Hussein2103 » Fri Jun 10, 2011 12:13 pm

Moin,

zu den Sätzen im ALV sollen in einem darunter liegendem Fenster die dazugehörigen Texte (aus Auftrag/Lieferung/Bestellung/...) angezeigt werden. Bisherige Lösung erfordert eine F-Taste. Es wird die automatische Anzeige gewünscht sobald der Cursor die Zeile wechselt.
Hussein2103
..
..
 
Posts: 20
Joined: Tue Nov 25, 2008 3:26 pm

Re: ALV Event bei Cursorbewegung

Postby Linnea2424 » Fri Jun 10, 2011 12:33 pm

durch das bewegen des cursors wird kein event gefeuert. für solche fälle (kopfsicht oben und positionssicht unten) erstelle ich in der einzelnen zelle des kopf-alv einen button, der durch betätigen das pos-alv aktualisiert.
Linnea2424
..
..
 
Posts: 94
Joined: Thu Sep 21, 2006 3:10 pm

Re: ALV Event bei Cursorbewegung

Postby Ilja583 » Fri Jun 10, 2011 1:48 pm

Hallo Iridium,

solange du im "oberen" Bereich keine Eingabefelder hast, könntest du evtl. etwas probieren wie im folgenden Demoprogramm.
Einfach mal ausprobieren und den Cursor in eine Zeile stellen. Mit 1-2 sekündiger Verzögerung wird dann im unteren Fenster angezeigt auf welcher Zeile der Cursor steht. ( Es ginge auch mit noch kürzeren Abständen (etwa Zehntelsekunden) - aber dann nicht mehr mit dem einfachen Timercontrol )

ACHTUNG - es muss ein Dynpro 9000 angelegt werden mit einem Customcontrol namens "CONTAINER_9000" ( ohne Ablauflogik aber mit Folgescreen 0 )

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.  
  2.  
  3. DATA:   gcl_grid     TYPE REF TO cl_gui_alv_grid,
  4.         gcl_text     TYPE REF TO cl_gui_textedit,
  5.         gcl_timer    TYPE REF TO cl_gui_timer.
  6.  
  7. *----------------------------------------------------------------------*
  8. *       CLASS lcl_event_receiver DEFINITION
  9. *----------------------------------------------------------------------*
  10. CLASS lcl_event_receiver DEFINITION.
  11.   PUBLIC SECTION.
  12.     CLASS-METHODS: handle_timer_tick FOR EVENT finished OF cl_gui_timer.
  13. ENDCLASS.                    "lcl_event_receiver DEFINITION
  14.  
  15. *----------------------------------------------------------------------*
  16. *       CLASS lcl_event_receiver IMPLEMENTATION
  17. *----------------------------------------------------------------------*
  18. CLASS lcl_event_receiver IMPLEMENTATION.
  19.   METHOD handle_timer_tick.
  20. *    BREAK-POINT.
  21.     DATA: row TYPE i,
  22.           text_c TYPE text10,
  23.           text_s TYPE string.
  24. * Get selected row of grid
  25.     gcl_grid->get_current_cell(
  26.       IMPORTING
  27.         e_row     = row ).
  28. * Write row to text
  29.     WRITE row TO text_c.
  30.     CONCATENATE 'Row:' text_c INTO text_s.
  31.     gcl_text->set_textstream( text_s ).
  32.  
  33.     gcl_timer->run( ).  " Restart timer
  34.  
  35.  
  36.   ENDMETHOD.                    "handle_timer_tick
  37. ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
  38.  
  39.  
  40.   PERFORM build_objects.
  41.  
  42.  
  43.   gcl_timer->run( ).  " Start timer
  44.   CALL SCREEN 9000.
  45.  
  46.  
  47. *&---------------------------------------------------------------------*
  48. *&      Form  build_objects
  49. *&---------------------------------------------------------------------*
  50. FORM build_objects.
  51.  
  52.   DATA: repid TYPE syrepid,
  53.         dynnr TYPE sydynnr.
  54.   DATA: cl_custom   TYPE REF TO cl_gui_custom_container,
  55.         cl_splitter TYPE REF TO cl_gui_easy_splitter_container,
  56.  
  57.         t_t000 TYPE STANDARD TABLE OF t000 WITH NON-UNIQUE DEFAULT KEY.
  58.  
  59. * Customcontainer on screen 9000
  60.   repid = sy-repid.
  61.   dynnr = '9000'.
  62.   CREATE OBJECT cl_custom
  63.     EXPORTING
  64.       container_name = 'CONTAINER_9000'
  65.       repid          = repid
  66.       dynnr          = dynnr.
  67.  
  68. * Fill with easy splitter ( 50% - 50% split horizontally )
  69.   CREATE OBJECT cl_splitter
  70.     EXPORTING
  71.       parent = cl_custom.
  72.  
  73. * Grid in top_container
  74.   CREATE OBJECT gcl_grid
  75.     EXPORTING
  76.       i_parent = cl_splitter->top_left_container.
  77. * and fill with some data
  78.   SELECT *
  79.     INTO TABLE t_t000
  80.     FROM t000.
  81. * Some more lines
  82.     while lines( t_t000 ) < 100.
  83.       append LINES OF t_t000 to t_t000.
  84.     endwhile.
  85.   gcl_grid->set_table_for_first_display(
  86.     EXPORTING
  87.       i_structure_name              = 'T000'
  88.     CHANGING
  89.       it_outtab                     = t_t000 ).
  90.  
  91.  
  92. * Text in bottom container
  93.   CREATE OBJECT gcl_text
  94.     EXPORTING
  95.       parent = cl_splitter->bottom_right_container.
  96. * no input for this
  97.   gcl_text->set_readonly_mode( cl_gui_textedit=>true ).
  98.  
  99.  
  100.  
  101. * Timer
  102.   CREATE OBJECT gcl_timer.
  103. * 1 second delay
  104.   gcl_timer->interval = 1.
  105. * set handler
  106.   SET HANDLER lcl_event_receiver=>handle_timer_tick FOR gcl_timer.
  107.  
  108.  
  109. ENDFORM.                    "build_objects
GeSHi ©
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm

Re: ALV Event bei Cursorbewegung

Postby Ilja583 » Fri Jun 10, 2011 1:59 pm

Nachtrag - die Tabelle "T_T000" muss doch global definiert werden, sonst kommt es in bestimmten Situationen zu Kurzdumps.
Ilja583
.....
.....
 
Posts: 1372
Joined: Wed Jan 08, 2003 3:00 pm


Return to ABAP Objects®

Who is online

Users browsing this forum: No registered users and 12 guests