Eigene Wertehilfe

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

Eigene Wertehilfe

Beitrag von dv88 (ForumUser / 13 / 0 / 0 ) »
in meinem Programm starte ich eine Selektion mit einem einzugebenden Werk und einem Material.
Wird bei der ALV Grid Anzeige dann ein bestimmter Button betätigt so öffnet sich ein Pop-Up Fenster in welches man einen Lagerort eingeben muss. Hier kann man sich die Wertehilfe für die Lagerorte anzeigen lassen. Problem ist nun, dass alle Lagerorte in der Liste der Wertehilfe angezeigt werden und ich nur die Lagerorte in der Wertehilfe haben möchte, die zu dem selektierten Material in dem selektierten Werk angelegt sind. Also quasi die Einträge aus der Tabelle MARD für das eingegebene Material und das eingegeben Werk. Kann mir hierbei jemand helfen? Fragen dürfen natürlich jederzeit gestellt werden 
Danke im Voraus für eure Hilfe!

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


Re: Eigene Wertehilfe

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Lösung durch Aufbau einer eigenen F4-Hilfe.

1. F4-Tabelle füllen

Code: Alles auswählen.

    data: ls_f4    TYPE lvc_s_f4,
             lt_f4    TYPE lvc_t_f4.

    ls_f4-fieldname = <fs_fcat>-fieldname.
    ls_f4-register = abap_true.
    ls_f4-getbefore = abap_true.
    INSERT ls_f4 INTO TABLE lt_f4.
2. F4-Events registrieren

Code: Alles auswählen.

CALL METHOD go_grid->register_f4_for_fields
      EXPORTING
        it_f4 = lt_f4.
3. Handlermethode

Defintion:

Code: Alles auswählen.

      handle_f4
        FOR EVENT onf4
        OF cl_gui_alv_grid
        IMPORTING e_fieldname e_fieldvalue es_row_no er_event_data
          et_bad_cells e_display.
Implementierung:

Zum Beispiel mit Baustein F4IF_INT_TABLE_VALUE_REQUEST
Wichtig, am Ende:

Code: Alles auswählen.

field-symbols: <lt_modi>  TYPE lvc_t_modi,
                   <ls_modi>  TYPE lvc_s_modi.
      ASSIGN er_event_data->m_data->* TO <lt_modi>.
      APPEND INITIAL LINE TO <lt_modi> ASSIGNING <ls_modi>.
      <ls_modi>-row_id     = es_row_no-row_id.
      <ls_modi>-fieldname  = e_fieldname.
      <ls_modi>-value = lv_value.
      er_event_data->m_event_handled = abap_true.
4. Handler registrieren

Code: Alles auswählen.

SET HANDLER gcl_event_handler=>handle_f4 FOR go_grid.

Re: Eigene Wertehilfe

Beitrag von dv88 (ForumUser / 13 / 0 / 0 ) »
Danke für die schnelle Antwort! :)
Habe es so eingebaut und bekomme auch keine Fehler aber es wird nicht aufgerufen. Habe es mit dem Debbuger getestet aber er macht es nicht :(
Er zeit immernoch die komplette Wertehilfe für alle Lagerorte an die es gibt.
Aber ich möchter nur die Lagerorte aus der Tabelle MARD für die eingegebene Materialnummer und das eingegeben Werk wo kein Löschkennzeichen für den Lagerort vorhanden ist.

...
PARAMETERS: p_matnr TYPE mara-matnr OBLIGATORY.
SELECT-OPTIONS: s_werks FOR marc-werks
...

Re: Eigene Wertehilfe

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Geht er denn wenigstens erstmal in den Handler rein? Wenn nicht, dann liegt da das Problem.

Bei mir sieht das so aus. Nach dem Aufruf von SET_TABLE_FOR_FIRST_DISPLAY

Code: Alles auswählen.

* F4-Hilfe
    PERFORM build_f4_table_for_alv USING gt_fcat
                                CHANGING lt_f4.
    CALL METHOD go_data_0300->register_f4_for_fields
      EXPORTING
        it_f4 = lt_f4.

    SET HANDLER gcl_event_handler=>handle_f4 FOR go_data_0300.
Und die Klasse dazu:

Code: Alles auswählen.

CLASS gcl_event_handler DEFINITION.

  PUBLIC SECTION.
    CLASS-METHODS:

      handle_f4
        FOR EVENT onf4
        OF cl_gui_alv_grid
        IMPORTING e_fieldname e_fieldvalue es_row_no er_event_data
          et_bad_cells e_display.

ENDCLASS.                    "gcl_event_handler DEFINITION

CLASS gcl_event_handler IMPLEMENTATION.

  METHOD handle_f4.

    break-point.
  ENDMETHOD.                                                "handle_f4

ENDCLASS.                    "gcl_event_handler IMPLEMENTATION

Re: Eigene Wertehilfe

Beitrag von dv88 (ForumUser / 13 / 0 / 0 ) »
Hey,

kurze Frage: Wie sieht denn deine FORM build_f4_table_for_alv aus?

Mfg

Re: Eigene Wertehilfe

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »

Code: Alles auswählen.

    ls_f4-fieldname = <fs_fcat>-fieldname.
    ls_f4-register = abap_true.
    ls_f4-getbefore = abap_true.
    INSERT ls_f4 INTO TABLE lt_f4.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1930
Views
Wertehilfe
von svenit » 18.07.2007 15:50 • Verfasst in ABAP® für Anfänger
8
Antw.
7348
Views
Wertehilfe
von robin1at » 14.02.2006 11:49 • Verfasst in ABAP® für Anfänger
3
Antw.
1417
Views
Problem mit F4-Wertehilfe
von debianfan » 04.04.2018 14:19 • Verfasst in ABAP® für Anfänger
3
Antw.
5121
Views
ALV Grid Wertehilfe
von SAP_ENTWICKLER » 12.08.2013 07:51 • Verfasst in ABAP® Core
3
Antw.
2915
Views
Wertehilfe im ALV-Grid
von jokabi » 01.09.2014 16:35 • Verfasst in ABAP® für Anfänger

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