Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Ihr,

ich habe folgendes 'Problem':

ich habe ein Programm mit dem verschiedene Auswertungen gemacht werden können. Unter anderem kann man auch nach Varianten Filtern. Problem bei der Sache ist jetzt, dass es viele Varianten gibt, die aber verschiedenen Reports zugeordnet sind.

Wenn ich die SuchHilfe erstelle kann ich ja direkt einen DefaulWert setzen, dass ist auch kein Problem.

Die SuchHilfe soll aber für mehrere Programme und Reports genutzt werden, d.h. es soll in jedem Programm (Im Code selbst) ein DefaultWert gesetzt werden, damit die SuchHilfe nicht hart codiert ist und man sie für verschiedene Programme verwenden kann.

Könnt ihr mir da helfen? Ich finde im Internet leider nichts was mir wirklich hilft. Geht das überhaupt?

Danke im Voraus

Geschrieben

Du hast die in einem FB gekapselt? Wenn ja übergeb doch diesem einen Parameter, der jeweils den relevanten Default-Wert enthält. Wenn nicht übergeben wird, dann fall auf einen default-default zurück.

Geschrieben

aaah :D Danke.. jetzt machts Sinn.... hätte ich eig. auch so drauf kommen können...

Aber dann zum Thema zurück.. Nein, ich habe das ganze nicht zu einem FB zusammen gefasst...

Ich habe nur eine einfache Suchhilfe erstellt...

Meine Ausbildungsbeauftragte hat mir gestern gesagt, ich soll einfach mal im Internet schauen, ob das überhaupt geht, dass ich im Programm einen Defaulwert setze.. sie weiß es selber nicht.. und wenn nicht, ist es nicht so schlimm....

Problem ist einfach, die SuchHilfe bezieht sich auf Varianten... wenn ich einen Wert default setze (im Programm) kommt der Report damit nicht wirklich klar.. und bringt mir eine SuchHilfe die ich nicht haben will...

Geschrieben
Problem ist einfach, die SuchHilfe bezieht sich auf Varianten... wenn ich einen Wert default setze (im Programm) kommt der Report damit nicht wirklich klar

Du hast eine Suchhilfe angelegt (SE11), diese hat Importing-/Exporting-Felder. Über die Importing-Felder kannst du Werte in die Suchhilfe übergeben und dienen dann als Filterkriterium. Über die Exporting-Felder bekommst du die Daten zurück.

Die Aussage:

.. und bringt mir eine SuchHilfe die ich nicht haben will...

bin ich nur von Anwendern gewohnt, die ein Problem melden, von einem ITler erwarte ich eigentlich eine genau Fehlerbeschreibung.

Was stört dich genau an der Suchhilfe?

Gruß Pönk

Geschrieben

Ich weiß nicht genau wie ich das erklären soll...

Ich habe Importfelder die wie folg aussehen, Report (Da wird nach verschiedenen Reports gefiltert), Variante (Das ist auch mein ExportFeld und liefert die 'Daten' die ich brauche). Ich möchte bei Report einen Defaultwert setzen, damit ich nur die Varianten zurück bekomme, die für einen bestimmten Report relevant sind. Nun soll die SuchHilfe aber für verschiedene Reports eingesetzt werden. D.h. es wäre nicht sehr optimal die SuchHilfe für jeden Report neu anzulegen und einen neuen Default bei Report zu setzen...

Wenn ich im Report selbst einen OBLIGATORY DEFAULT mitgebe komme ich nicht zum gewünschten Ergebnis sondern entweder habe ich einen Default bei Variant oder er filtert die Reports falsch und ich bekomme am Schluss wieder alle Varianten für alle Reports...

Ich hoffe, dass war jetzt verständlich ... ich glaub das hört sich alles etwas kompliziert an...

Geschrieben (bearbeitet)
Ich hoffe, dass war jetzt verständlich ... ich glaub das hört sich alles etwas kompliziert an...

Aber jetzt wird es klarer. Im "Standard" bekommst du das nicht hin....aber man kann da manuell etwas drum rum programmieren.

Im SelScreen geht dies über AT SELECTION-SCREEN ON VALUE-REQUEST als Event. Dort kann man die Suchhilfen auch manuell aufrufen und dabei bestimmte Sachen vorbelegen.

Ich häng hier mal einen Testreport an, der das von dir gewünschte realisiert. Hoffe es ist soweit kommentiert, dass du damit klar kommst.

Die verwendete Suchhilfe ZTST_VARI ist einfach gehalten:

Selectionmethode VARID

1. Feld REPORT als Importfeld

2. Feld VARIANT als Ex-/Importfeld


REPORT ztest.

PARAMETERS: p_report TYPE varid-report.
PARAMETERS: p_vari TYPE varid-variant.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
* Bei On Value Request wird kein PAI-Feldtransport durchgeführt!
* Wenn der User einen Reportnamen eingegebn hat, ist dieser evtl. noch nicht im Programm verfügbar
* Deshalb hier den Feldwert manuell nachlesen:
CALL FUNCTION 'GET_DYNP_VALUE'
EXPORTING
i_field = 'P_REPORT'
i_repid = sy-repid
i_dynnr = sy-dynnr
* I_CONV_INPUT = ' '
* I_CONV_OUTPUT = ' '
CHANGING
o_value = p_report.


PERFORM f4_for_variant USING p_report
CHANGING p_vari.

*&---------------------------------------------------------------------*
*& Form F4_FOR_VARIANT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f4_for_variant USING p_report TYPE varid-report
CHANGING p_vari TYPE varid-variant.
DATA ls_shlp TYPE shlp_descr.

FIELD-SYMBOLS <if> TYPE ddshiface.
FIELD-SYMBOLS <selopt> TYPE ddshselopt.

DATA lt_retval TYPE STANDARD TABLE OF ddshretval.
DATA ls_retval TYPE ddshretval.

* Suchhilfe lesen
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
EXPORTING
shlpname = 'ZTST_VARI' "Name der Suchhilfe
shlptype = 'SH' "Typ der Suchhilfe
IMPORTING
shlp = ls_shlp.

* Rückgabewerte definieren:
LOOP AT ls_shlp-interface ASSIGNING <if>.
*** Die Variante soll zu rückgegeben werden
IF <if>-shlpfield = 'VARIANT'.
<if>-valfield = 'P_VARI'.
ENDIF.
ENDLOOP.

* Werte für Report vorbelegen
APPEND INITIAL LINE TO ls_shlp-selopt ASSIGNING <selopt>.
<selopt>-shlpfield = 'REPORT'.
<selopt>-sign = 'I'.
<selopt>-option = 'EQ'.
<selopt>-low = p_report.

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: gewählte Varainte lesen:
READ TABLE lt_retval INTO ls_retval WITH KEY retfield = 'P_VARI'.
p_vari = ls_retval-fieldval.
ENDIF.

ENDFORM. " F4_FOR_VARIANT
[/PHP]

Die verwendeten FuBas sind alle soweit dokumentiert, dort lohnt sich auch ein Blick.

Gruß Pönk

Bearbeitet von Pönk

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