

안녕하세요..
아래 비슷한 질문을 드렸습니다.
팰릭스님과 e-abap님이 답변을 주셨는 데,
팰릭스님이 Set Cursor를 이용하라고 하시네요..
먼저 잠시나마 그림으로 도배 좀 하겠습니다...죄송합니다.
프로그램을 실행하면
START-OF-SELECTION.
CALL SCREEN 0100.
SCREEN 0100에서 조건을 입력받고 엔터키를 입력하면 POPUP창을 띄웁니다.
call screen 0110 starting at 4 4.
POPUP SCREEN 0110에서 역시 조건을 입력받는 데,(그림1)
필드에 값을 입력하지 않고 엔터를 클릭하면 해당 필드의 값을 입력하라고 메시지를 띄웁니다.
예를 들어 Sales Org.를 입력않고 엔터를 클릭하면 (그림2)
궁금한 것은 다음과 같습니다.
저는 POPUP Screen에서 엔터를 클릭하였을 때 해당 필드의 값을 체크해 값이 없을 경우
그림1과 같이 필드를 입력하라는 메시지를 띄우고 메시지 박스에서 V를 클릭하면
그 해당필드에 포커스를 옮겨 입력을 받을 수 있게 구현하려 합니다.
현재 구현된 부분은 다음과 같네요..
예이므로 Sales Org만 할께요..나머지도 동일한 코드라서요
if GS_SCR0110-vkorg is initial.
MESSAGE E000 with 'Fill in Sales Org. Field'.
set cursor field 'GS_SCR0110-VKORG'. "스크린의 Sales Org. 필드명
endif.
그런데 Popup Screen에서 엔터를 치는 순간 Popup Screen의 필드들이 비활성화가 되네요(그림2)
그래서 Set Cursor가 안먹는 듯 합니다.
무엇이 문제인지 조언 부탁드립니다. 고맙습니다.
댓글 6
-
임재형
2007.05.29 00:56
chain. endchain. 문을 써야 할듯한데요 -
임재형
2007.05.29 01:07
스크린페인터 에서 해당 필드를 더블클릭하시고 밑부분에서 프로그램탭에서 input 을 required로 바꾸셔도 됩니다.
-
펠릭스
2007.05.29 01:19
메세지를 E type으로 했을 경우, 해당 에러 발생시 아래 프로세스 안탑니다. I type으로 해보세요...
-
임재형
2007.05.29 01:38
http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbaa4735c111d1829f0000e829fbfe/content.htm를 참조하시기 바랍니다. ready for input에 관해서 설명이 잘 나온거 같네요 -
김지성
2007.05.30 01:02
임재형님, 팰릭스님 답변 고맙습니다.
chain문을 이용했구 메세지를 걍 i Type으로 해버렸네요..
답변 주셔서 해결 했습니다. 고맙습니다.
-
ABAP쟁이
2008.10.09 01:36
감사합니다