Applikations-Toolbar dynamisch erzeugen


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

Applikations-Toolbar dynamisch erzeugen

Beitragvon ralf.wenzel » 19.01.2019, 22:01

Moin,

Google lässt es mich nicht finden — oder geht es wirklich nicht? Ich möchte die Application-Toolbar nicht per PF-STATUS definieren, sondern per ABAP-Code (wie es im SALV ja geht, da füge ich die Buttons einzeln zur SALV-Toolbar hinzu).
Und nein, per Exclude-Tabelle definierte Buttons wieder rauswerfen ist nicht das, was ich will.

Im SALV habe ich ein Subscribe-Pattern, auf dem sich Buttons registrieren. Jeder Button wird durch eine Klasse repräsentiert, die alle ein bestimmtes IF implementieren. Beim Klick auf den Button übergibt der Dialog der Applikation das IF, die Applikation ruft dann die Methode RUN auf, die die eigentliche Funktionalität beinhaltet. Irgendwo habe ich das hier mal ausführlich beschrieben, finde es aber nicht mehr (wer den Link findet, möge ihn bitte posten). Das war in irgendeiner hitzigen OO-Diskussion.

Jedenfalls will ich das analog auch auf Dypro-App-Buttons ausweiten.


Ralf *dankt
ralf.wenzel
Top Expert
 
Beiträge: 3339
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 207 mal
Ich bin: Freiberufler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon black_adept » 20.01.2019, 09:26

ralf.wenzel hat geschrieben:Google lässt es mich nicht finden — oder geht es wirklich nicht?
Es geht wirklich nicht
ralf.wenzel hat geschrieben:Ich möchte die Application-Toolbar nicht per PF-STATUS definieren, sondern per ABAP-Code (wie es im SALV ja geht, da füge ich die Buttons einzeln zur SALV-Toolbar hinzu).
Das geht auch nicht im SALV - woher hast du denn diese verquere Aussage.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon black_adept » 20.01.2019, 09:45

Und da wir ja inzwischen gut im OFF-Topic erzeugen geworden sind.
Hat schon mal jemand mit der Klasse CL_SALV_GUI_TABLE_IDA gearbeitet?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon a-dead-trousers » 20.01.2019, 09:55

Wenn ein SALV ausgegeben wird braucht man sich nur den verwendeten GUI-Status über System->Status anzusehen. Der ist (leider) ziemich statisch gehalten.
Die einzige Möglichkeit für einen einigermaßen dynamischen GUI-Status, die ich kenne, ist mit dynamischen Funktionscode zu arbeiten.
Dabei werden einzelenen Funktionscode (oder auch allen) im Programm Variablen eines bestimmten Typs zugeordnet. Im GUI-Status sieht man dass an der Auszeichnung "<...>" und das keine Ikonen, Texte usw. angezeigt werden. Zur Laufzeit werden die im GUI-Status anzuzeigenden Informationen aus diesen Variablen ausgelesen. Buttons die nicht gebraucht werden kann man wie gewohnt mit EXCLUDING ausblenden.
Alternativ kann man im Dynpro die Applikationstoolbar auch ausblenden lassen und sich eine eigene, dynamische, mittels CL_GUI_TOOLBAR bauen.
Was ich noch nicht versucht habe, was aber auch funktionieren müsste, wäre den Spezial-Container den das GOS verwendet (eigener Bereich im GUI-Titel) zu missbrauchen. Der sollte aber nicht zu groß werden, weil man sonst keine Platz mehr für den Titel hat.
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.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3156
Registriert: 07.02.2011, 13:40
Dank erhalten: 779 mal
Ich bin: Entwickler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon black_adept » 20.01.2019, 10:32

a-dead-trousers hat geschrieben:Alternativ kann man im Dynpro die Applikationstoolbar auch ausblenden lassen und sich eine eigene, dynamische, mittels CL_GUI_TOOLBAR bauen.
Was ich noch nicht versucht habe, was aber auch funktionieren müsste, wäre den Spezial-Container den das GOS verwendet (eigener Bereich im GUI-Titel) zu missbrauchen. Der sollte aber nicht zu groß werden, weil man sonst keine Platz mehr für den Titel hat.
Aber diese beiden Sachen sind dann nachher nicht mehr über Batch-Input oder CALL TRANSACTION USING steuerbar, da hier eine GUI vorausgesetzt wird.
@a-d-t: Ja - das geht mit dem GOS-Container recht gut :)
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon ralf.wenzel » 20.01.2019, 11:04

black_adept hat geschrieben:
ralf.wenzel hat geschrieben:per ABAP-Code (wie es im SALV ja geht, da füge ich die Buttons einzeln zur SALV-Toolbar hinzu).
Das geht auch nicht im SALV - woher hast du denn diese verquere Aussage.


