Discussion:
ALV mit Absprung in Anwendung und Rücksprung in Ausgabeliste
(zu alt für eine Antwort)
s***@web.de
2005-11-02 14:37:27 UTC
Permalink
Hallo zusammen,
ich habe häufiger das Problem, das ich bei Doppelklick auf eine
ALV-Liste in eine Anwendung verzweige, aber der Rücksprung nicht immer

auf die Ausgabeliste, sondern in das Selektionsbild der
Anwendung erfolgt (Beispiel TCODE IW12).


Kennt jemand eine Möglichkeit, dem ALV einen Schalter mitzugeben,
der immer eine Rücksprung auf die ALV-Liste erzwing??


Danke für eure Hilfe
Hartmut Pfarr
2005-11-02 16:46:50 UTC
Permalink
Post by s***@web.de
Hallo zusammen,
ich habe häufiger das Problem, das ich bei Doppelklick auf eine
ALV-Liste in eine Anwendung verzweige, aber der Rücksprung nicht immer
auf die Ausgabeliste, sondern in das Selektionsbild der
Anwendung erfolgt (Beispiel TCODE IW12).
Kennt jemand eine Möglichkeit, dem ALV einen Schalter mitzugeben,
der immer eine Rücksprung auf die ALV-Liste erzwing??
Danke für eure Hilfe
Hallo 4711,
ich weiß nich wie Du Deine Verzweigung realisiert hast, aber ich vermute
mal innerhalb des Usercommands.

* callback: user command
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
case r_ucomm.
...
endcase
endform


Du muß nur eins tun: sicherstellen, dass das Attribut EXIT blank ist.
rs_selfield-exit = ''.
rs_selfield-refresh = 'X'.
rs_selfield-row_stable = 'X'.

Dann wird der ALV nicht verlassen. Zusätzlich kannst Du refresh = 'X'
setzen, damit die Liste aktualisiert wird. Und mit Row_Stable bleibt der
Cursor sogar auf der alten Zeile kleben.

Gruß Hartmut
--
http://hapin.de **** IT-WIKI SAP & JAVA
s***@web.de
2005-11-23 12:51:45 UTC
Permalink
Post by Hartmut Pfarr
Post by s***@web.de
Hallo zusammen,
ich habe häufiger das Problem, das ich bei Doppelklick auf eine
ALV-Liste in eine Anwendung verzweige, aber der Rücksprung nicht immer
auf die Ausgabeliste, sondern in das Selektionsbild der
Anwendung erfolgt (Beispiel TCODE IW12).
Kennt jemand eine Möglichkeit, dem ALV einen Schalter mitzugeben,
der immer eine Rücksprung auf die ALV-Liste erzwing??
Danke für eure Hilfe
Hallo 4711,
ich weiß nich wie Du Deine Verzweigung realisiert hast, aber ich vermute
mal innerhalb des Usercommands.
* callback: user command
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
case r_ucomm.
...
endcase
endform
Du muß nur eins tun: sicherstellen, dass das Attribut EXIT blank ist.
rs_selfield-exit = ''.
rs_selfield-refresh = 'X'.
rs_selfield-row_stable = 'X'.
Dann wird der ALV nicht verlassen. Zusätzlich kannst Du refresh = 'X'
setzen, damit die Liste aktualisiert wird. Und mit Row_Stable bleibt der
Cursor sogar auf der alten Zeile kleben.
Gruß Hartmut
--
http://hapin.de **** IT-WIKI SAP & JAVA
Hallo Hartmut,
leider hat deine Hilfe nicht zum Erfolg geführt.
Ich beschreibe das Problem etwas genauer.

Im Report verzweige ich beim Doppelklick auf eine ALV-Ausgabezeile in
Abhängigkeit der
markierten Feldes (z. B. Materialnummer) in eine Unterroutine. In
dieser Routine
fülle ich bestimmte BDC-Felder und setze dann den Befehl:
CALL TRANSACTION 'MB51' USING BDCDATA MODE 'E'.
ab.
Ich verzweige dann direkt in die Materialbelegliste (MB51). Wenn ich
dann F3 drücke,
gelange ich in das Selektionsbild der Transaktion MB51. Das möchte ich
vermeiden,
denn ich will bei F3 auf die ALV-Ausgabe zurückspringen.

Wenn ich die gleiche Routine für die Materialstammanzeige (MM03)
nutze, klappt es,
aber bei MB51, oder wie ursprünglich geschrieben IW12, klappt es
nicht.

Vielleicht hast du, oder andere eine Idee.

