F4 Hilfe für ein ALV Feld

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

F4 Hilfe für ein ALV Feld

Beitrag von Manfred K. (ForumUser / 48 / 0 / 0 ) »
Hallo zusammen,

wie kann ich anstatt p_ddic die eigene interne Tabelle in die F4 Hilfe packen.

DATA: p_ddic TYPE salv_s_ddic_reference.

p_ddic-table = 'TVRO'.
p_ddic-field = 'VSART'.

lr_column ?= cr_columns->get_column( 'ZTERM' ).
lr_column->set_ddic_reference( p_ddic ).
lr_column->set_f4( if_salv_c_bool_sap=>true ).



Und zwar die Tabelle z_term vom FiBu:

DATA : z_term TYPE T052-ZTERM .

CALL FUNCTION 'FI_F4_ZTERM'
EXPORTING
I_KOART = ' '
I_ZTERM = ' '
I_XSHOW = ' '
I_ZTYPE = ' '
IMPORTING
E_ZTERM = z_term
EXCEPTIONS
NOTHING_FOUND = 1
OTHERS = 2



Danke vielmals.

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


Re: F4 Hilfe für ein ALV Feld

Beitrag von jocoder (Specialist / 345 / 3 / 103 ) »
Z_TERM ist eine einzelne Zahlungsbedingung, keine interne Tabelle.

Den Funktionsbaustein in einer Suchhilfe aufzurufen funktioniert ungefähr so:
Nach Instanzierung muss dem ALV-Grid mitgeteilt werden, welcher Felder eigene Eingabehilfen bekommen, und definierts ein Event-Handler für das F4-Event.

Code: Alles auswählen.

DATA(alv_grid) = NEW cl_gui_alv_grid( gui_container ).
alv_grid->set_table_for_first_display(
  CHANGING
     it_outtab = alv_grid_base_itab
     it_fieldcatalog = fieldcatalog ).
alv_grid->register_f4_for_fields(
  it_f4 = VALUE #(
    fieldname = 'ZTERM' register = abap_true ) ).
SET HANDLER me->input_help_event_listener FOR alv_grid.

Code: Alles auswählen.

METHOD input_help_event_listener.
   DATA: term_of_payment TYPE t052-zterm.
   CALL FUNCTION 'FI_F4_ZTERM'
      IMPORTING
        e_zterm = term_of_payment.
   " Übernahme Zahlungsbed. in interne Tabelle
  alv_grid_base_itab[ es_row_no-row_id ]-zterm = term_of_payment.
  alv_grid->refresh_table_display( ).
ENDMETHOD.

Re: F4 Hilfe für ein ALV Feld

Beitrag von Manfred K. (ForumUser / 48 / 0 / 0 ) »
Hallo jocoder , vielen Dank für deine Hilfe.

Ich arbeite mit SALV. Hier klappt es so nicht.
Zuletzt geändert von Manfred K. am 18.10.2022 10:34, insgesamt 1-mal geändert.

Re: F4 Hilfe für ein ALV Feld

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
Im SALV funktioniert das nur über eine DDIC-Referenz.
Damit das auch für eigene Datenfelder funktioniert brauchst du daher entweder ein Datenelement mit Domäne mit Festwerten bzw. mit einer Wertetabelle oder eine Suchhilfe. Beides muss in einer Struktur bzw. Tabelle eingebunden werden, damit die DDIC-Referenz im SALV korrekt funktioniert (siehe SET_DDIC_REFERENCE).
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

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2150
Views
Hilfe! Wie kann ich ein Feld 'splitten'?
von mamba » 19.02.2007 13:54 • Verfasst in ABAP® für Anfänger
4
Antw.
4470
Views
F4-Hilfe für nicht eingabebereites Feld
von MCMio » 19.04.2006 16:27 • Verfasst in Dialogprogrammierung
2
Antw.
2981
Views
Feld sperren, wenn in and. Feld gerade etwas eingegeben wird
von kbit100 » 18.07.2018 11:41 • Verfasst in ABAP® für Anfänger
0
Antw.
1494
Views
Setze EMARA Feld in Bapi bei IDOC Verarbeitung. Feld aber nachher leer
von Woelli » 12.02.2021 16:32 • Verfasst in ABAP® Core
0
Antw.
2290
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor 5 Tagen von DeathAndPain 8 / 2030
FUBA 'HR_INFOTYPES_OPERATION'
vor 5 Tagen von DeathAndPain 2 / 1208
Frage zur redefinierten Methode
vor einer Woche von ralf.wenzel 12 / 2437

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.