gelöst ALV: Dropdown und F4 Hilfe


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

gelöst ALV: Dropdown und F4 Hilfe

Beitragvon Legxis » 11.07.2018, 17:12

Hallo,

ich habe einen CL GUI ALV GRID mit ein paar editierbaren Feldern. Dabei gibt es zwei Felder, die einen Dropdown haben. Allerdings benutzen diese Kürzel, daher würde ich gerne auch noch eine Wertehilfe einbauen (wenn man auf eine Spaltenzelle F4 drückt), allerdings weiß ich nicht, wie das geht und habe unzählig verschiedene Methoden online gefunden. Was ist die beste Methode und geht das denn überhaupt, wenn man auf derselben Zelle einen Dropdown hat?

Vielen Dank!
Ich bin dankbar für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
Specialist
 
Beiträge: 127
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 20 mal
Ich bin: Student/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: ALV: Dropdown und F4 Hilfe

Beitragvon a-dead-trousers » 11.07.2018, 17:36

Legxis hat geschrieben:... geht das denn überhaupt, wenn man auf derselben Zelle einen Dropdown hat?

Nein. Die beiden Funtionen schließen sich gegenseitig aus.
Du kannst aber deine (Lang-)Texte "alternativ" zu den Kürzeln anzeigen lassen.
Die Struktur für Dropdowns im ALV, LVC_S_DRAL, besitzt einen INT_VALUE (Schlüssel) und einen VALUE (Text in der Anzeige). Durch geschicktes hin- und herkopieren kann man das gleiche Verhalten erreichen wie bei einem Dropdown auf einem Dynpro. Aber mit "Standardmitteln" (z.B. Domänenfestwerte etc.) hab ich das bislang nicht geschafft. Das muss man leider alles selber programmieren :cry:
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

Für diese Nachricht hat a-dead-trousers einen Dank bekommen :
Legxis
a-dead-trousers
Top Expert
 
Beiträge: 3056
Registriert: 07.02.2011, 13:40
Dank erhalten: 756 mal
Ich bin: Entwickler/in

Re: ALV: Dropdown und F4 Hilfe

Beitragvon Legxis » 11.07.2018, 18:09

a-dead-trousers hat geschrieben:Du kannst aber deine (Lang-)Texte "alternativ" zu den Kürzeln anzeigen lassen.
Die Struktur für Dropdowns im ALV, LVC_S_DRAL, besitzt einen INT_VALUE (Schlüssel) und einen VALUE (Text in der Anzeige). Durch geschicktes hin- und herkopieren kann man das gleiche Verhalten erreichen wie bei einem Dropdown auf einem Dynpro. Aber mit "Standardmitteln" (Domänenfestwerte etc.) hab ich das bislang nicht geschafft, da muss man alles selber programmieren

Danke, das hat super geklappt! Jetzt werden im Dropdown die Texte angezeigt. Wenn man die Werte speichert werden diese zwar zu den Kürzeln umgewandelt, das ist aber ok so.

So war es vorher:
Code: Alles auswählen
FORM dropdown_table CHANGING alv_grid TYPE REF TO cl_gui_alv_grid.

  DATA: lt_dropdown TYPE lvc_t_drop WITH HEADER LINE,
        gs_f4 TYPE lvc_s_f4,
        gt_f4 TYPE lvc_t_f4.

  CLEAR gt_f4.
  gs_f4-fieldname  = 'Spaltenname'.
  gs_f4-register   = 'X'.
  gs_f4-getbefore  = 'X'.
  gs_f4-chngeafter = 'X'.
  APPEND gs_f4 TO gt_f4.

  CALL METHOD alv_grid->register_f4_for_fields
    EXPORTING
      it_f4 = gt_f4.

  lt_dropdown-handle = '1'.
  lt_dropdown-value = 'Kürzel'.
  APPEND lt_dropdown.

  ...

  CALL METHOD alv_grid->set_drop_down_table
    EXPORTING
      it_drop_down = lt_dropdown{}.

ENDFORM.

So ist es jetzt:
Code: Alles auswählen
FORM dropdown_table CHANGING alv_grid TYPE REF TO cl_gui_alv_grid.

  DATA: lt_dropdown TYPE lvc_t_dral WITH HEADER LINE,
        ls_dropdown TYPE lvc_s_dral,
        gs_f4 TYPE lvc_s_f4,
        gt_f4 TYPE lvc_t_f4.

  CLEAR gt_f4.
  gs_f4-fieldname  = 'Spaltenname'.
  gs_f4-register   = 'X'.
  gs_f4-getbefore  = 'X'.
  gs_f4-chngeafter = 'X'.
  APPEND gs_f4 TO gt_f4.

  CALL METHOD alv_grid->register_f4_for_fields
    EXPORTING
      it_f4 = gt_f4.

  ls_dropdown-handle = '1'.
  ls_dropdown-value = 'Text'.
  ls_dropdown-int_value = 'Kürzel'.
  APPEND ls_dropdown TO lt_dropdown.

  ...

  CALL METHOD alv_grid->set_drop_down_table
    EXPORTING
      it_drop_down_alias = lt_dropdown{}.

ENDFORM.
Ich bin dankbar für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
Specialist
 
Beiträge: 127
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 20 mal
Ich bin: Student/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Positionstypenverwendung im SD
vor 19 Minuten von SAP_ENTWICKLER 2 Antw.
Hilfe bei SQL Join
vor 11 Stunden von deejey 1 Antw.
Hilfe bei SQL Join
vor 17 Stunden von moo_jo 0 Antw.
LISTBOX: SELECTION-SCREEN
vor 2 Stunden von ewx 3 Antw.
Eine Message in der Taskleiste von alv ausgeben
vor 20 Stunden von ewx 4 Antw.

  Ähnliche Beiträge beta
ALV Dropdown Länge
04.07.2018, 16:13 von ewx 1 Antw.
Dropdown und Batch-Input....
19.08.2005, 16:29 von Gast 4 Antw.
Feld als Dropdown definieren
30.05.2007, 16:29 von Orlando80 0 Antw.
gelöst Dropdown Liste Debuggen
30.03.2017, 10:08 von erubadhron 10 Antw.
Editierbares REUSE_ALV_GRID_DISPLAY mit Dropdown-Spalten?
15.08.2008, 13:28 von Kadeux 0 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder