Checkbox aus ALV auslesen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Checkbox aus ALV auslesen

Beitrag von Bernd_2006 (ForumUser / 3 / 0 / 0 ) »
Hallo zusammen,

folgendes nervende Problem habe ich:
Ich nutze den Fkbst. REUSE_ALV_HIERSEQ_LIST_DISPLAY zur Anzeige meiner Tabelleneinträge.
Ich will nun vor jedem Eintrag ein Ankreuzfeld (Checkbox) haben mit dem der User verschiedene Einträge auswählen kann um diese weiterzuverarbeiten.

Zum einen habe ich die Möglichkeit ausprobiert über das Layout mit den Feldern ls_layout-box_fieldname = 'BOX'
und s_layout-box_tabname = 'ITAB1' eine Checkbox hinzuzufügen.
Dies hat auch gefunzt, allerdings schaffe ich es nicht die selektierten Tasten auszulesen:
Die Struktur rs_selfield in der Form
*********************************************
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
*********************************************
liefert mir ja nur einen TabIndex (den letzten) zurück.
Weiß jemand wie ich hier alle selektierten bekommen kann?

Mein zweiter Versuch war es ein eigenes Feld der internen Tabelle mitzugeben und dieses über den Fieldcatalog als
Checkbox zu definieren.
*********************************************
wa_fieldcat-fieldname = 'CHECK'.
wa_fieldcat-tabname = 'ITAB1'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-seltext_s = 'Check'.
wa_fieldcat-seltext_m = 'Checkb.'.
wa_fieldcat-seltext_l = 'Checkbox'.
*********************************************
Das Feld wird nun zwar angezeigt, allerdings kann ich es nicht verändern (obwohl edit = 'X').
Ich habe dies ebenfalls mit dem Fktbst. REUSE_ALV_LIST_DISPLAY ausprobiert, auch hier hatte ich keinen Erfolg.

Allerdings funktioniert die gleich e Programmierung in dem Fkbst. REUSE_ALV_GRID_DISPLAY!!! :?

Hat einer eine Idee voran das liegen könnte oder hat weiss eine andere Möglichkeit??

Vielen Dank und beste Grüße

Bernd

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


Re: Checkbox aus ALV auslesen

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
Bernd_2006 hat geschrieben:*********************************************
wa_fieldcat-fieldname = 'CHECK'.
wa_fieldcat-tabname = 'ITAB1'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-seltext_s = 'Check'.
wa_fieldcat-seltext_m = 'Checkb.'.
wa_fieldcat-seltext_l = 'Checkbox'.
*********************************************
Bei mir funktioniert das mit dem Feldkatalog. Im CALLBACK_USER_COMMAND
einfach über die interne Tabelle ITAB1 loopen. Das Feld CHECK ist mit 'X' gefüllt, wenn die Checkbox angeklickt wurde.
Gruß Hendrik

Beitrag von Bernd_2006 (ForumUser / 3 / 0 / 0 ) »
Hallo Hendrik,

