SALV - Problem mit der F4-Hilfe

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

SALV - Problem mit der F4-Hilfe

Beitrag von einar46 (ForumUser / 33 / 5 / 1 ) »
Hallo ABAP-Experten,

ich habe ein Problem, wo ich auch nach langem Suchen im Internet keine zufriedenstellende Lösung gefunden habe.
Ich habe einen ALV mit dem OO-ALV-Model (CL_SALV_TABLE) realisiert. Die Anzeige im ALV funktioniert soweit. Zu einigen Feldern (Spalten) des ALV gibt es F4-Hilfen (Festwerte über Domänen). Bei der ersten Anzeige des ALV sind die F4-Hilfen zu den entsprechenden Feldern vorhanden und zeigen auch den kompletten Wertevorrat an. Führe ich jetzt eine eigene Funktion im ALV aus (Status und eigener zusätzlicher Button), die die angezeigten Daten auch verändern kann, und kehre in den ALV zurück, sind die F4-Hilfen nicht mehr verfügbar. Ein Neustart des Programms zeigt die F4-Hilfen wieder an. Bei der Ausführung einer ALV-Standardfunktion bleiben die F4-Hilfen erhalten. Da werden aber auch keine Daten verändert.

Ich habe die Refresh-Funktion (refresh) im Verdacht, kann mir aber nicht erklären, was da falsch laufen soll.

Für einen Tipp, was die Ursache sein könnte, wäre ich sehr dankbar.

Gruß einar

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


Re: SALV - Problem mit der F4-Hilfe

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

wo werden deine Daten geändert - im ALV oder Absprung - Ändern - Rücksprung zu TA ? Wie sieht dein Refresh nach dem Ändern der daten aus (vielleicht kannst du das Coding posten) ?

Gruss
thanks Jens

Re: SALV - Problem mit der F4-Hilfe

Beitrag von einar46 (ForumUser / 33 / 5 / 1 ) »
Hallo Sali,
ich handle die eigene Funktion über ein Event ab, springe also nicht zu einer anderen Transaktion ab.

Code: Alles auswählen.

FORM alv_user_command
     USING    piv_function TYPE salv_de_function.

* Änderungsindex für die ALV-Anzeige
  CLEAR gv_changed.

* Funktionsauswahl
  gv_function = piv_function.
  CASE gv_function.
*----------------------------------------------------------------------
* Funktionen
*----------------------------------------------------------------------
    WHEN 'ZREFRESH'.
* ALV-Anzeige auffrischen
      PERFORM ucomm_data_refresh.
    WHEN 'ZBOOK'.
* Datensätze nachverarbeiten (buchen)
      PERFORM ucomm_data_book.
    WHEN 'ZDEL'.
* Datensätze aus der Protokolltabelle löschen
      PERFORM ucomm_data_delete.
    WHEN OTHERS.
      MESSAGE i000 WITH 'Unbekannte Programmfunktion'(n04).
      RETURN.
  ENDCASE.

* ALV-Anzeige auffrischen
  IF gv_changed IS NOT INITIAL.
    PERFORM alv_refresh.
  ENDIF.
ENDFORM. 

FORM alv_refresh.

* ALV-Anzeige auffrischen

* Spalten-Einstellungen setzen
  PERFORM alv_set_columns
          USING go_pri.

* Kopfzeilen setzen
  PERFORM alv_set_header
          USING go_pri.

  TRY.
      CALL METHOD go_pri->set_data
        CHANGING
          t_table = gt_pris.
    CATCH cx_salv_no_new_data_allowed.                  "#EC NO_HANDLER
  ENDTRY.

  go_pri->refresh(
    refresh_mode = if_salv_c_refresh=>full
  ).
ENDFORM.
Gruß einar

Re: SALV - Problem mit der F4-Hilfe

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

versuch mal vor dem neu Setzen der Daten das Layout zu holen und danach wieder zu setzen. Ich hatte mal ein ähnliches Problem als ich in einem SALV die Daten mit set_data neu gesetzt habe und habe das dann darum gebaut und danach sah es wieder gut aus. Ich weiss aber nicht, ob dies bei deinen F4 Problem nützt.

P.S. SALI - ist in Schweizer Gefilden eine Form der Begrüssung :) - abgeleitet wohl von Salute - aber genau weiss das keiner hier bei den Eidgenossen :D

Gruss
thanks Jens

Re: SALV - Problem mit der F4-Hilfe

Beitrag von einar46 (ForumUser / 33 / 5 / 1 ) »
Hallo Jens,
das mit dem Layout hat nicht geholfen.
Die Daten werden nach einer Änderung korrekt angezeigt. Das ist nicht das Problem.
Nur durch Zufall habe ich festgestellt, dass die F4-Hilfen verschwunden sind.
Das Programm funktioniert, aber...
Gruß einar

Re: SALV - Problem mit der F4-Hilfe

