선택화면에서 입력값을 체크하게 로직을 걸었습니다.
입력값에 틀린값이 들어왔을 경우
에러메시지 보여주고 원래의 선택화면을 보여주면 되는데...
에러메시지까지는 보여주나, 선택화면이 안보여지고 텅빈 화면만 보여집니다.
그래서 엔터누르면 sap초기화면으로 가버립니다.
어떻게 해결해야될까요?
(EXIT, CALL TRANSACTION, LEAVE SCREEN 등 해봤으나 상태는 똑같습니다. ㅠㅠ)
START-OF-SELECTION.
CLEAR : P_YEAR.
P_YEAR = BERDATUM+0(4).
IF BEREICH1 <> '60' .
MESSAGE E474 WITH '60,02을 입력하시오.'.
* EXIT.
* CALL TRANSACTION 'ZFIR9207'.
ENDIF.
* e-abap님에 의해서 게시물 이동되었습니다 (2010-07-07 23:37)
* e-abap님에 의해서 게시물 이동되었습니다 (2010-07-07 23:42)
댓글 3
-
Risky
2010.07.07 20:12
-
맨날초보
2010.07.07 20:15
앗...해결해서 글 다시 쓰려고 했는데 Risky님이 먼저 달아주셨네요. ^^
IF BEREICH1 <> '60' .
MESSAGE S474 WITH '60,02을 입력하시오.'.
EXIT.
ENDIF.
로 해결했습니다. 감사합니다.
-
맑은하늘
2010.07.08 00:54
맨날초보님 말씀에 첨언하자면
IF BEREICH1 <> '60' .
MESSAGE S474 WITH '60,02을 입력하시오.' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
라고 하시면 오류메세지 처럼 보입니다. ^^
개인적인 생각입니다만, 왜 선택화면 조건을 점검하는데 START-OF-SELECTION에서 점검하시는지
잘 이해가 안되네요. AT SELECTION-SCREEN ON field 에서 필드단위 체크를 하시면 될 것 같은데요.
이유가 있겠지만..... 그냥 개인적인 생각이었습니다.
메세지 타입을
MESSAGE S474 WITH '60,02을 입력하시오.'.
로 바꿔보세요.