Danke
Hartmut Pfarr
2005-12-13 02:19:30 UTC
Permalink
Post by s***@web.de
Post by Hartmut Pfarr
Post by s***@web.de
Hallo zusammen,
ich habe häufiger das Problem, das ich bei Doppelklick auf eine
ALV-Liste in eine Anwendung verzweige, aber der Rücksprung nicht immer
auf die Ausgabeliste, sondern in das Selektionsbild der
Anwendung erfolgt (Beispiel TCODE IW12).
Kennt jemand eine Möglichkeit, dem ALV einen Schalter mitzugeben,
der immer eine Rücksprung auf die ALV-Liste erzwing??
Danke für eure Hilfe
Hallo 4711,
ich weiß nich wie Du Deine Verzweigung realisiert hast, aber ich vermute
mal innerhalb des Usercommands.
* callback: user command
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
case r_ucomm.
...
endcase
endform
Du muß nur eins tun: sicherstellen, dass das Attribut EXIT blank ist.
rs_selfield-exit = ''.
rs_selfield-refresh = 'X'.
rs_selfield-row_stable = 'X'.
Dann wird der ALV nicht verlassen. Zusätzlich kannst Du refresh = 'X'
setzen, damit die Liste aktualisiert wird. Und mit Row_Stable bleibt der
Cursor sogar auf der alten Zeile kleben.
Gruß Hartmut
--
http://hapin.de **** IT-WIKI SAP & JAVA
Hallo Hartmut,
leider hat deine Hilfe nicht zum Erfolg geführt.
Ich beschreibe das Problem etwas genauer.
Im Report verzweige ich beim Doppelklick auf eine ALV-Ausgabezeile in
Abhängigkeit der
markierten Feldes (z. B. Materialnummer) in eine Unterroutine. In
dieser Routine
CALL TRANSACTION 'MB51' USING BDCDATA MODE 'E'.
ab.
Ich verzweige dann direkt in die Materialbelegliste (MB51). Wenn ich
dann F3 drücke,
gelange ich in das Selektionsbild der Transaktion MB51. Das möchte ich
vermeiden,
denn ich will bei F3 auf die ALV-Ausgabe zurückspringen.
Wenn ich die gleiche Routine für die Materialstammanzeige (MM03)
nutze, klappt es,
aber bei MB51, oder wie ursprünglich geschrieben IW12, klappt es
nicht.
Vielleicht hast du, oder andere eine Idee.
Danke
Hallo Sap47110,
jetzt versteh ich Deine Anwendung. Der Fokus liegt nicht auf dem ALV,
sondern im MB51-"Fernsteuern". Vor Deinem
CALL TRANSACTION 'MB51' USING BDCDATA MODE 'E'.
füllst Du die BDCDATA Tabelle so, dass das Selektionsbild prozessiert
wird und nicht erscheint (weil Mode 'E'=Error). Die Kontrolle wird dann
an den Dialog übergeben und die "Steuerung" geht verloren, so dass
sich die Transaktion dann bei F3 so wie immer verhält - und zum
Selektbild zurückspringt.
Dafür gibt es keine Lösung - mit vertretbarem Aufwand - denn da
müßte ja die Standard-SAP-Transaktion an sich geändert werden.

Gruß Hartmut

--
http://hapin.de **** IT-WIKI SAP & JAVA
Stephan Herrmann
2005-12-14 12:15:03 UTC
Permalink
"Hartmut Pfarr" <***@pfarr-informatik.de> writes:

[...]
Post by Hartmut Pfarr
Post by s***@web.de
Hallo Hartmut,
leider hat deine Hilfe nicht zum Erfolg geführt.
Ich beschreibe das Problem etwas genauer.
Im Report verzweige ich beim Doppelklick auf eine ALV-Ausgabezeile in
Abhängigkeit der
markierten Feldes (z. B. Materialnummer) in eine Unterroutine. In
dieser Routine
CALL TRANSACTION 'MB51' USING BDCDATA MODE 'E'.
ab.
Ich verzweige dann direkt in die Materialbelegliste (MB51). Wenn ich
dann F3 drücke,
gelange ich in das Selektionsbild der Transaktion MB51. Das möchte ich
vermeiden,
denn ich will bei F3 auf die ALV-Ausgabe zurückspringen.
Wenn ich die gleiche Routine für die Materialstammanzeige (MM03)
nutze, klappt es,
aber bei MB51, oder wie ursprünglich geschrieben IW12, klappt es
nicht.
Vielleicht hast du, oder andere eine Idee.
Danke
Hallo Sap47110,
jetzt versteh ich Deine Anwendung. Der Fokus liegt nicht auf dem ALV,
sondern im MB51-"Fernsteuern". Vor Deinem
CALL TRANSACTION 'MB51' USING BDCDATA MODE 'E'.
füllst Du die BDCDATA Tabelle so, dass das Selektionsbild prozessiert
wird und nicht erscheint (weil Mode 'E'=Error). Die Kontrolle wird dann
an den Dialog übergeben und die "Steuerung" geht verloren, so dass
sich die Transaktion dann bei F3 so wie immer verhält - und zum
Selektbild zurückspringt.
Dafür gibt es keine Lösung - mit vertretbarem Aufwand - denn da
müßte ja die Standard-SAP-Transaktion an sich geändert werden.
Gruß Hartmut
Hallo zusammen,

statt eines "call transactions" koenntet ihr es ggfs. mit
der Konstruktion "submit ... and return" probieren.
Dazu muesst ihr zunaechst den zur Transaktion gehoerigen
Reportnamen herausfinden, die Parameteruebergabe kann auf
unterschiedliche Arten gestaltet werden (s.Doku zu submit).
Ein Versuch ist es vielleicht wert.

Gruß
Stephan

Loading...