ABAP

자주 쓰는 Layout (FUNCTION)

아밥하는빠네 2022. 7. 19. 23:44

Function 작성 시 자주 쓰는 Layout .

지금까지 그렇게 작성 해왔고 앞으로도 이런 방식을 작성 하기 위해 기록

 

IF 용 Function 인 경우 시작과 종료에 LOG 를 남긴다.  

PERFORM START_LOG.
PERFORM END_LOG .

실행 로그 저장시 입력받은 매개변수 값은 원래의 값 그대로 로그에 저장 , 종료 로그 저장시 OUTPUT 매개변수 값도

그대로 저장이 핵심 

 

입력 값의 체크 및 유효성 점검은 아래 FORM 에서 진행 하며 오류 종료 시 FORM END_LOG 호출 

PERFORM CHECK_~ 
PERFORM SET_~ 

 

Main Process 

PERFORM PROCESS_~ 

 

 

전체적 순서 

 

*--------------------------------------------*
* START LOG
*--------------------------------------------*
PERFORM START_LOG . 

*--------------------------------------------*
* CHECK  INPUT VALIDATION
*--------------------------------------------*
PERFORM CHECK_~ .
IF SY-SUBRC <> 0 .  " 오류를 표현하기 위해 SY-SUBRC 로 표현 
   PERFORM END_LOG .
   EXIT.
ENDIF. 

*--------------------------------------------*
* SET VALUE
*--------------------------------------------*
PERFORM SET_~.
IF SY-SUBRC <> 0 .  " 오류를 표현하기 위해 SY-SUBRC 로 표현
   PERFORM END_LOG .
  EXIT.
ENDIF. 

*--------------------------------------------*
* PROCESS
*--------------------------------------------*
PERFORM PROCESS_~ 

*--------------------------------------------*
* END LOG
*--------------------------------------------*
PERFORM END_LOG .

 

여기서 주의 할점은 CHECK시 이용하는 데이터를 다시 SET에서 읽어오는것에 부담을 느끼지 말것

예를 들어 MARA 에서 MATNR의 정보를 이용해야 하는 경우

CHECK에서는 MARA에서 단순히 MATNR의 존재 여부만을 CHECK하고

SET에서 MARA의 정보를 담을 것 .

 

그리 해야 CHECK와 정보 가공이 분리 된다. .. 

 

개인적으로 그러하다.