ALV-Grid - Markierbuttons und cut&paste-funktionen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

ALV-Grid - Markierbuttons und cut&paste-funktionen

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Mein Problem:

Ich habe einen ALV-Grid (cl_gui_alv_grid) und möchte mit diesem die Standardfunktion zum "Ausschneiden" und die Markierspalte für Mehrfachselektion haben.
Diese ( und "Kopieren", und "Einfügen" ) werden mir aber nur angezeigt, wenn der ALV als editierbar bekannt gemacht ist.
Nun möchte ich aber nicht, dass mir irgend jemand die Tabelleneinträge verändert. Nur Ausschneiden soll erlaubt sein.

Bisher habe ich mir immer damit geholfen, die Tabelle um ein Feld zu erweitern, dieses als "TECH" zu definieren (damit es niemals angezeigt wird) und nur diese neue Dummyspalte editierbar zu machen.

Damit komme ich zwar zum Ziel - aber das Ganze muss doch auch natürlich gehen, ohne so einen Umweg.

Irgendwelche Tipps?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von mabri (ForumUser / 34 / 0 / 0 ) »
Hallo Stefan,

so wie ich deine Fragestellung verstanden habe, würde ich das Contextmenue und die entsprechenden Methoden verwenden.

Gruß
Manfred

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Hi Manfred,

das ist leider keine Lösung für mein Dilemma.
Erstens bekomme ich dadurch auch keine Markierbuttoms am linken Rand der Liste - und die "Standardfunktionalität" ist halt intuitiv benutzbar (wenn man schon andere ALVs gesehen hat).

live long and prosper
Stefan
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Joe ( / / 0 / 3 ) »
Hallo Stefan.

Eine Frage in diesem Zusammenhang hätte ich auch noch. Wenn Du nur Ausschneiden und Einfügen erlauben willst, dann können ja nur bereits bestehende Einträge dupliziert werden?! Was steckt da denn dahinter? Eigentlich möchte man doch wenigstens die neu eingefügten Einträge verändern können, oder?

Gruß


Joe

Beitrag von Gast ( / / 0 / 3 ) »
Hallo!

Für die Markierspalte musst du dem ALV-Grid die übergebene Layout-Struktur anpassen und dann übergeben.

Um bestimmte Buttons in der Toolbar ein- oder auszublenden, muss du eine weitere Struktur übergeben und zwar IT_TOOLBAR_EXCLUDING.

Beispiel:

Code: Alles auswählen.

DATA: GRID1       TYPE REF TO CL_GUI_ALV_GRID,  "ALV control,
      LAYOUT      TYPE LVC_S_LAYO,              "Layout Struktur
      "buttons, die augeblendet werden sollen
      LT_EXCL_FUNC  TYPE UI_FUNCTIONS.		

	
* meherer Zeilen können markiert werden.
LAYOUT-SEL_MODE   = 'D'.


*bestimmte buttons in der Toolbar ausblenden
*  APPEND CL_GUI_ALV_GRID=>MC_MB_VARIANT        TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_MB_FILTER         TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_MB_SUM            TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_MB_EXPORT         TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_MB_VIEW           TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_FC_PRINT          TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_FC_GRAPH          TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_FC_INFO           TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_FC_FIND           TO LT_EXCL_FUNC.
*  APPEND CL_GUI_ALV_GRID=>MC_FC_DETAIL         TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_CHECK          TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_REFRESH        TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_CUT        TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_COPY       TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_MB_PASTE          TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO       TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW TO LT_EXCL_FUNC.
  APPEND CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW   TO LT_EXCL_FUNC.


* grid-methode aufrufen, und strukturen übergeben
CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      IS_LAYOUT       = LAYOUT
      IT_TOOLBAR_EXCLUDING = LT_EXCL_FUNC
    CHANGING
      IT_FIELDCATALOG = IT_FIELDS "spalten
      IT_OUTTAB       = IT_Tabelle "gefüllte int. Tabelle
    ...

Ich hoff das Beispiel ist verständlich.

Beitrag von Joe ( / / 0 / 3 ) »
Hallo Stefan.

Der ALV muß auf editierbar gesetzt werden, die weitere Editierbarkeit muß dann auf Zeilenebene gesteuert werden.
Ich meine in der SE83 müßte das beschrieben sein (Editierbarkeit). Das Problem ist, daß die Default Einstellung für das Gesamtgrid gelten, d.h. du mußt das Gesamtgrid auf editierbar setzen, damit neu eingefügte Zeilen eingabebereit sind, dann aber die existierenden Zeilen nicht-edierbar setzen.

Gruß


Joe.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4582
Views
ALV Grid Funktionen bei Batch Input
von Larouso » 10.06.2008 18:04 • Verfasst in SAP - Allgemeines
4
Antw.
3376
Views
SAP Funktionen
von Yllana » 16.05.2007 20:48 • Verfasst in ABAP® für Anfänger
0
Antw.
1779
Views
ALV Funktionen
von BecomingAnAbapGuru » 08.02.2022 20:19 • Verfasst in ABAP® für Anfänger
3
Antw.
2498
Views
Excel: Fuba Funktionen
von Zubasa » 10.12.2010 08:55 • Verfasst in ABAP® für Anfänger
0
Antw.
4438
Views
Inaktive Funktionen im GUI-Status
von ewx » 25.08.2010 19:05 • Verfasst in Tips + Tricks & FAQs

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.