SOS!!! Kombination MVC und klassische BSP´s //Expertenprobl.

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

SOS!!! Kombination MVC und klassische BSP´s //Expertenprobl.

Beitrag von Beni (ForumUser / 39 / 0 / 0 ) »
Hallo Zusammen,

ich bin fast am durchdrehen. Ich bekomme Folgendes einfach nicht geregelt.

Ich entwickle eine Komponente mit einem Hauptcontroller, mehreren Subcontrollern und einem Model.

Diese Komponente rufe ich per <bsp:call> aus einer klassischen BSP-Seite mit Ablauflogik auf.

Wenn ich dem <bsp:call> keinen Wert für comp_id mitgebe, verliert die Komponente beim erneuten Request den Kontext, obwohl die BSP-Applikation zustandbehaftet ist und der Controller eine Lebendauer bis Session-Ende hat.
Es scheint so, als wüsste der erneute Aufruf nichts von dem vorherigen.
=> schlecht, da Model und SubController im Nirvana verschwinden.

Wenn ich dem <bsp:call> einen Wert für comp_id mitgebe, dann verhält er sich nicht mehr als TopController und meine 'DoHandleEvent'-Methode wird nicht erreicht.
=> genauso schlecht, da ich auf Benutzereingaben in der Aufrufenden Applikation reagieren müsste. Genau, dass will ich vermeiden, da ich die Komponente in mehreren Anwendungen einsetzen möchte.

Was könnte mein Fehler sein? Ich weiss echt keinen Rat mehr!!!

Vielen Dank für Hilfe!!!

Gruß
Benjamin Gersitz

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


Beitrag von clicknzag (ForumUser / 16 / 0 / 0 ) »
Beni hat geschrieben:Wenn ich dem <bsp:call> keinen Wert für comp_id mitgebe, verliert die Komponente beim erneuten Request den Kontext, obwohl die BSP-Applikation zustandbehaftet ist und der Controller eine Lebendauer bis Session-Ende hat.
Es scheint so, als wüsste der erneute Aufruf nichts von dem vorherigen.
=> schlecht, da Model und SubController im Nirvana verschwinden.
Wenn du die comp_id nicht mitgibst, dann erstellt er jedesmal eine neue Instanz des Controllers und somit ist es klar, dass der Context verschwindet.
Beni hat geschrieben:Wenn ich dem <bsp:call> einen Wert für comp_id mitgebe, dann verhält er sich nicht mehr als TopController und meine 'DoHandleEvent'-Methode wird nicht erreicht.
Hast du mal versucht in der Methode DO_REQUEST ganz zu Begin die Methode dispatch_input( ) aufzurufen? Diese dient dazu, den Request auch an die SUBCONTROLLER weiterzureichen. Dann sollte auch die DO_HANDLE_EVENT erreicht werden.

Herzliche Grüße
Oliver Lamp

Beitrag von Beni (ForumUser / 39 / 0 / 0 ) »
clicknzag hat geschrieben:Hast du mal versucht in der Methode DO_REQUEST ganz zu Begin die Methode dispatch_input( ) aufzurufen? Diese dient dazu, den Request auch an die SUBCONTROLLER weiterzureichen. Dann sollte auch die DO_HANDLE_EVENT erreicht werden.
Mein Problem liegt ja genau darin, dass ich zum einen den Kontext behalten will, also eine COMP_ID mitgeben muss, zum anderen aber der Controller als TopController behandelt werden soll.

In der Methode dispatch_input() findet zu Beginn eine Prüfung auf die COMP_ID statt. Wenn der Controller eine COMP_ID hat, dann wird er nicht als TopController gesehen und es gibt einen Return ohne Verarbeitung.

Ich habe die Sache wie folgt gelöst:

Ich gebe eine COMP_ID mit, die ich mir vor dem Aufruf von dispatch_input( ) merke und dann putze. Damit läuft dispatch_input() wie gewünscht durch.
Nach dispatch_input befülle ich COMP_ID wieder.

Ist zwar gebastelt aber es geht.

Gruß und Danke für die Antwort
Benjamin Gersitz

Beitrag von clicknzag (ForumUser / 16 / 0 / 0 ) »
Wenn es funktioniert!

Eine andere ALternative wäre es vielleicht gewesen, dem <bsp:call> anstelle der comp_id den key mitzugeben. Soweit ich weiss instaziiert er dann einen controller, der dieses key (comp_id) zugeiwesen bekommt.

Vielleicht erkennt die Laufzeit bei erneutem Aufruf der Seite, dass der Controller zu diesem Schlüssel schon existiert und behält dann den Context?!!

Seite 1 von 1

Vergleichbare Themen


Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Absprung VA02 Position
vor 9 Minuten von black_adept 2 / 5
OPD Druck im SPOOL
vor einer Stunde von Manfred K. 1 / 7
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1796
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2333

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

Absprung VA02 Position
vor 9 Minuten von black_adept 2 / 5
OPD Druck im SPOOL
vor einer Stunde von Manfred K. 1 / 7
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1796
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2333

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor einer Stunde von Manfred K. 1 / 7
Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 373
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 981
MS-Word als Editor
letzen Monat von tekko 1 / 4485