gelöst OK-Code beim ersten mal falsch?


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

gelöst OK-Code beim ersten mal falsch?

Beitragvon qyurryus » 13.03.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?
qyurryus
ForumUser
 
Beiträge: 15
Registriert: 27.08.2018, 12:12
Dank erhalten: 3 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: OK-Code beim ersten mal falsch?

Beitragvon a-dead-trousers » 13.03.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.
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

Für diese Nachricht hat a-dead-trousers einen Dank bekommen :
qyurryus
a-dead-trousers
Top Expert
 
Beiträge: 3181
Registriert: 07.02.2011, 13:40
Dank erhalten: 789 mal
Ich bin: Entwickler/in

Re: OK-Code beim ersten mal falsch?

Beitragvon qyurryus » 13.03.2019, 10:57

Absolut logisch, vielen Dank.
qyurryus
ForumUser
 
Beiträge: 15
Registriert: 27.08.2018, 12:12
Dank erhalten: 3 mal
Ich bin: Entwickler/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Steuerliches Abgangsland in Verkaufsbeleg ändern
vor 20 Stunden von Julia611 1 Antw.
XML hochladen, Abschnitte suchen, Abschnitte als XML zurück
Gestern von deejey 1 Antw.
(LKW)Bedarfsvorschau je Debitor
vor 3 Tagen von wreichelt 5 Antw.
Lieferplan, Einteilungen, Feinabrufe
vor 4 Tagen von bapimueller 0 Antw.
gelöst Smartforms Struktur rechtsbündig
vor 4 Tagen von qyurryus 3 Antw.

  Ähnliche Beiträge beta
Die ersten Nuller in einer Zahl entfernen
28.02.2005, 15:14 von Bitfummler 16 Antw.
ersten und letzten Eintrag einer Tabelle selktieren
27.10.2007, 17:51 von wreichelt 1 Antw.
gelöst FuBa zur Auslesung der ersten Zeile eines SapScripttextes
25.03.2013, 09:30 von miho 2 Antw.
falsch gesetztes loop!?
23.06.2008, 12:46 von BabsiCSC 7 Antw.
falsch gesetztes CLEAR !?
30.06.2008, 13:10 von BabsiCSC 6 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder