저의 초보적인 생각으론 코딩순서대로 프로그램이 진행되어야 한다고 생각하는데
오늘 공부를 하다보니 앞에 라이트문이 있고 그뒤에 콜스크린이 있고 다시 라이트문이 있더라구요
제이론상으론 라이트문을 1000번 화면에 뿌려주고
콜스크린100 이니 100번 화면가서 화면 실행해주고 다시 1000번와서 라이트문 뿌려주고 그래야 하는거 같은데
실행을 해보면 바로 100번 화면가서 그뒤에 다시 1000번화면 와서 라이트문 뿌려주더라구요
그래서 콜스크린 위치를 바꿔봤는데 역시나 콜스크린이 먼저 나오더라구요
이건 왜그런건지 좀 부탁드립니다
댓글 5
-
초보아밥퍼
2008.04.21 22:00
-
바보아밥퍼
2008.04.21 23:38
그러면 화면번호가 빠르면 무조건 거기먼저 탄다는 말씀이신가요? -
초보아밥퍼
2008.04.21 23:56
아니죠.. 화면번호가 문제가 아니라 write 문 자체가 기본 1000번 화면을 사용하고 있고요
셀렉트화면(1000번) -> [call 100번] ->write(1000번) -> [call 100번].
[] <-- 있거나 없거나...
차이가 없는것은 앞쪽 call 100번이라면 100번에 해당하는 로직을 다탄후에 1000번을 타겠죠.
뒷쪽 100번이라면 write를 하고나서 call 100번을 하였다면 바탕에 1000번이깔린상태에서 100번이 호출되는거예요
결국 back을 명령으로 leave to screen 0. 전화면으로 간다면 1000번으로 가겠죠.
그래서 나중에 뿌려지는거 같이 보이는거예요.
헷갈리실라나...화면을 하나 더 호출한게 뽀인트라면 뽀인트
-
bd
2008.04.22 00:50
ABAP 은 절차 지향적인 언어로 알고 있습니다.
말씀대로 "라이트문이 있고 그뒤에 콜스크린이 있고 다시 라이트문이 있더라구요 제이론상으론 라이트문을 1000번 화면에 뿌려주고 "
이면 라이트문이 실행 (1000번) 콜스크린 (100번) 라이트문 (1000번) 이런 식으로 실행되는것이 맞지 않나 싶네요 ^^
행여나 스큰린 100번 부터 올라 왔다면 ..
INITIALIZATION 부분에 CALL SCREEN 의 로직이 들어 있는게 아닌가 싶네요^^
-
바보아밥퍼
2008.04.22 02:27
초보아밥퍼님 매번 답변 감사드립니다 bd님도 감사드립니다 아밥퍼님 답변보고 이제 조금 이해가 가는거 같습니다
이제 얼마 안남았는데 남은시간 고생하시구요 일찍퇴근하시길 바랍니다
기본 바탕이 1000번이면 100번은 그화면(1000번) 위에 있는 화면이라고 보시면 됩니다.
설명이 됐나 모르겠네영
수고하세요