OK-Code

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

OK-Code

Beitrag von TomTom ( / / 0 / 3 ) »
Hallo zusammen,

ich habe mehrfach vom OK-Code gelesen. Mir ist aber nicht klar, was das ist bzw. was er bewirkt. Ich habe gelesen, dass man ihn in das Transaktionscode-Feld links oben schreibt. Ist es das gleiche, wie ein Transaktionscode? Darüber hinaus ist mir aufgefallen, dass OK-Code auch hin und wieder im Programmtext vorkommt. Kann mir jemand weiter helfen?

Gruß TomTom

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


Beitrag von joachim (ForumUser / 70 / 0 / 3 ) »
Internes Arbeitsfeld zur Aufnahme eines definierten Funktionscodes.

Wenn der Benutzer eine Funktion in einer Transaktion auslöst, überträgt das System den Funktionscode in das OK-Code-Feld (OK_CODE).

Der Inhalt dieses Feldes wird im entsprechenden PAI-Modul ausgewertet


joachim

Folgende Benutzer bedankten sich beim Autor joachim für den Beitrag:
ReneR


Beitrag von TomTom ( / / 0 / 3 ) »
Hat der OK-Code also nichts mit dem Transaktionscode-Feld zu tun? Hatte gelesen, dass man ihn dort eintragen kann/soll.

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

JEIN!

OK-Code-Feld:
In einem Dynpro muss i.d.R. in der Elementliste das OK-Code-Feld einer Programmvariablen (häufig OK_CODE oder OKCODE) zugeordnet sein, damit das Programm zum Zeitpunkt PAI Informationen zur beabsichtigten/gewünschten Funktion erhält.

Statt eines Menüpunktes oder eines Druckknopfes kann man einen Funktionscode auch in das Transaktionscode-Feld eingeben, was zum Übertragen des FCodes in die OK-Code-Variable führt. Somit dient das TCode-Feld zur Eingabe eines FCodes.

Durch diese Möglichkeit können auch 'versteckte' Funktionen aufgerufen werden.
Beispiel:
In normalen ABAP-Listen kann man die Funktion 'Suchen' aufrufen, wenn man im TCode-Feld '%SC' eingibt. Dadurch wird ein Popup eingeblendet, in dem man einen Begriff zum Suchen verwenden kann.
Gruß
Ereglam


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

Aus der Geschichte .....

Beitrag von Der Mühlviertler (ForumUser / 29 / 0 / 0 ) »
Servus,

um obiges noch zu ergänzen: Der OK-Code ist ein Relikt aus der R/2 Zeit (... wie so manches ...). Damals gab es (zumindest in den Releases < 5.0) keine Menüs; Funktionen konnten grundsätzlich nur über Transaktionscodes oder, sofern im Userstammsatz belegt, über PF-Tasten aufgerufen werden. Der OK-Code befand unten links und man konnte damit die lfd. Transaktion abbrechen, neue aufrufen, in Alternativmodi verzweigen u.v.m. - ganz ähnlich dem Kommandofeld jetzt.

Herzliche Grüße

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

die erste Antwort von "joachim" gefällt mir noch am Besten.

Das OK-Code-Feld ist vielleicht ein Relikt aus "alten Zeiten", aber es ist heute der Dreh- und Angelpunkt alle Dialogprogramme.

Das Transaktionsfeld "oben links" nimmt Funktionscodes entgegen. Das können Transaktionsaufrufe oder andere Funktionen sein. Das was hier eingegeben wird landet im Systemfeld SY-UCOMM.

Alle Menübefehle, Drucktasten oder Ikonden haben ein zugeornetes Codewort. Dieses Codewort wird immer das Systemfeld SY-UCOMM eingetragen, wenn der Benutzer die "Dinger" betätigt.

Das Dynprofeld welches dem OKCODE (meist OK-CODE) zugeordnet bekommt auch den eingegebenen Code.

Jedes Programm kann jetzt in einem Modul der Abteilung PAI (Process after Input) entscheiden was jetzt gemacht werden soll.

Code: Alles auswählen.

MODULE PAIXXX.
CASE sy-ucomm. (CASE ok-code.)
  WHEN "BACK".
  ...
  WHEN "NEU".
  ...
  WHEN "GEHEIM".
  ...
  WHEN "HURTZ".
  ...
  WHEN OTHERS.
ENDCASE.
ENDMODULE
Welches Feld man im Programm wirklich verwendet, ob man das Feld zwischensichert oder nicht, im Prinzip geht das immer so.

Bestimmte Systemcodes werden nicht an das Programm weitergeleitet, sondern direkt vom System ausgeführt (Transaktionsabbruch, Transaktionsaufruf, Debugger)

Gruß
babap

Folgende Benutzer bedankten sich beim Autor babap für den Beitrag:
ReneR


Seite 1 von 1

Vergleichbare Themen

9
Antw.
3435
Views
Aufgezeichneter Code
von Inventy » 23.05.2018 08:48 • Verfasst in ABAP® für Anfänger
2
Antw.
2828
Views
Drucken QR-Code
von Nyffenegger_2020 » 01.02.2021 11:55 • Verfasst in ABAP® für Anfänger
5
Antw.
2431
Views
Code Optimierung
von Mischi83 » 23.03.2017 14:08 • Verfasst in ABAP® für Anfänger
1
Antw.
1588
Views
code s_flight_model_data_generator
von Gast » 20.10.2005 14:51 • Verfasst in ABAP® Core
6
Antw.
3701
Views
Code optimierung
von swonny » 29.06.2007 08:59 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 34 Minuten von Lukas Sanders 2 / 783
Dialog-Container mit Toolbar/Status
vor 13 Stunden von black_adept gelöst 21 / 2612

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

Daten an Tabelle binden
vor 34 Minuten von Lukas Sanders 2 / 783
Dialog-Container mit Toolbar/Status
vor 13 Stunden von black_adept gelöst 21 / 2612

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2399
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 8984