eine einzige Suchhilfe für mehrere Dynprofelder

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

Benutzeroberflächen in SAP®-Systemen.
13 Beiträge • Seite 1 von 1
13 Beiträge Seite 1 von 1

eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Hallo, liebe Mitglieder,

ich habe zu einem Z-View eine eigene Z-Suchhilfe angelegt und möchte diese an verschiedene Dynprofelder anbinden. In der SAP-Hilfe habe ich lesen müssen:
Wenn Sie eine Suchhilfe mit mehreren Parametern angeben, wird der erste Parameter der Suchhilfe mit dem Dynpro-Feld verknüpft. Es ist (zurzeit) nicht möglich, weitere Suchhilfeparameter mit anderen Dynpro-Feldern zu verknüpfen. Stattdessen können Sie die Funktion im ABAP Dictionary verwenden, mit der Sie eine Suchhilfe mit einem Feld einer Struktur verknüpfen können.
Wie bekomme ich es hin, dass ich bei Klick auf eine Zeile in der Suchhilfe automatisch die richtigen Exportparameter in die passenden Dynprofelder eingetragen bekomme, ohne drei verschiedene Suchhilfen zu programmieren, wo sich jeweils nur der Export-Parameter unterscheidet?

http://i.imgur.com/KywMxIF.jpg

In der Suchhilfe sind die EXP-Parameter und IMP-Parameter für die drei markierten Felder gesetzt.

http://i.imgur.com/lrVnP6I.jpg

Vielen Dank für eure Hilfe!

sapdepp

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


Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Hallo,

hier steht super beschrieben wie man das macht:
http://www.tricktresor.de/blog/suchhilfe-aufrufen/

Der Trick ist einfach dass man für jedes Feld, das man in der Rückgabe Tabelle return_values erwartet, in dem Suchhilfe Interface einen Wert mitgeben muss. Zitat Funktionsbaustein Beschreibung:
In SHLP-INTERFACE muss für die Ausgabeparameter, zu denen ein Wert zurückgegeben werden soll, das Feld VALFIELD <> SPACE sein.
Ich hoffe das hilft Dir weiter!

Viele Grüsse
Nicola

Folgende Benutzer bedankten sich beim Autor Lucyalison für den Beitrag:
sapdepp


Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Cooler Trick. Ja, das hilft mir weiter. Ich muss jetzt nur noch im Dynpro steuern, dass die neu programmierte und dynamische (vorher statische Z-) Suchhilfe erst dann gezündet wird, wenn ich im betroffenen Dynprofeld auf die F4-Hilfe klicke.

VG
sapdepp

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Das läuft automatisch wenn Du den Aufruf der Suchhilfe bei value request reinpackst.
Also wenn Dein Dynprofeld z.B. p_persnr heisst, dann würdest Du im ABAP-Programm die Suchhilfe so aufrufen:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_persnr.
Und dann Dein Suchhilfencoding einfügen.

Viele Grüsse
Nicola

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Nicht ganz, denn es ist wie gesagt ein Dynpro und kein Selektionsbildschirm. Dynpros sind aus Modulen aufgebaut, und in diese kann ich ein AT ... VALUE-REQUEST nicht einbauen. Ich muss in der Ablauflogik PROCESS ON VALUE-REQUEST mit den Modulen für die verschiedenen Dynprofelder samt Suchhilfe befüllen (FIELD).

Code: Alles auswählen.

PROCESS ON VALUE-REQUEST.
 FIELD test1 MODULE value_test1.
 FIELD test2 MODULE value_test2.
Und in die Module baue ich das Coding vom Tricktresor ein. Das bastle ich gerade zusammen. :-)

VG
sapdepp

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Man kann sich auch eine Struktur aufbauen, in welcher man die Suchhilfe mit allen Abhängigkeiten hinterlegt. Wenn man die Strukturelemente dann als Felder auf das Dynpro packt, regelt die Suchhilfe über die Struktur alle Abhängigkeiten von alleine, d.h. man muss dazu gar nichts programmieren und ist voll im Standard.

Gruß
Pyro

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Ahh sorry - da der Selektionsbildschirm ja auch ein Dynpro ist, ging das aus Deiner Anfrage nicht hervor bzw. ich hab nicht genauer nachgefragt :-)
Trotzdem bleibt die Logik ja gleich, nur dass Du sie halt in der Ablauflogik des Dynpros mit PROCESS On Value-Request definierst wie Du ja schon geschrieben hast.

Gruss
Nicola

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Noch ein Problem: Im Dynpro-Prozess ON VALUE REQUEST für mein Dynpro-Feld S_PERNR frage ich über die F4-Hilfe meinen Z-View ab und markiere darin eine Zeile. Doch es wird beim Mausklick nur die PERNR (Dyn-Feld S_PERNR) übertragen, nicht aber die Namen und Titel, obwohl ich es eigentlich so gemacht habe, wie ihr vorgeschlagen habt, und obwohl auch alle S-Felder korrekt gefüllt sind:

Code: Alles auswählen.

PROCESS ON VALUE-REQUEST.
  field S_PERNR module value_pernr.

Code: Alles auswählen.

