Zum Inhalt springen

[ABAP] F4-Hilfe für Textfeld mit Werten aus interner Tabelle füllen


Sturm

Empfohlene Beiträge

Hallo zusammen! :)

Ich bin ein Neuling in ABAP, daher weiß ich nicht wie fordernd meine Aufgabenstellung ist. Also verzeiht mir wenn es zu leicht ist, aber ich komme nicht drauf:

Ich habe eine Tabelle mit Vor- und Nachnamen von Personen (Vor- und Nachname sind dabei in unterschiedlichen Feldern)

Auf dem Selection Screen möchte ich ein Textfeld haben, das als gültige Werte nur <Vorname> <Nachname> aus dieser Tabelle zulässt. Aus diesem Grund erstelle ich zur Laufzeit eine interne Tabelle (ohne Kopfzeile) mit einem Attribut, in dem der Name in diesem Format gespeichert ist.


* Tabellentyp deklarieren

TYPES tspieler_typ TYPE STANDARD TABLE OF tspieler_zeile.


* Tabelle deklarieren

DATA tspieler TYPE tspieler_typ.


* Workarea deklarieren

DATA wa_tspieler TYPE tspieler_zeile.


* Workarea füllen

SELECT * FROM ZAZJFMDB.

    CONCATENATE ZAZJFMDB-VORNAME ZAZJFMDB-NACHNAME 

      INTO wa_tspieler-name SEPARATED BY ' '.

    APPEND wa_tspieler TO tspieler.

ENDSELECT
Wie kann ich nun meinem Textfeld den Inhalt dieser Tabelle als F4-Hilfe zuweisen?

SELECTION-SCREEN BEGIN OF LINE.

    [COLOR="Red"][B]PARAMETERS trName LIKE wa_tspieler-name.[/B][/COLOR] [I]funktioniert logischerweise nicht![/I]

SELECTION-SCREEN END OF LINE.

Hoffe auf schnelle Hilfe bzw. Tips wie man es besser machen kann :)

Gruß, Sturm

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Was mir jetzt auf die Schnelle einfällt ist der Zusatz MATCHCODE OBJECT mit dem du eine Suchhilfe zu dem Parameter angeben kannst (diese muss allerdings mittels SE11 angelegt werden) >>klick<<

Alternativ könntest du den Parameter auch als Listbox definieren und mittels eigenem Coding mit Werten befüllen. Hierzu: >>klack<<

Gruß,

Major.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Major!

Dankeschön für deine Antwort! Auf Matchcode Object bin ich bereits selbst gestoßen, konnte aber erstmal nichts mit dem "Anlegen der Suchhilfe" anfangen.

Die Alternative dazu hört sich aber sehr passend an, das werde ich auf jeden Fall mal am Dienstag auf der Arbeit ausprobieren :)

Ich schreibe dann hier in den Thread, ob es geklappt hat. :D

Gruß, Sturm

Link zu diesem Kommentar
Auf anderen Seiten teilen

So... kleine Rückmeldung von mir:

Bei der Alternative "Definition als Listbox" bin ich beim Befüllen an den Grenzen meines engen SAP-Horizonts angekommen :rolleyes: will heißen: da fehlen noch die Basics bei mir.

Also habe ich mich mit der Suchhilfe beschäftigt und sie mit folgenden Werten gefüllt:


Elementare Suchhilfe (Name): ZAZBFM_NAMEN

Selektionsmethode: ZAZJFMDB

Dialogtyp: Sofortige Werteanzeige


Suchhilfeparameter:

VORNAME, EXP, LPos: 1, Datenelement: ZAZBFMVORNAME

NACHNAME, EXP, LPos: 2, Datenelement: ZAZBFMNACHNAME
Im Programm wird ein Textfeld mit dieser Suchhilfe ausgestattet mit dem Code:

PARAMETERS trName LIKE wa_tspieler-name MATCHCODE OBJECT ZAZBFM_NAMEN.
So weit so gut... Auf zum Test! Das Textfeld trName ist nun mit einer Eingabehilfe versehen. Drückt man in dem Feld F4, erscheint eine Trefferliste auf dem Bildschirm. Dort stehen nun Vor- und Nachname getrennt. Ist zwar nicht so gewollt, aber kein Thema :)

Vorname  |  Nachname

--------------------

Holger   | Test

Bastian  | Bern

...

Problem jetzt ist allerdings: Wähle ich "Holger Test" aus, steht in trName nur "Holger". Wie kann ich es einrichten, dass dort "Holger Test" im Feld angegeben wird?

Gruß, Sturm

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie kann ich es einrichten, dass dort "Holger Test" im Feld angegeben wird?

Gar nicht! (ok, mit viel Trickserei geht es, aber das würde zu weit führen).

Das Problem im vorliegenden Fall ist, dass du deine Daten in 2 Tabellenfeldern gespeichert hast, eine Suchhilfe aber grundsätzlich nur ein Tabellenfeld zurückliefert. Dieses Verhalten kann man modifizieren (über sog. Suchhilfe-Exits) aber ich denke das würde wirklich zu weit führen. An deiner Stelle würde ich mich vielleicht doch nochmal an der Listbox Alternative versuchen. :)

Gruß,

Major.

Link zu diesem Kommentar
Auf anderen Seiten teilen

mit SELECTION SCREEN's bekommst du Felder mit Labels, Werthilfen und Submit etc..

Wunschön und einfach generiert:

Hier ein Beispiel:

selection-screen begin block BLOCK1 with frame title TEXT-001.

PARAMETERS:

p_ages type /XXX/TABLENAME-FIELDNAME

p_year type /XXX/TABLENAME-FIELDNAME

select-screen end of block BLOCK1

Bearbeitet von Ghostridah
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist schon richtig, nur führt das wieder zum selben Problem:

Was meinst du, warum eine Werthilfe bei SELECT-OPTIONS (und auch bei PARAMETERS) angeboten wird? Genau: Weil dort auch eine Suchhilfe dahinter hängt. Die kann an das Datenelement selbst angebunden sein, durch die Domäne auf die es sich bezieht definiert sein, oder eben mit MATCHCODE-OBJECT vorgegeben werden.

Nur hier ist das Problem, dass die Suchhilfe eine Verkettung von zwei Tabellenfelder (Vorname + Nachname) zurückliefern soll. Und dann kommst du eben nicht an einer eigenen, modifizieren(!) Suchhilfe vorbei...

Meines Erachtens ist es für Sturm (noch) keine praktikable Lösung, gleich mal eine Suchhilfe zu modifizieren. Daher mein Vorschlag mit der Listbox.

So far...

Major.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...