Beitrag von einar46 (ForumUser / 33 / 5 / 1 ) »
Hallo,
ich habe mal versucht das Problem weiter einzukreisen.
Wenn ich eine ALV-Standard-Funktion (Filterung, Sortierung usw) ausführe, bleiben die F4-Hilfen erhalten. Führe ich dagegen eine eigene Funktion, realisiert über einen eigenen Status, aus, sind die F4-Hilfen nicht mehr da. Selbst bei Datums- und Zeitfeldern fehlen die F4-Hilfen. Verfolgen kann man das auch über die "ALV-Geheimtaste" (Positionierung der Maus in einem freien ALV-Bereich und dann die Umschalt- und rechte Maustaste drücken). Dort kann man Informationen zum aktuellen Feldkatalog im Dialog einsehen. Im Feldkatalog gibt es eine Spalte F4AVAILABL, die Informationen über die F4-Hilfen enthält. Vor der Ausführung meiner eigenen Funktionen hat diese Spalte des Feldkatalogs das X an den entsprechenden Stellen. Nach meinen eigenen Funktionen ist diese Spalte vollkommen leer.

Wer löscht diese Spalte des Feldkatalogs?
Ist das ein SAP-Bug?

Ich habe immer noch den Refresh im Verdacht, kann mir das aber nicht richtig erklären...
Im Refresh, Coding siehe oben, habe ich den TRY entfernt, da set_data nur bei einer neuen Tabellen-Struktur erforderlich ist. Bei mir ist das aber nicht der Fall.
Zusätzlich setze ich über das Spalten-Objekt CL_SALV_COLUMNS_TABLE noch einige Attribute (technisch, vorerst nicht sichtbar, zentriert usw).
Die Kopfzeilen (Anzahl Zeilen) passe ich ebenfalls an, wenn Zeilen gelöscht wurden.

Das ist nichts weltbewegendes. Fachlich funktioniert das alles sauber, nur die F4-Hilfen sind nicht mehr da.

So als Idee: Könnte man den Feldkatalog vor Ausführung retten und dann wieder herstellen?
Wie müsste man das codingmäßig machen?

Die fehlenden F4-Hilfen sind zwar nur ein "Schönheitsfehler", den mancher User vielleicht nie entdeckt, aber mich als Entwickler nervt das maßlos, wenn ich ein Programm freigeben muss und ich vorher schon weiß, dass da etwas nicht sauber funktioniert.

Gruß einar

Re: SALV - Problem mit der F4-Hilfe

Beitrag von einar46 (ForumUser / 33 / 5 / 1 ) »
Hallo,
nach längerer Suche im Internet, auch in den OSS-Hinweisen von SAP, habe ich festgestellt, dass das beschriebene Problem ein SAP-Problem ist.
Nachvollziehen kann man das auch sehr schön in den Beispielprogrammen des Pakets SALV_OBJECTS.

In den nächsten Monaten wird bei uns in der Firma ein aktuelleres Release eingespielt, so dass der Fehler hoffentlich behoben sein sollte.
Ich bin gespannt...

Gruß einar

Re: SALV - Problem mit der F4-Hilfe

Beitrag von einar46 (ForumUser / 33 / 5 / 1 ) »
Hallo,
das aktuelle Release hat nichts gebracht. Der Fehler ist immer noch vorhanden.
Deshalb habe ich bei SAP einen OSS-Hinweis aufgemacht.
Nach langer Wartezeit und einigen Mails habe ich heute von SAP einen OSS-HInweis (0002080479 ALV-OM: F4-Hilfe Ikonen verschwinden beim Refresh eines Fullscreens) erhalten,
der mein Problem gelöst hat.
Gruß einar

Re: SALV - Problem mit der F4-Hilfe

Beitrag von andro (ForumUser / 1 / 0 / 0 ) »
Hallo,

der SALV-Table kann bei Columns die Eigenschaft "F4 is vorhanden" gesetzt werden.
So kann die Wertehilfe ein und ausgeschaltet werden.

Schaue bitte da nach, wo Du die Spalten behandelst, ob diese Eigenschaft gesetzt ist:

lt_fieldcat[ fieldname = 'FIELDVALUE' ]-f4availabl = con_true.

Im Übrigen ist SALV für Datenänderungen nicht freigegeben - vor allem wegen der Wertehilfe. (falls das noch aktuell ist). Ich nutze sie meistens als Info und blende bei Bedarf aus oder ein.
Manchmal ist sie überflüssig und nimmt nur platz weg.

PS: ABAP 7.4 ist oben

Seite 1 von 1

Vergleichbare Themen

7
Antw.
4159
Views
Problem mit eigener F4-Hilfe
von ralf.wenzel » 28.03.2006 09:10 • Verfasst in ABAP® Core
2
Antw.
1127
Views
SAP Netweaver 7.0 Installation PROBLEM HILFE
von beterman » 07.11.2011 15:43 • Verfasst in ABAP® für Anfänger
7
Antw.
5875
Views
SAP Netweaver 7.0 Installation PROBLEM HILFE
von beterman » 04.08.2011 14:11 • Verfasst in ABAP® für Anfänger
16
Antw.
7622
Views
ALV Grid: Problem mit "Cellstyle" und "F4-Hilfe"
von Steffen » 25.07.2018 10:56 • Verfasst in ABAP® Core
1
Antw.
913
Views
GUI_STATUS im SALV
von Abapanfänger » 27.01.2017 09:14 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.