Ⅰ. ERP/1. ABAP

[ABAP] Screen language

초록활명수 2023. 4. 27. 09:13
728x90

모듈풀의 화면 혹은 VIEW 화면 의 경우 흐름로직 (Flow Logic) 을 통해 화면을 구성해야한다.

예시 아래 화면은 View 화면의 흐름로직이며, PBO, PAI등으로 구성되어 있고 데이터 선언이 안된다. 

여기서 사용되는 언어를 Screen language라고 한다. 

* PBO ( PORCESS BEFORE OUTPUT )

스크린의 PAI 이벤트가 실행되고, 현재 스크린이 조회되기 전에 자동으로 실행됨.

PBO이벤트가 실행되고 나서 스크린이 조회됨

화면이 처음 실행되면 PBO만 수행함

화면에서 사용자가 이벤트를 발생시키면 PAI 가 수행되고, PBO가 실행

PBO는 주로 화면의 초깃값을 지정하는데 자주 사용

* PAI ( PROCESS AFTER INPUT )

사용자가 버튼을 클릭하는 것과 같은 액션을 수행하였을 때 발생하는 이벤트 블록

PAI 이벤트가 실행된 후 다음 스크린의 PBO 이벤트를 호출

* POH ( PROCESS ON HELP-REQUEST )

사용자가 F1키를 눌렀을 때 발생하는 이벤트 블록

* POV ( PORCESS ON VALUE-REQUEST )

사용자가 F4키를 눌렀을 때 발생하는 이벤트 블록

 

CALL ~ " SUBSCREEN 을 호출한다
MODULE ~ "프로세싱 MODULE을 정의하고, DIALOG MODULE 을 호출한다.
FIELD ~ "스크린 필드에서 ABAP 필드로 데이터를 복사하는 구문. 스크린필드들은 PAI이벤트를 수행하기 전에는 ABAP프로그램에 복수 불가능
FILED WBTABLE-FLID MODULE CHECK_FLID ON REQUEST. "WBTABLE-FLID 필드값이 변경되었을때 CHECK_FLID 모듈을 수행
ON ~ "FIELD 구문과 함께 사용
VALUE ~ "FIELD KEYWORD 와 같이 사용
CHAIN ~ ENDCHAIN "CHAIN 처리를 시작. 여러개의 필드를 그룹으로 처리
LOOP ~ ENDLOOP "LOOP
MODIFY ~ "스크린 TABLE을 변경
PROCESS ~ "프로세스 이벤트를 정의
PROCESS BEFORE OUTPUT ~
SELECT ~ "SELECT 구문 사용 가능. 단, * 만 사용할수 있는 제약
SELECT * FROM TABLE NAME WHERE TABLE-KEYFIELD = INPUTFIELD AND .. INTO FIELD NAME WHNEEVER NOT FOUND SEND ERRORMESSAGE MESSAGEUMBER WITH FIELDNAME ..
VALUE ~ "INPUT 값을 정의한다.
FIELD FIELD_NAME VALUES (LIST OF VALUE).
 chain에 따른 module의 옵션값중에서

on input                 ==> 값이 입력되면 무조건 실행
on request             ==> 값이 변경되면 실행함
on chain-input.       ==> chain ~endchain에 묶인 필드들중에 값이 입력되면 실행됨
on chain-request.   ==> chain ~endchain에 묶인 필드들중에서 값이 하나라도 변경되면 실행됨
728x90