Posted: Mon Apr 14, 2008 10:27 am Post subject: Возврат на селекционный экран
Доброе утро.
Нужно проверить поле на селекционном экране и в случае ввода не целого числа выдать предупреждение и возвратиться на селекционный экран. Сейчас программа показывает пустой экран и завершается.
Code:
PARAMETERS: p_quan LIKE mard-labst.
START-OF-SELECTION.
DATA: f TYPE f.
f = FRAC( p_quan ).
IF f <> 0.
MESSAGE E000(6F) WITH 'Введите целое количество материала'.
LEAVE TO SCREEN 1000.
ENDIF.
WRITE: / p_quan.
1. Такие вещи лучше проверять в обработчиках событий AT SELECTION-SCREEN, тогда при ошибке выдаете MESSAGE типа E, и возвращаетесь на селекционный экран
2. Если вы хотите проверять именно в START-OF-SELECTION, то ваш кусок кода может выглядеть так:
Code:
PARAMETERS: p_quan LIKE mard-labst.
START-OF-SELECTION.
DATA: f TYPE f.
f = FRAC( p_quan ).
IF f <> 0.
MESSAGE S000(6F) WITH 'Введите целое количество материала'.
STOP.
ENDIF.
WRITE: / p_quan.
Тип сообщения S тут выглядит не очень логично, но зато это работает
Только учтите, после команды STOP выполняется раздел END-OF-SELECTION и только после этого программа выходит на селекционный экран
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.