상세 컨텐츠

본문 제목

[ABAP] DEFINE문법을 이용하여 RANGE 변수를 깔끔하게 사용하자

ABAP

by Nij Gnawk_Nos 2021. 2. 12. 15:57

본문

TOP에 아래 코드블럭에 쓰인 것처럼 정의해준다. 

DEFINE _ranges.
  CLEAR &1.
  &1-sign = &2.
  &1-option = &3.
  &1-low = &4.
  &1-high = &5.
  APPEND &1.
END-OF-DEFINITION.

 

일반적으로 gr, lr_range를 선언하고 변수에 sign, option, low, high 값들을 필요할 때마다 선언해주는 것처럼 해도 문제없지만 위와 같이 선언해놓고 사용하면 최소 5줄 이상 나올 코드를 한 줄로 간소화시킬 수 있다는 장점이 있다.

 

그 후 범위 값을 넣어주려면 아래와 같이 사용하면 된다.

_ranges: gr_number 'I' 'BT' '1' '33'.

 

필요한 부분에 이 한 줄만 작성해 준다면 gr_number라는 range변수에 1부터 33까지의 값들이 모두 할당된 것이다.

 

값이 들어가는 원리:

gr_number부터 '&숫자'에 순서대로 할당된다.

 

&1 = gr_number

&2 = I

&3 = BT

&4 = 1

&5 = 33 

 

gr_number의 테이블 구성은 아래와 같다.

Row SIGN [C(1)] OPTION [C(2)] LOW [C(45)] HIGH [C(45)]
  I BT 1 33

 

최대한 간결하고 효율적이며, 다른 개발자가 수정을 위해 코드를 뜯어 봐도 한눈에 알아볼 수 있게 예쁜 코딩을 하는 날까지 계속 공부할 것이다.