CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Benutzeroberflächen in SAP®-Systemen.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von Romaniac (Specialist / 150 / 50 / 23 ) »
Hallo zusammen,

ich habe 2 Container (horizontal geteil) mit jeweils einem SALV darin, wenn ich jetzt im oberen SALV einen Eintrag doppelklicke möchte ich im unteren SALV die zugehörige Zeile als ersten Eintrag sehen. Ich möchte aber nicht die Tabelle unten neu aufbauen sondern einfach nur anders positionieren, wie wenn man gescrollt hätte.

Ich habe das schon mal gemacht, finde es aber nicht mehr, auch nicht bei Google oder hier.

Vielen Dank für Tipps und Gruß,

Wolfgang
Geht nicht gibts nicht


Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von a-dead-trousers (Top Expert / 3758 / 142 / 983 ) »

Code: Alles auswählen.

LR_SALV_TABLE->GET_SELECTIONS( )->SET_CURRENT_CELL( ... )

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Romaniac

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von Romaniac (Specialist / 150 / 50 / 23 ) »
Vielen Dank, jetzt schreib ich mir das so auf dass ich es auch wieder finde...
Schönes Wochenende!

Folgende Benutzer bedankten sich beim Autor Romaniac für den Beitrag:
deejey

Geht nicht gibts nicht

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von deejey (Specialist / 362 / 101 / 31 ) »
Romaniac hat geschrieben:
23.07.2021 11:56
Vielen Dank, jetzt schreib ich mir das so auf dass ich es auch wieder finde...
Schönes Wochenende!
🤓

Ich könnte eine ganze Festplatte mit all den Notizen füllen die ich mir gemacht hatte und in den entscheidenden Momenten nie gefunden hab

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von Romaniac (Specialist / 150 / 50 / 23 ) »
Ganz funzt es doch noch nicht, der betreffende Eintrag im unteren SALV wird nur farblich markiert, scrollt aber nicht. Ich möchte halt dass der Eintrag ganz oben angezeigt wird, also hochgescrollt?
Geht nicht gibts nicht

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von a-dead-trousers (Top Expert / 3758 / 142 / 983 ) »
hmmm... Man benötigt einen Zugriff auf die Methode SET_SCROLL_INFO_VIA_ID von CL_GUI_ALV_GRID.

Da hab ich mir doch tatsächlich mal eine Hilfsmethode dafür geschrieben:

Code: Alles auswählen.

class ZCL_SALV_TOOL definition
  public
  inheriting from CL_SALV_CONTROLLER
  final
  create public .

public section.

  class-methods SET_SCROLL_INFO_VIA_ID
    importing
      !IR_SALV type ref to CL_SALV_TABLE
      !IS_COL type LVC_S_COL
      !IS_ROW type LVC_S_ROID
      !IT_ROWS type LVC_T_ROW .

ENDCLASS.

CLASS ZCL_SALV_TOOL IMPLEMENTATION.

METHOD SET_SCROLL_INFO_VIA_ID.
  DATA:
        lr_controller TYPE REF TO cl_salv_controller_model,
        lr_salv_grid_adapter TYPE REF TO cl_salv_grid_adapter,
        lr_grid        TYPE REF TO cl_gui_alv_grid.
*   Fullscreen Adapter (Down Casting)
  lr_controller ?= ir_salv->r_controller.
  lr_salv_grid_adapter ?= lr_controller->r_adapter.

*   Get the Grid
  lr_grid = lr_salv_grid_adapter->get_grid( ).

  lr_grid->set_scroll_info_via_id(
*          is_row_info =
      is_col_info = is_col
      is_row_no   = is_row
         ).

  lr_grid->set_selected_rows(
       it_index_rows            = it_rows
*              it_row_no                =
*              is_keep_other_selections =
         ).

ENDMETHOD.
ENDCLASS.
Wichtig ist "inheriting from CL_SALV_CONTROLLER" damit man einen Zugriff auf die internen Informationen vom SALV erhällt.

Cheers.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von Romaniac (Specialist / 150 / 50 / 23 ) »
Hey cool, vielen Dank! ich bilde mir ja ein das war damals auch nur eine einzige Anweisung... aber vielleicht trübt mich nur meine Erinnerung ;-)
Geht nicht gibts nicht

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von a-dead-trousers (Top Expert / 3758 / 142 / 983 ) »
Romaniac hat geschrieben:
23.07.2021 14:10
Hey cool, vielen Dank! ich bilde mir ja ein das war damals auch nur eine einzige Anweisung... aber vielleicht trübt mich nur meine Erinnerung ;-)
Im SALV trübt dich deine Erinnerung ganz sicher 😉
Im ALV ist es wie gesagt die Methode SET_SCROLL_INFO_VIA_ID.
Man kann auch über einen anderen Weg an das Grid rankommen (Irgendeiner von den REUSE_*-Bausteinen) aber das sind dann in Summe auch mindestens 2 Anweisungen 🙃
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: CL_SALV_TABLE --> beliebige Zeile als ersten Eintrag setzen

Beitrag von Romaniac (Specialist / 150 / 50 / 23 ) »
Stimmt, die SET_SCROLL_INFO_VIA_ID hab ich auch gefunden in meinen "Notizen" (Textdateien nach Thema sortiert zur schnelleren Suche).

Dann passt es ja, vielen Dank und jetzt endlich schönes Wochenende allen ;-)
Geht nicht gibts nicht

Seite 1 von 1

Über diesen Beitrag



ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Materialnotiz Button programmieren
vor 57 Minuten von black_adept 19 / 430
SAP Query Report Einkauf /Finanz
vor einer Stunde von wreichelt 5 / 33
Neue Lohnart anlegen
vor 2 Stunden von Kerstin 3 / 36

Vergleichbare Themen

Table View PMD Zeile nicht eingabebereit setzen
von Tgut » 01.08.2014 11:18
ersten und letzten Eintrag einer Tabelle selktieren
von reffi » 27.10.2007 14:12
FuBa zur Auslesung der ersten Zeile eines SapScripttextes
von miho » 25.03.2013 08:09
Salv Table - Layouts speichern
von JohnLocklay » 14.06.2019 11:33
Table / CTable : mehrspaltiger Eintrag
von fba9901 » 11.11.2014 15:19