wenn ich über den Feldkatalog gehe und ein eigenes Feld für die CHECKBOX in der internen Tabelle ITAB1 mitgebe habe ich das Problem bei den beiden Fkbst. REUSE_ALV_LIST_DISPLAY und REUSE_ALV_HIERSEQ_LIST_DISPLAY
dass das Feld zwar angezeigt wird aber nicht bearbeitet werden kann obwohl edit = X gesetzt ist. :-(

Allerdings funktioniert die gleiche Programmierung in dem Fkbst. REUSE_ALV_GRID_DISPLAY.

mit welchem hast du es ausprobiert???

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
Bernd_2006 hat geschrieben:Hallo Hendrik,

wenn ich über den Feldkatalog gehe und ein eigenes Feld für die CHECKBOX in der internen Tabelle ITAB1 mitgebe habe ich das Problem bei den beiden Fkbst. REUSE_ALV_LIST_DISPLAY und REUSE_ALV_HIERSEQ_LIST_DISPLAY
dass das Feld zwar angezeigt wird aber nicht bearbeitet werden kann obwohl edit = X gesetzt ist. :-(
Sorry, jetzt wo du mich mit der Nase drauf stöst, seh ich den Unterschied.

Nicht das Feld EDIT sonden das Feld INPUT muss beim REUSE_ALV_HIERSEQ_LIST_DISPLAY im Feldkatalog gesetzt werden.

Hier mal ein Codeschnipsle von mir für die Checkbox im Feldkatalog:

Code: Alles auswählen.

 
  CLEAR gw_fieldcat.
  gw_fieldcat-fieldname      = 'MARK'.
  gw_fieldcat-tabname       = g_tabname_header.
  gw_fieldcat-outputlen      = 3.  "Einwenig Platz für dei Checkbox
  gw_fieldcat-checkbox      = 'X'.
  gw_fieldcat-input             = 'X'.
  gw_fieldcat-datatype      = 'CHAR'.
  APPEND gw_fieldcat TO gt_fieldcat.
Gruß Hendrik

Beitrag von Bernd_2006 (ForumUser / 3 / 0 / 0 ) »
Hey Hendrik,

super jup genau das wars, vielen Dank!!! :P

Mich hat es halt verwundert warum es bei den ALV_GRID funktioniert und bei den normalen LIST_DISPLAY nicht.
Daher habe ich auch nicht ausprobiert im Feldkatlog noch andere Parameter mitzugeben.

Besten Dank!

Bernd

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
hi, habe genau das problem, was bei meinem vorgänger anscheinend
funktionierte...

hier meine source:
* create fieldcat
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZSDO'
CHANGING
ct_fieldcat = ct_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* Checkbox
LOOP AT ct_fieldcat INTO ls_fieldcat.
IF ls_fieldcat-fieldname EQ 'MARK'.
ls_fieldcat-edit = 'X'.
ls_fieldcat-checkbox = 'X'.
MODIFY ct_fieldcat FROM ls_fieldcat.
ENDIF.
ENDLOOP.

* create layout
cs_layout-grid_title = 'Set Display Objects:'.
cs_layout-no_toolbar = 'X'.
cs_layout-cwidth_opt = 'X'.
cs_layout-sel_mode = 'A'.
cs_layout-edit = 'X'.

kann zwar die checkbox ankreuzen/demarkieren. allerdings übernimmt er das nicht in die tabelle. habe auch schon die zweite spalte (einfacher String mit Text) editiert und geschaut ob der GEÄNDERTE text in der itab steht, aber nein. die änderungen werde nicht übernommen wieso?

mfg dawns

ps: das ganze spielt sich in einem modalen dialogfenster ab ;)... weiß nich obs da was zu beachten gibt... ?

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
dawns hat geschrieben: kann zwar die checkbox ankreuzen/demarkieren. allerdings übernimmt er das nicht in die tabelle. habe auch schon die zweite spalte (einfacher String mit Text) editiert und geschaut ob der GEÄNDERTE text in der itab steht, aber nein. die änderungen werde nicht übernommen wieso?
Die FuBa-ALV-Grids sind etwas zickig, was das zurückgeben der geänderten Werte angeht.
Entweder du verwendest den Funktionscode &DATA_SAVE (ich glaube es gehen auch andere Standardfunktionen, bin mir aber nicht sicher) um den Datentransport auszulösen oder du zwingst den ALV im CALLBACK_USER_COMMAND dazu die geänderten Daten rauszurücken.

Wie das geht? Ein Beispiel:

Code: Alles auswählen.

FORM callback_user_command_edit  USING p_ucomm LIKE sy-ucomm
                                       ps_selfield TYPE slis_selfield.

  DATA: l_ref_alv TYPE REF TO cl_gui_alv_grid,
        l_valid   TYPE c.

  CASE p_ucomm.
    WHEN 'OKAY'.
*     geänderte Daten zurückhohlen:
*     Referenz auf ALV hohlen
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = l_ref_alv.

*     Gibt die geänderte ITAB zurück
      CALL METHOD l_ref_alv->check_changed_data
        IMPORTING
          e_valid = l_valid.

*     Wenn der User etwas eingegeben hat was nicht valide ist, den FuBa
*     meckern lassen
      IF l_valid IS INITIAL.
        EXIT.
      ENDIF.
Gruß Hendrik

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
cool... das funktioniert sogar :)
danke ^^ ;)

aber das hatte ich bisher noch NIE! Habe sonst IMMER die Daten von einer tabelle automatisch richtig zurückbekommen...
naja nun weiß ich ja bescheit thx :)

Seite 1 von 1

Vergleichbare Themen

13
Antw.
9788
Views
ALV und CHECKBOX
von Nadine_2706 » 06.09.2011 14:25 • Verfasst in ABAP® für Anfänger
4
Antw.
2183
Views
Checkbox
von lisa » 12.09.2008 13:41 • Verfasst in ABAP® für Anfänger
3
Antw.
2398
Views
Checkbox
von MG1993 » 04.08.2014 16:08 • Verfasst in ABAP® für Anfänger
3
Antw.
3321
Views
Event für CheckBox im OO-ALV
von GreatEMU » 14.07.2011 09:25 • Verfasst in ABAP® Core
2
Antw.
2533
Views
TABLEVIEW mit Checkbox
von axcoma » 07.10.2005 11:09 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1786
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2328

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.

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1786
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2328

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 364
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 962
MS-Word als Editor
letzen Monat von tekko 1 / 4473