wir haben ein (zumindest für mich) unerklärliches Verhalten in einem Report. Die Werte des Selektionsbildschirms werden nach ENTER bei dem Event AT SELECTION-SCREEN geprüft, ein Fehlerpopup wird ausgegeben und die Verarbeitung mit Stop beendet. Der Wert auf dem Selektionsbildschirm wird korrigiert, die ENTER Taste geklickt und die Prüfungen werden erfolgreich absolviert. Wenn ich jetzt F8 klicke, wird der Event START-OF-SELECTION nicht durchlaufen. SY-UCOMM ist 'ONLI', das sieht für mich alles gut aus. Hat jemand von Euch dazu eine Idee? F8 funktioniert nach einmaligem ENTER einwandfrei, nach dem 2. ENTER nicht mehr.
Ich wäre froh wenn jemand von Euch eine Idee dazu hat.
Das bringt leider nichts. Zum Einen habe ich an der Stelle kein 'ONLI' - denn der Stop Befehl wird ja nach dem Ausführen von 'ENTER' im Fehlerfall ausgeführt. Zum anderen entsteht ja der Fehler nach dem 2. Enter, wenn die Eingabe fehlerfrei ist und damit der Stop Befehl gar nicht ausgeführt wurde.
Und es bringt doch was Du hast vollkommen Recht - das löst mein Problem. Ich hatte im Debugging nach dem 2.Enter und vor dem Ausführen von F8 sy-ucomm und sscrfields-ucomm gelöscht. Das Problem entsteht offensichtlich schon beim ersten Enter-Klick. Ich habe jetzt Stop durch die Clears ersetzt und siehe da- es läuft einwandfrei. In der Online-Hilfe zu STOP steht das es bei Anwendung im Event AT SELECTION-SCREEN direkt das Ereignis END-OF-SELECTION auslöst. Und eigentlich will ich ja genau das im Fehlerfall. Mit message eXXX wird das automatisch ausgelöst mit Display as 'E' oder Fehlerausgabe mit Popup muss das ja expliziert gesteuert werden sonst erhält man die Fehlermeldung aber das Programm läuft munter weiter.