MODULE VALUE_PERNR INPUT.

  CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
    EXPORTING
      shlpname = 'ZNFPZ_NNCH'
      shlptype = 'SH'
    IMPORTING
      shlp     = ls_shlp.

  LOOP AT ls_shlp-interface ASSIGNING <if>.

    IF <if>-SHLPFIELD = 'PERNR'.
      <if>-valfield = 'PERNR'.
    ENDIF.
    IF <if>-SHLPFIELD = 'NAME1'.
      <if>-valfield = 'NAME1'.
    ENDIF.
    IF <if>-SHLPFIELD = 'NAME2'.
      <if>-valfield = 'NAME2'.
    ENDIF.
    IF <if>-SHLPFIELD = 'TITEL'.
      <if>-valfield = 'TITEL'.
    ENDIF.

  ENDLOOP.

  CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
    EXPORTING
      shlp          = ls_shlp
    TABLES
      return_values = lt_retval.

  IF NOT lt_retval IS INITIAL.

* Rückgabetabelle ist gefüllt:
    READ TABLE lt_retval INTO ls_retval WITH KEY fieldname = 'PERNR'.
    IF sy-subrc = 0.
      s_pernr = ls_retval-fieldval.
    ENDIF.

    READ TABLE lt_retval INTO ls_retval WITH KEY fieldname = 'NAME1'.
    IF sy-subrc = 0.
      s_name1 = ls_retval-fieldval.
    ENDIF.

    READ TABLE lt_retval INTO ls_retval WITH KEY fieldname = 'NAME2'.
    IF sy-subrc = 0.
      s_name2 = ls_retval-fieldval.
    ENDIF.

    READ TABLE lt_retval INTO ls_retval WITH KEY fieldname = 'TITEL'.
    IF sy-subrc = 0.
      s_titel = ls_retval-fieldval.
    ENDIF.

  ENDIF.

ENDMODULE.                 " VALUE_PERNR  INPUT
Zurzeit helfe ich mir mit einer Check-Funktion im PAI, die mittels der PERNR die Namen und Titel ausliest und ins Dynpro schreibt. Nur diesen Check-Schritt will ich verkürzen, indem gleich die Werte der F4-Hilfe ins Dynpro geschrieben werden.

Wo habe ich noch was vergessen?

Danke und Grüße
sapdepp

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Du kannst die aktuellen Werte vom Dynpro mit dem Funktionsbaustein DYNP_VALUES_READ auslesen.
Einziges Manko hierbei ist, dass die Werte evtl. noch konvertiert werden müssen:
z.B. Datum '30.06.2014' -> '20140630' oder Uhrzeit '16:15:30' -> '161530' usw.

Das ist leider so eine Krüke der Dynpros, dass bei POV/POH keine vollständige Übertragung der Felder passiert.

lg ADT
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

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Aber ich möchte doch das Dynpro nicht auslesen (ist ja leer), sondern ins Dynpro schreiben aus der F4-Hilfe heraus?

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Dann halt DYNP_VALUES_UPDATE ;)
Hier gilt aber auch wieder das Gleiche: Die Konvertierung musst du machen!
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

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von sapdepp (Specialist / 218 / 37 / 2 ) »
Oha, jetzt wird ein Schuh draus. Es klappt. Schade, dass man solche (kleinen) Krücken einbauen muss, weil's im Standard nicht geht. Besten Dank für die Hilfe!

Re: eine einzige Suchhilfe für mehrere Dynprofelder

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Hmmm... Deine Bemerkung hat mir jetzt keine Ruhe gelassen:
Der FuBa DD_SHLP_CALL_FROM_DYNP sollte das alles können was du brauchst. Zumindest wird da das DYNP_VALUES_UPDATE mit aufgerufen.

EDIT:
Mach mal einen Verwendungsnachweis auf die Form-Routine F4PROZ im Programm SAPLSDSD. Da gibt es noch mehr Kandidaten die ebenfalls DYNP_VALUES_UPDATE aufrufen. 8)
z.B.: F4IF_FIELD_VALUE_REQUEST
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

1
Antw.
404
Views
ALV: nur eine einzige Zelle als Checkbox
von kloie » 14.07.2022 16:13 • Verfasst in ABAP® für Anfänger
1
Antw.
6926
Views
Dynprofelder mit 'Dynp_values_read' auslesen
von sap_newby » 01.11.2007 19:45 • Verfasst in ABAP® Core
0
Antw.
1559
Views
Dynprofelder initial setzen
von ti » 20.08.2007 11:17 • Verfasst in ABAP® für Anfänger
0
Antw.
1467
Views
Dynprofelder initial setzen
von ti » 20.08.2007 12:39 • Verfasst in Sales and Distribution
1
Antw.
3009
Views
In welcher Tabelle finde ich Dynprofelder
von dk02468 » 13.04.2006 13:44 • Verfasst in Basis

Ü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

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 32 Minuten von ralf.wenzel 1 / 3
Dialog-Container mit Toolbar/Status
vor 18 Stunden von tar gelöst 19 / 2080
SAP Trial Version für SAP Fiori
vor 22 Stunden von tar 2 / 1443

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

Zeilenumbrüche ersetzen
vor 32 Minuten von ralf.wenzel 1 / 3
Dialog-Container mit Toolbar/Status
vor 18 Stunden von tar gelöst 19 / 2080
SAP Trial Version für SAP Fiori
vor 22 Stunden von tar 2 / 1443

Unbeantwortete Forenbeiträge

Zeilenumbrüche ersetzen
vor 32 Minuten von ralf.wenzel 1 / 3
Daten an Tabelle binden
Gestern von Bright4.5 1 / 499
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2139