Cursor im Dynpro ins Feld setzen

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Cursor im Dynpro ins Feld setzen

Beitrag von ManMan (ForumUser / 26 / 10 / 0 ) »
Cursor.PNG
Hallo zusammen,

ich habe ein Dynpro mit 4 Feldern angelegt. 2 sind Eingabefelder, 2 sind Ausgabefelder (ausgegraut). Wenn ich im ersten Feld Lieferantennummer eingebe und danach Enter-Taste drücke, erscheint im 2 Feld der Lieferantenname für die eingegebene Lieferantennummer. Jetzt möchte ich, dass der Cursor danach zur Kundennummer springt. Das tut er aber nicht. der bleibt im ersten Feld "Lieferantenname" Was mache ich falsch?

Code: Alles auswählen.

PROCESS BEFORE OUTPUT.
module set_cursor.
  MODULE ZSTATUS_8000.

module set_cursor output.
data lv_field type c.

 case lv_field.
  when ''.
 SET CURSOR FIELD 'LIFNR'.
 lv_field = 'LIFNR'.
 WHEN 'LIFNR'.
 SET CURSOR FIELD 'LINAM'.
 lv_field = 'KUNNR'.
 endcase.
 endmodule.
Danke für die Hilfe.

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


Re: Cursor im Dynpro ins Feld setzen

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Na ja, es ist nur ein Codefragment, das Du da bietest. Insbesondere ist nicht klar, auf welche Weise der Wert von lv_field überhaupt gesteuert wird.

Aufpassen musst Du mit dem DATA-Befehl in einem MODULE. "MODULE"-Code ist globaler Code; jede hier definierte Variable ist global! Deswegen sollte man in MODULES eigentlich gar keine Variablen definieren, sondern solche globalen Variabeln (soweit tatsächlich benötigt) in ein TOP-Include packen. Deine Bezeichnung "lv_" weist darauf hin, dass Du von einer lokalen Variable ausgehst, was falsch ist. MODULES sind global.

Willst Du innerhalb von MODULE mit lokalen Variablen arbeiten (was durchaus empfehlenswert ist), dann solltest Du in eine FORM (oder, falls Du ein Jünger der Objektorientierung bist, in eine Methode) abspringen. Im Extremfall hast Du dann zwischen MODULE und ENDMODULE nur einen einzigen Befehl PERFORM (oder CALL METHOD). In der Form/Methode kannst Du dann lokale Variablen nutzen.

Aber das nur am Rande. Hinsichtlich Deiner Anforderung stelle ich den Sinn der Variablen lv_field generell in Frage, denn Du willst die Cursorposition ja von der Füllung des Feldes LIFNR abhängig machen und nicht vom Inhalt irgendeines selbstdefinierten Drittfeldes.

Ich würde also in Deinem Code irgend etwas in Richtung

Code: Alles auswählen.

IF LIFNR IS NOT INITIAL.
  SET CURSOR FIELD 'LINAM'.
ENDIF.
erwarten. Allerdings kann sowas auch tückisch sein: Wenn Du das so einfach ins PBO schreibst, dann wird der Cursor nicht nur initial in dem Feld stehen, sondern auch bei jedem Druck auf Enter wieder dorthin zurückspringen, auch wenn der Benutzer ihn absichtlich in ein anderes Feld bewegt hat (etwa weil Dein Dynpro noch weitere Eingabefelder enthält).

Re: Cursor im Dynpro ins Feld setzen

Beitrag von ParLaMenT (ForumUser / 14 / 0 / 2 ) »
Frägst du im PAI-Module den Cursor ab?

Code: Alles auswählen.

GET CURSOR FIELD lv_field.
Amsonsten schließe ich mich DeathAndPain an.
Keine DATA-Anweisungen in Module.
Deklariere die Variable in TOP-Include.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3773
Views
Cursor in Feld setzen
von Suti » 29.01.2007 15:27 • Verfasst in Dialogprogrammierung
1
Antw.
2118
Views
Cursor auf Feld setzen, Wert eintragen und bestätigen
von Maximilian_Egeler » 26.10.2006 23:27 • Verfasst in Dialogprogrammierung
5
Antw.
5917
Views
Dynpro- Feld defaul setzen
von Nadine_2706 » 19.08.2011 09:46 • Verfasst in ABAP® für Anfänger
3
Antw.
2119
Views
CL_GUI_HTML_VIEWER - Cursor setzen
von VolkerPuttmann » 20.02.2016 16:54 • Verfasst in ABAP Objects®
4
Antw.
9023
Views
Cursor im ALV-Grid setzen
von made » 20.12.2005 17:10 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141