OK-Code beim ersten mal falsch?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge Seite 1 von 1
3 Beiträge Seite 1 von 1

OK-Code beim ersten mal falsch?

Beitrag von qyurryus (ForumUser / 20 / 18 / 4 ) » 13. Mär 2019 09:45

Hallo,

ich bin dabei einen SAP-Hinweis einzubauen, bei dem man ein Programm mit Modulen anlegen und coding copy-pasten muss (Hinweis 2053795)
So weit kein Problem, wenn da nicht folgendes, mir unerklärliches, zugegebenermaßen eher kleines Problem wäre:
Der ok_code wird beim ersten mal immer falsch übergeben - danach korrekt.

zugehöriges PAI-Modul:

Code: Alles auswählen.

module user_command_2000 input.

  set pf-status 'STATUS_2000'.
  set titlebar 'TITLE_2000'.

* Get input data
  lt_cond_unchanged = lt_conditions.
  lo_grid->check_changed_data( ).
* Check whether changes where made
  call function 'CTVB_COMPARE_TABLES'
    exporting
      table_old  = lt_cond_unchanged
      table_new  = lt_conditions
      key_length = 30
    importing
      table_mod  = lt_cond_mod
      no_changes = lv_no_changes.
* Process user command
  ok_save = ok_code.
  clear ok_code.
  case ok_save.
* Leave screen/program
    when 'BACK' or 'EXIT' or 'CANC'.
Symbolleiste in STATUS_2000:

Bild

Beim Debuggen sehe ich, dass der OK_CODE (und sy-ucomm) statt "BACK" "E", statt "CANCEL" "ECAN", statt "EXIT" "ENDE", statt "SAVE" "SPOS" ist - wie erwähnt NUR beim ersten mal, danach korrekt.
Weder im PAI oder PBO-Modul wird der ok_code oder sy-ucomm maunell überschrieben.
Hat jemand eine Idee, woran das liegen könnte?


Re: OK-Code beim ersten mal falsch?

Beitrag von a-dead-trousers (Top Expert / 3206 / 81 / 795 ) » 13. Mär 2019 10:53

Der GUI-Status wird erst beim Auslösen eines Funktionscodes auf den korrekten Eintrag geändert.
SET PF-STATUS und SET TITLEBAR sollten eigentlich in einem PBO-Modul stehen.
Wenn ich mir die Funktionscodes die du erwähnt hat (z.B: ECAN) so anschaue dürfte zuvor der GUI-Status von einem Standard-Report (%_CS) verwendet werden.
Ganz leicht zu debuggen indem du beim SET PF-STATUS einen Break-Point setzt und dir den Inhalt von SY-PFKEY anschaust.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
qyurryus

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: OK-Code beim ersten mal falsch?

Beitrag von qyurryus (ForumUser / 20 / 18 / 4 ) » 13. Mär 2019 10:57

Absolut logisch, vielen Dank.

Seite 1 von 1

Aktuelle Forenbeiträge

ABAP Clean Code
vor 44 Minuten von deejey 54 / 1335
Funktionsbaustein READ_TEXT
vor 17 Stunden von Tron 2 / 121
Code lesen
Gestern von GastX 5 / 1464
CL_GUI_TEXTEDIT im Subscreen
Gestern von black_adept 2 / 84

Unbeantwortete Forenbeiträge

HowTo? Reisekosten PR05: Land hinzufügen
vor 2 Tagen von Florian9999 1 / 75
eMail Versand Faktura, falscher Betreff in eMail
vor 2 Tagen von bapimueller 1 / 74
[GELÖST] Kundenhierarchien in der Preisfindung
vor 3 Tagen von SAP_ENTWICKLER 1 / 84
[GELÖST] Feld KNVV-BOIDT
vor einer Woche von SAP_ENTWICKLER 1 / 65