Warum sollte das nicht gehen? Ich kann nicht mit ADD_FUNCTION( ) im CL_SALV_TABLE (über CL_SALV_FUNCTIONS) ein neues Icon in die SALV-Toolbar hängen mit einer selbst ausprogrammierten Funktion dahinter?

Dann sollte ich mich für den Nobelpreis anmelden, ich hab das geschafft. Wenn ich das mache, schreibe ich halt keine Funktionen hart rein, sondern durchlaufe eine Liste von Subscribern (Klassen, die ein definiertes INTF implementieren). Das hat den entscheidenden Vorteil, dass ich nur eine neue Klasse für eine neue Funktion bauen muss. Ich muss dazu weder den SALV noch die Applikation noch den Dialog ändern. Diese "Button-Klasse" enthält das Icon, den Text, den Quicktip und in einer definierten Methode RUN die Logik, die der Button repräsentiert. Und ich kann diese Klasse jederzeit wiederverwenden in anderen SALVs.


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3339
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 207 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon black_adept » 20.01.2019, 11:12

ralf.wenzel hat geschrieben:
black_adept hat geschrieben:
ralf.wenzel hat geschrieben:per ABAP-Code (wie es im SALV ja geht, da füge ich die Buttons einzeln zur SALV-Toolbar hinzu).
Das geht auch nicht im SALV - woher hast du denn diese verquere Aussage.


Warum sollte das nicht gehen? Ich kann nicht mit ADD_FUNCTION( ) im CL_SALV_TABLE (über CL_SALV_FUNCTIONS) ein neues Icon in die SALV-Toolbar hängen mit einer selbst ausprogrammierten Funktion dahinter?
Du sprachst im 1. Post dieses Threads von Dynpros. ---> Du musst das Verhaltendes SALV im Fullscreenmodus betrachten, da nur dann ein PF-STATUS erzeugt wird. Und da geht es halt nicht, wie man leicht durch ein Minitestprogramm erkennen könnte, da sich der Fullscreenmodus in diversen Sachen unterschiedlich zum Containermodus verhält.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon black_adept » 20.01.2019, 11:17

ralf.wenzel hat geschrieben:Dann sollte ich mich für den Nobelpreis anmelden, ich hab das geschafft.
In welchem Bereich willst du denn da den Nobelpreis reklamieren? Irgendwie wäre der Touring-Award deutlich passender, auch wenn ich fürchte, dass die Schaffenshöhe dafür nicht ganz ausreichend sein dürfte.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon ralf.wenzel » 20.01.2019, 12:04

black_adept hat geschrieben:
ralf.wenzel hat geschrieben:Dann sollte ich mich für den Nobelpreis anmelden, ich hab das geschafft.
In welchem Bereich willst du denn da den Nobelpreis reklamieren? Irgendwie wäre der Touring-Award deutlich passender, auch wenn ich fürchte, dass die Schaffenshöhe dafür nicht ganz ausreichend sein dürfte.


Nee, wenn ich was mache, was technisch nicht möglich ist, will ich mindestens den Nobelpreis. Und das Bundesverdienstkreuz.


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3339
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 207 mal
Ich bin: Freiberufler/in

Re: Applikations-Toolbar dynamisch erzeugen

Beitragvon ewx » 20.01.2019, 18:43

a-dead-trousers hat geschrieben:Alternativ kann man im Dynpro die Applikationstoolbar auch ausblenden lassen und sich eine eigene, dynamische, mittels CL_GUI_TOOLBAR bauen.

Siehe hier https://www.tricktresor.de/blog/neue-schaltflaechen/
Die Funktionen lassen sich dann allerdings nicht mehr über Funktionstasten auswählen...

Für diese Nachricht hat ewx einen Dank bekommen :
ralf.wenzel
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Adobe Forms - Download - Keine Seiten
vor 10 Stunden von shimsham 2 Antw.
UTF-8 mit Funktionsbaustein
vor 13 Stunden von a-dead-trousers 4 Antw.
gelöst Fehler SAVE NOT ALLOWED bei F4IF_START_VALUE_REQUEST
vor 10 Stunden von AdrianSchm 1 Antw.
SAP Logon bei Aufruf WebGUI
Gestern von msfox 0 Antw.
Formatierung Textdatei aus Query und ABAP
vor 13 Stunden von wreichelt 5 Antw.

  Ähnliche Beiträge beta
Interne Tabelle dynamisch erzeugen
23.01.2003, 22:36 von Wolfgang G. Propfe 13 Antw.
Selectionsdynpro - Button dynamisch erzeugen
18.10.2004, 10:40 von RiffRaff 3 Antw.
Feldcatalog für Alv Grid / Tree dynamisch aus it erzeugen
15.11.2005, 08:52 von Helmut 2 Antw.
FB zum erzeugen von Lastschriften
04.12.2003, 09:18 von tobbbi 4 Antw.
Dokumentinfosatz erzeugen
04.02.2010, 13:02 von Artie200 5 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder