Hi all,
ich wuerde gern einen Funktionsbaustein schreiben, der mir die Werte der der select-options und parameters speichert. Das ganze soll quasi als kleine Archievierung in jeden Report implementiert werden, sodass man am ende der Woche sieht wer welchen Report mit welchem Parameters benutzt hat.
Ich hab einen Fuktionsbaustein user_select_option_save gefunden, nur braucht der eine Table mit der Structure VUVVALUES und meine standard select-options haben aber die structure RSDSSELOPT, der unterschied ist, das VUVVALUES noch zwei felder PARAMID und KIND hat. Weiss einer wie ich die beiden Werte fuer meine select-option aus dem Speicher bekomme. Oder kenn einer noch einen besseren weg?
Mein zweiter Ansatz war, das ich mir ueber GET_GLOBAL_SYMBOLS die Namen der select-options und parameters die zu einem bestimmten Report gehoeren bestimme. Das geht auch gut, aber leider hab ich keinen Weg gefunden aus meinem Funktionsbaustein heraus die Tables aus dem Hauptprogramm anzusprechen.
Wenn einer einen Tip hat waer ich sehr dankbar!
also bestehenden FUBA würde ich nicht empfehlen zu nehmen, da evtl. Seiteneffekte, die nicht überschaubar sind.
Daher: Eigene DB-Tabelle anlegen, die die notwendigen Daten zum Speichern der Select-Options enthält:
Benutzername, Reportname, ggf. Timestamp oder Datum, Felder der Struktur 'RSDSSELOPT'. Dann einen Fuba, der in der Schnittstelle genau diese Werte entgegennehmen kann und in die Tabelle schreibt. Fuba dann in jeden Report einfügen.
Allerdings ist mir Sinn und Zweck der Aktion nicht so ganz klar. Wenn es nur darum geht, eine Auswertung zu bekommen, dann würde ich einen Log erzeugen und die Werte überhaupt nicht abspeichern. Denn wenn Du diese Werte speicherst, dann wird diese Tabelle sehr schnell, sehr groß.
Wenn die Selektionskriterien wieder verwendet werden sollen, würde ich mich auf die Varianten (Reportvarianten) im Standard stützen und diese Funktionalität nicht nachbauen.
Hi Steff,
danke für die Antwort. Die Varianten wuerde ich ja schon nehmen, kann ich die denn automatisch erzeugen, oder passiert das nur wenn man auf dem screen save drueckt?
müßte eigentlich gehen.
Schau Dir mal die Funktionsgruppe SVAR im Paket SLDBV an. Dort gibt es z.B. FuBas wie: RS_CREATE_VARIANT, RS_VARIANT_ADD, RS_VARIANT_CHANGE, RS_VARIANT_COPY, RS_VARIANT_DELETE, usw.
Damit hast Du alles an der Hand um entsprechende Varianten zu Erzeugen. Ich würde das aber auf keinen Fall verwenden um so eine Art Logging zu bauen, welcher User, welchen Report mit welchen Selektionskriterien gestartet hat. Dafür ist das nicht da und wenn Du das machst 'müllst' Du die Datenbank ziemlich zu. Davon würde ich auf jeden Fall abraten.
vielen Dank für den guten Tip. Habs jetzt über RS_REFRESH_FROM_SELECTOPTIONS gemacht. Da´s gibt dir ne Tabelle aller Select-Options und Parameter eines Reports aus.