Problem beim erzeugen eines Viewkontext

1 view
Skip to first unread message

rbu

unread,
Mar 19, 2008, 10:15:57 AM3/19/08
to BSP-Praxis
Hallo Rüdiger,

ich habe ein Problem beim erzeugen eines Viewkontextes aus einer view
heraus.

Ich befolge genau die Anweisungen im WebBlog, aber wenn ich in der
view ankomme
ist der Viewkontext nicht automatisch instanziert. Nach kleineren
Nachforschungen bin
ich auf folgende Zeilen gestossen (siehe unten) :
Dort wird die Methode
get_context_classes( exporting iv_view = iv_view
importing et_classes =
lt_context_classes_new ).

in der Methode set_context_class (ZCL_BSP_UTIL) nur aufgerufen, wenn
die View nicht in der int. Tabelle lt_context_classes vorhanden ist.
Wie kann ich einen Viewontext erzeugen, wenn die View in der Liste
vorhanden ist?
(Bem.: get_context_class wir nur in set_context_class aufgerufen)
Was mache ich falsch?

Gruss Ray

Klasse ZCL_BPS_UTIL
Methode : set_context_class

loop at lt_context_classes assigning <ls_classes>
where pagekey = lv_pagekey.
* Gibt es zur Seite einen leeren Eintrag, dann ist nichts zu tun
* (dies ist der NOREC-Buffer)
if <ls_classes>-attname eq space.
return.
endif.
endloop.

* Gibt es zur Seite überhaupt keinen Eintrag, müssen die Attribute
* introspiziert werden
if sy-subrc ne 0.
*---------------------------------------------------------------------
* Seitenattribute auswerten / neue Einträge für den Buffer ermitteln
*---------------------------------------------------------------------
* Kontextklassen zum aktuellen View durch Introspektion ermitteln
get_context_classes( exporting iv_view = iv_view
importing et_classes =
lt_context_classes_new ).


* Puffer auffüllen...
delete lt_context_classes where pagekey = lv_pagekey.
loop at lt_context_classes_new assigning <ls_classes>.
insert <ls_classes> into table lt_context_classes.
endloop.

* ... und im Instanzgedächtnis fortschreiben
lv_buffer->put( it_context_classes = lt_context_classes ).

* Export zum Application Buffer nur auf Anforderung
if iv_save_to_buffer eq 'X'.
lv_buffer->save( ).
endif.

endif.

Rüdiger

unread,
Mar 20, 2008, 2:28:45 PM3/20/08
to BSP-Praxis
Hallo Ray,

Dein Problem klingt danach, als rührten Deine Probleme von
einem veralteten Pufferinhalt. Welche Attribute Viewcontexte
sind, wird - wie auch die geparsede Flow Logic - auf dem
Application Server gepuffert. Damit Du Dich als Entwickler
nicht ständig daran stösst, habe ich den Parameter Z_MVC_DEVELOPER
erfunden. Ist er gesetzt, wird immer am Puffer vorbei
gelesen.

http://bsp.mits.ch/supplements/eilig.htm#parameter

Ist der Parameter bei Dir gesetzt?

Gruss,
Rüdiger
Reply all
Reply to author
Forward
0 new messages