[cl_gui_alv_grid] Event ONF4 (Value Request)

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

[cl_gui_alv_grid] Event ONF4 (Value Request)

Beitrag von Arno Simon (ForumUser / 84 / 0 / 1 ) »
Moin Leuts.....

Mittels der Methode REGISTER_F4_FOR_FIELDS können einzelne Felder des Grids mit einer ValueRequest-Funktionalität versehen werden. Was ich nun, auch im SAP-System, suche, ist die Ausprägung des entsprechenden Event-Handlers, mit dem auch wieder Daten zurückgeliefert werden müssen (sonst wäre es ja kein ValueRequest ;) ).

Wenn Ihr da 'ne Kleinigkeit 'vorrätig' hättet, könnte ich damit schon'mal weitermachen. Mein System sucht sich hier schon seit 'ner dreiviertel Stunden einen Wolf.

Besten Dank im voraus.

vG

Arno

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


Beitrag von Arno Simon (ForumUser / 84 / 0 / 1 ) »
Kaum geschrieben, seh ich das Programm BCALV_GRID_F4_HELP aus dem Verwendungsnachweis kommen...... mal sehen, ob das was wird.

vG

Arno

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Das dazugehörige Event ist das "ONF4".

Hier mal ein kleines Beispiel, wo man über einen Kalender ein Datum sich aussucht.

Code: Alles auswählen.

****DEFINITION
*   Ereignis F4
    METHODS z_handle_onf4         FOR EVENT onf4
                                         OF cl_gui_alv_grid
                                  IMPORTING e_fieldname
                                            e_fieldvalue
                                            es_row_no
                                            er_event_data
                                            et_bad_cells
                                            e_display .

****IMPLEMENTATION
* Ereignis F4
  METHOD z_handle_onf4.

    FIELD-SYMBOLS: <itab> TYPE lvc_t_modi.
    DATA: ls_modi TYPE lvc_s_modi.
    DATA: l_datum TYPE sy-datum .

    CASE e_fieldname.
      WHEN 'NEW_EINDT'.
*       Lieferdatum setzen
        CLEAR z_datum .
        CALL FUNCTION 'F4_DATE'
             EXPORTING
                  date_for_first_month         = sy-datum
                  gregorian_calendar_flag      = 'X'
             IMPORTING
                  select_date                  = l_datum
             EXCEPTIONS
                  calendar_buffer_not_loadable = 1
                  date_after_range             = 2
                  date_before_range            = 3
                  date_invalid                 = 4
                  factory_calendar_not_found   = 5
                  holiday_calendar_not_found   = 6
                  parameter_conflict           = 7
                  OTHERS                       = 8.
        IF sy-subrc EQ 0.
*         So wird der Inhalt des Feldes geändert.
*         Irgendwo in den Unentlichen Weiten von SAP macht er das.
          ASSIGN er_event_data->m_data->* TO <itab>.
          ls_modi-row_id     = es_row_no-row_id.
          ls_modi-fieldname  = e_fieldname.
          ls_modi-value+0(2) = l_datum+6(2) . "Tag
          ls_modi-value+2(2) = l_datum+4(2) . "Monat
          ls_modi-value+4(4) = l_datum+0(4) . "Jahr
          APPEND ls_modi TO <itab>.
        ENDIF.
        er_event_data->m_event_handled = 'X' .

      WHEN OTHERS.

    ENDCASE.

  ENDMETHOD.
P.s.
Offizel ist das aber von SAP nicht freigegeben, wie eigentlich alles was mit dem editierbaren Grid zu tun hat.

Beitrag von Arno Simon (ForumUser / 84 / 0 / 1 ) »
Hallo DeathGuardian,
DeathGuardian hat geschrieben:Offizel ist das aber von SAP nicht freigegeben, wie eigentlich alles was mit dem editierbaren Grid zu tun hat.
hehe.... Die SAP hat so ziemlich mit den meisten Sachen die von denen geschrieben werden Probleme diese Frei zu geben. Wenn ich mir allein die FuBae ansehe, ist dort auch nur ein verschwindend geringer Bruchteil für den allgemeinen Gebrauch freigegeben :( ;)

An Dich aber meinen besten Dank für das kleine Beispiel :) Wenn es sich doch auf "nur" relativ wenig Code beschränkt (wie bei Dir zu sehen), sieht es schon etwas freundlicher aus :) Anhand des oben geposteten Reports habe ich schon einen erheblichen Arbeitsaufwand auf mich zukommen sehen, um die Werthilfe zu realisieren.

vG

Arno

Beitrag von Michael Bauer (ForumUser / 4 / 0 / 0 ) »
Hallo Arno,

Hier ein kurzes Beispiel, wie auch die Wertübergabe klappt.

DATA: lf_f4 TYPE lvc_s_f4.
DATA: lt_f4 TYPE lvc_t_f4.

*:--- Nach Fieldcatalog Merge
case lf_fcat-fieldname...
when 'DESCR'.
*:--- F4 Help available?
gf_fcpn-f4availabl = 'X'.
...
*:--- Hier beim Registrieren hinzufügen
*:--- Auruf F4 ermöglichen
lf_f4-fieldname = 'DESCR'. " Feldname
lf_f4-getbefore = 'X'.
lf_f4-chngeafter = 'X'. " :!:
APPEND lf_f4 TO lt_f4.
CALL METHOD hnd_grid_pn->register_f4_for_fields
EXPORTING
it_f4 = lt_f4.

Hoffe das hilft!

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2606
Views
Event onf4 der Klasse cl_gui_alv_grid
von JohnLocklay » 03.08.2017 15:59 • Verfasst in ABAP® Core
17
Antw.
9227
Views
alv grid und event handle_data_changed
von hadde85 » 27.05.2008 10:10 • Verfasst in ABAP® für Anfänger
2
Antw.
3475
Views
Daten ändern mit dem ALV-Grid: Event-Problem
von Timo7 » 02.11.2006 10:45 • Verfasst in ABAP® Core
2
Antw.
3090
Views
ALV Grid: Abbrechen Verarbeitung in data_changed_finis event
von TomSd » 13.12.2007 10:08 • Verfasst in ABAP Objects®
4
Antw.
5398
Views
ALV-GRID delete button event abfangen
von fba9901 » 20.10.2014 17:54 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

ATC Finding in Smartforms
vor 2 Tagen von sap_enthusiast 2 / 312
LSMW-Problem
vor 4 Tagen von rob_abc 4 / 383

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

ATC Finding in Smartforms
vor 2 Tagen von sap_enthusiast 2 / 312
LSMW-Problem
vor 4 Tagen von rob_abc 4 / 383

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 71985
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 125002