본문 바로가기

Ⅰ. ERP/1. ABAP

[SAP ABAP] CALL SCREEN, SET SCREEN

728x90

 

Call screen과 Set Screen의 차이점을 정리해보았습니다.

 

Call Screen은 해당 세션을 바로 불러옵니다. ( A4용지 위에 다른 종이 가져왔다가 버려버림.)

그래서 Call screen > Call screen > leave to screen 0  : 종료

Set Screen은 해당 스크린을 대기열에 올렸다가 불러옵니다. ( A4용지 위에 다음 A4용지를 올린다고 생각하면 될듯)

그래서 Call screen 200 > Set screen 100 > Set screen 200 > leave to screen 0  : 100화면

 

 leave screen

leave screen        : screen을 떠난다.

leave to screen 0 : 이전 화면으로 떠난다.

leave screen        : set 해둔 screen으로 떠난다.

leave program      : program 종료

명령어 + 명령어 액션 다음 로직 이행 유무
Call Screen   스크린 이동
Set Screen    screen setting ( 대기 ) 다음 로직 이행 후 screen 이동
Call Screen leave screen  스크린 이동 無 (leave screen 이행 X)
Set Screen  leave screen  스크린 이동 screen 이동 후 다음 로직 이행

 

Call screen, Set Screen 예시 예제를 만들어서 디버깅하며 test해보았습니다.

Exit을 누를때마다 message로 어떻게 진행되는지 test했습니다.

ZSCREEN_TEST_F01		
		
CALL SCREEN 200.		
SET SCREEN 100.		
LEAVE SCREEN.		
		
MODULE user_command_0200 INPUT.		
CASE OK_CODE.		
  WHEN 'BACK' or 'UP'.		
    PERFORM message USING '200'.		
    leave to screen 0.		
		
  WHEN 'EXIT'.		
    PERFORM message USING '201'.		
    SET SCREEN 100.		
    LEAVE to SCREEN 100.		
    PERFORM message USING '202'.		
ENDCASE.		
ENDMODULE.		
		
MODULE user_command_0100 INPUT.		
		
CASE ok_code.		
  WHEN 'UP' OR 'BACK'.		
    PERFORM message USING '100'.		
    LEAVE TO SCREEN 0.		
  WHEN 'EXIT'.		
    PERFORM message USING '101'.		
    SET SCREEN 200.		
    PERFORM message USING '102'.		
ENDCASE.		
ENDMODULE.

맨 처음 화면은 무조건 Call 로 불러와야합니다.

네모안에 적힌 부분이 화면 번호입니다.

그리고 세부설명도 적어두었으니 참고하세요.

728x90