Funktionscode ALV, Zeichen ändern

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Funktionscode ALV, Zeichen ändern

Beitrag von BMWi801 (ForumUser / 20 / 3 / 0 ) »
Hallo guten Tag,

wie kann ich im Funktionscode einen Eintrag in der Klasse CL_SALV_TABLE ändern? Ich hab einen Button im GUI-Status hinzugefügt und wenn dieser ausgelöst wird, soll sich das Kennzeichen von ' ' auf 'x' und umgekehrt ändern.

Code: Alles auswählen.

CASE sy-ucomm.
    WHEN 'BUTTON'.
      IF itab-status = 'X'.
            itab-status = ' '.
      ELSEIF itab-status = ' ' .
            itab-status = 'x'.
      ENDIF.
  ENDCASE.
leider bin ich mir nicht sicher wie das funktionieren soll, bzw was für Funktionen ich alles brauche.

Grüße :)

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


Re: Funktionscode ALV, Zeichen ändern

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Hi.

Du brauchst vermutlich einen Eventhandler dafür, weil CL_SALV_TABLE eine Klasse ist.
Die Events sind beim CL_SALV_TABLE über die Methode GET_EVENT erreichbar. Wie man Event-Handler programmiert gibt es genug Beispiele im Netz und hier im Forum.

lg ADT

P.S.: Dein X im Coding ist zuerst groß- und dann kleingeschrieben. ABAP unterscheidet zwischen den beiden Varianten, wesshalb das Coding nur bis zum Setzen des kleingeschriebenen X funktionieren wird.

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

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.18
Basis: 7.50

Re: Funktionscode ALV, Zeichen ändern

Beitrag von lausek (ForumUser / 64 / 2 / 20 ) »
Mit

Code: Alles auswählen.

o_table->get_selections( )->get_selected_rows( )
Kannst du dir die Indizes der markierten Zeilen holen. Ab da machst du dann einfach den hier:

Code: Alles auswählen.

  LOOP AT i_index
    ASSIGNING FIELD-SYMBOL(<lfs_index>).
    ASSIGN i_data[ <lfs_index> ] TO FIELD-SYMBOL(<lfs_row>).

    IF <lfs_row>-status = 'X'.
      <lfs_row>-status = ' '.
    ELSE.
      <lfs_row>-status = 'X'.
    ENDIF.
  ENDLOOP.
oder wenn du ganz verrückt bist:

Code: Alles auswählen.

  LOOP AT i_index
    ASSIGNING FIELD-SYMBOL(<lfs_index>).
    ASSIGN i_data[ <lfs_index> ] TO FIELD-SYMBOL(<lfs_row>).
    <lfs_row>-status = boolc( <lfs_row>-status <> abap_true ).
  ENDLOOP.
Am Schluss dann gleich einmal aktualisieren:

Code: Alles auswählen.

o_table->refresh( ).

Folgende Benutzer bedankten sich beim Autor lausek für den Beitrag:
BMWi801


Seite 1 von 1

Vergleichbare Themen

9
Antw.
14329
Views
Funktionscode (GUI-Status)
von Charadin » 27.10.2005 16:35 • Verfasst in Dialogprogrammierung
4
Antw.
5065
Views
Funktionscode auslösen
von RiffRaff » 17.12.2004 12:14 • Verfasst in ABAP® Core
7
Antw.
4594
Views
Funktionscode im Batchlauf senden
von RiffRaff » 17.09.2007 11:30 • Verfasst in ABAP® Core
2
Antw.
2830
Views
TA: FD32 - Funktionscode nicht auswählbar
von stoi » 16.01.2006 15:24 • Verfasst in Financials
13
Antw.
1145
Views

Ü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.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1663
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8265