neinal Geschrieben 17. Mai 2011 Geschrieben 17. Mai 2011 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 Zitieren
afo Geschrieben 17. Mai 2011 Geschrieben 17. Mai 2011 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. Zitieren
neinal Geschrieben 18. Mai 2011 Autor Geschrieben 18. Mai 2011 Erstmal danke für deine Antwort. Leider kann ich mit FB nichts anfangen.... Kann zwar sein, dass ich FB kenne, aber im Moment weiß ich nicht was du damit meinst... Zitieren
neinal Geschrieben 18. Mai 2011 Autor Geschrieben 18. Mai 2011 aaah 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... Zitieren
itazubi Geschrieben 18. Mai 2011 Geschrieben 18. Mai 2011 Die Abkürzung FB wird dir noch oft in ABAP-Programmen begegnen. Zitieren
neinal Geschrieben 18. Mai 2011 Autor Geschrieben 18. Mai 2011 Das hab ich mir schon fast gedacht Na dann bin ich ja froh, dass ich jetzt damit bekanntschaft gemacht habe Zitieren
hmaas Geschrieben 18. Mai 2011 Geschrieben 18. Mai 2011 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 Zitieren
neinal Geschrieben 18. Mai 2011 Autor Geschrieben 18. Mai 2011 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... Zitieren
afo Geschrieben 18. Mai 2011 Geschrieben 18. Mai 2011 Ich weiß nicht genau wie ich das erklären soll... Screenshot oder wenn Code, dann Code. Wenn Abstrakter, dann ein Flußdiagramm, egal welcher Art. Zitieren
hmaas Geschrieben 18. Mai 2011 Geschrieben 18. Mai 2011 (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 18. Mai 2011 von Pönk Zitieren
neinal Geschrieben 19. Mai 2011 Autor Geschrieben 19. Mai 2011 Vielen Dank werd ich nachher direkt mal ausprobieren... vorher steht aber noch eine Runde Cobol an... Zitieren
Empfohlene Beiträge
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.