Event bei Programmende

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

Event bei Programmende

Beitrag von Wayne (ForumUser / 4 / 0 / 0 ) »
Hallo,
ist es möglich, einen Code bei Programmende auszuführen?
Ich möchte, dass der User gefragt wird, ob er die Daten speichern will und nicht die ganzen, von ihm manipulierten, Daten verloren gehen, nur weil er unbeabsichtigt rausgeht.
Habe leider nichts in der SAP-Doku gefunden (zumindest nichts, womit ich was anfangen könnte) und auch hier im Forum.

Vielen Dank,
Wayne

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Wayne,

solange der User das Programm über die 'normalen' Funktionscodes (F3, Shift-F6 oder F12) verlassen will und Du den F-Tasten entsprechende F-Codes zugeordnet hast, musst Du Dir nur merken, ob das Sichern schon stattgefunden hast.

Gegen ein Verlassen mittels '/n' gibt es m.W. keine Abfangmöglichkeit (ist wohl auch nicht gewollt).
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Wayne (ForumUser / 4 / 0 / 0 ) »
Ich habe noch keine F-Codes hinzugefügt. Wie kann ich dies denn machen? Habe schon die wildesten Sachen fabriziert, leider ohne Erfolg.

Danke
Wayne

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Wayne,

hast Du noch nicht den Befehl 'SET PF-STATUS' benutzt, um einen Anwenderstatus (Menü und/oder Buttonleiste) zu setzen? Bzw. Funktionscodeauswertung?
Wie sieht es bei Dir mit Dynproprogrammierung aus?

Beschreib doch ein bisschen ausführlicher, was das für ein Programm ist, dass da massenhaft Anwendereingaben annimmt und speichern soll.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Wayne (ForumUser / 4 / 0 / 0 ) »
Hey ereglam,
du hast Recht, ich führe das Ganze ein bisschen weiter aus.
Ich habe den Auftrag bekommen, mich mit ABAP zu beschäftigen. Habe nun bisher leichte Sachen gemacht (Tabelle auslesen, ausgeben, "At line-selection", etc). Nun bekam ich die Aufgabe, herauszufinden, ob man irgendwie noch Code ausführen kann, wenn der User eben aus dem Programm rauswill (Üner die Pfeile oder sonstwie). Das sollte eben ein Sichern der Daten simulieren.
Und da hänge ich eben gerade, ich weiß nicht, wie ich das machen soll.
Die Beispiele zu SET PF-STATUS zB funktionieren bei mir nicht ohne weiteres.
Darum erhoffe ich mir hier Hilfe.

Wayne

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Wayne,

es gibt für die Reports den Befehl AT PFn. Mit Diesem kann man in einem 'normalen' Listreport die F-Tastenauslösung Fn (z.B. Shift-F6 müsste PF18 sein) auswerten, um dann weitere Logik zu hinterlegen.
Schau Dir dazu bitte die Hilfe zum Befehl an.

PS:
Insgesamt ist das ein recht komplexes Thema ;)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Wayne (ForumUser / 4 / 0 / 0 ) »
oh ja, komplex ist es...:)

Kann es sein, dass ich mit dem AT PFn zwar die Tastenauslösungen abrufen kann, aber die für mich relevanten wie F3 und Shift-F3 nicht "beherrschen" kqann und ihm sagen, was er erst noch machen soll?
Soweit ich das bisher verstanden habe, muss ich also erst mit SET PF-STATUS einen eigenen Status erstellen und dann dort bestimmen, welche Funktionen und Tastenmöglichkeiten vorhanden sein sollen?
Wenn das soweit richtig ist, wie kann ich dann zu meinem erstellten Status die Tastenmögl. und Funktionen festlegen?
Mir würde (hoffentlich) auch ein Link zu einem erklärendem Text reichen. Ich komme mit der Hilfe zu diesem Thema nicht ganz zurecht.

Vielen Dank schonmal,
Wayne

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Wayne,

beim Definieren eines Status weist Du dem grünen Pfeil, dem gelben Pfeil und dem roten Kreuz jeweils einen Funktionscode zu. (Beachte bitte, dass die F-Codes BACK und FW nicht benutzt werden sollten)
Im Programm setzt Du dann recht früh mit SET PF-STATUS Deinen Status.

Zum Auswerten benutzt Du den Zeitpunkt AT USER-COMMAND. Im Beispiel zum Befehl wird grob gezeigt, wie so etwas dann aussehen sollte.

Code: Alles auswählen.

DATA: NUMBER1 TYPE I VALUE 20, 
      NUMBER2 TYPE I VALUE  5, 
      RESULT  TYPE I. 

START-OF-SELECTION. 
  SET PF-STATUS 'status'.
  WRITE: / NUMBER1, '?', NUMBER2. 

AT USER-COMMAND. 
  CASE SY-UCOMM. 
    WHEN 'ADD'. 
      RESULT = NUMBER1 + NUMBER2. 
    WHEN 'SUBT'. 
      RESULT = NUMBER1 - NUMBER2. 
    WHEN 'MULT'. 
      RESULT = NUMBER1 * NUMBER2. 
    WHEN 'DIVI'. 
      RESULT = NUMBER1 / NUMBER2. 
    WHEN OTHERS. 
      WRITE 'Unknown function code'. 
      EXIT. 
  ENDCASE. 
  WRITE: / 'Result:', RESULT.
Ich vermute mal, dass Du das Beenden des Programms dann mit LEAVE PROGRAM explizit ausführen musst. :?:
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2487
Views
Close Dataset erst nach Programmende?
von LazyJones » 21.08.2015 10:04 • Verfasst in ABAP® Core
5
Antw.
3433
Views
Event startet Job, wie ein weiteres Event verarbeiten?
von Romaniac » 28.09.2022 15:47 • Verfasst in ABAP® Core
0
Antw.
2814
Views
WebDynpro: Event Handler für externes Event
von Tommy Nightmare » 20.06.2018 09:05 • Verfasst in ABAP Objects®
1
Antw.
2810
Views
ALV Event Dropdownlistbox
von axelk » 02.09.2008 16:15 • Verfasst in Dialogprogrammierung
1
Antw.
2113
Views
Auf Event reagieren
von Christ » 13.10.2006 09:20 • Verfasst in ABAP® Core

Ü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.