OK-Code beim ersten mal falsch? Thema ist als GELÖST markiert

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 / 21 / 20 / 5 ) » 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 / 3212 / 81 / 798 ) » 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 / 21 / 20 / 5 ) » 13. Mär 2019 10:57

Absolut logisch, vielen Dank.

Seite 1 von 1

Aktuelle Forenbeiträge

Quellcodeänderung mehrerer Programme
vor 26 Minuten von Tron 11 / 310
BAPI_PO_CREATE1 und Einkaufsinfosatz
Gestern von SweetRuedi 1 / 56
Format xx oder xx-xx oder xx-xx-xx
vor 2 Tagen von black_adept 5 / 195
Salv Table - Layouts speichern
vor 2 Tagen von ewx 2 / 81
WCOCO: Gruppe für Betragsfelder 0S01
vor 3 Tagen von SAP_ENTWICKLER 1 / 41

Unbeantwortete Forenbeiträge

BAPI_PO_CREATE1 und Einkaufsinfosatz
Gestern von SweetRuedi 1 / 56
WCOCO: Gruppe für Betragsfelder 0S01
vor 3 Tagen von SAP_ENTWICKLER 1 / 41
CAS-Nr.: Chemical Abstracs Service
vor 5 Tagen von SAP_ENTWICKLER 1 / 76
Interaktives Skript, Rolle IC-Manager
vor einer Woche von erubadhron86 1 / 118
Wie findet man das Rahmenprogramm eines Infosets?
vor einer Woche von DeathAndPain 1 / 142