본문 바로가기
ABAP/NEW SYNTAX

VALUE 구문

by SE38 2023. 3. 31.

안녕하세요.

이번엔 New Syntax중 하나인 Value 구문에 대해 알아보도록 하겠습니다.

 

VALUE 구문은 별도 데이터 선언 없이 변수에 값을 전달하는 구문입니다.

보통 VALUE # 이런 형태로 쓰이는데, VALUE 타입명 으로 기억해두시면 됩니다.

#은 ANY와 비슷하지만, #은 대상 변수의 형태에 따라 자신의 형태가 결정되는 차이가 있습니다.
(대부분 VALUE # 로 구문을 쓰긴 합니다)

 

기존 데이터 핸들링 예시

예시 코드를 보시면 기존 소스코드 방식은
1) 데이터 선언 2) 가공 3) 데이터 핸들링의 3가지 순서로 이뤄지고 있습니다.

 

하지만, VALUE 구문은 별도 Strucutre 선언 없이 Internal Table에 값 전달이 가능합니다.

 

VALUE #( FIELD = VALUE ) 구문을 통해 LT_SCARR 에 값을 APPEND 한 모습입니다.

바로 위에서 LS_SCARR에 데이터를 담고 APPEND 하였지만,

VALUE 구문은 그럴필요 없이 자신이 일회성 변수로 쓰이는 모습을 볼 수 있습니다.

 

VALUE Table Type 예시

TYPE 자리에 Local Table Type으로 위와 같이 사용 가능합니다.( 딕셔너리 타입도 참조 가능 )

VALUE 구문은 비단 APPEND 뿐만이 아닌 COLLECT, INSERT, READ TABLE 등 다양한 구문에서,

Structure, Table 의 형태로 다양하게 사용할 수 있는 장점이 있습니다.


추가로, 아래처럼 Method나 Function의 Parameter로도 쓸 수 있습니다.

 

Method Parameter 사용 예시

 

너무나 사용법이 다양한 VALUE 구문에 대해서 알아보았습니다.

별도의 선언 없이 데이터 핸들링이 가능하므로, 불필요한 선언문을 줄일 수 있으며,

기존 구문 사용을 더 효율적으로 할 수 있는 장점이 있습니다.

 


조금이나마 도움이 되셨다면 좋아요, 댓글 부탁드립니다.
(옳은 방향으로 나아가고 있다는 믿음으로, 제가 계속 티스토리를 운영하는데 큰 힘이 됩니다)

또한 제 설명이 틀리거나, 궁금하신 내용은 언제든 문의 환영합니다 :)

댓글