본문 바로가기

ABAP 프로그래밍 개념/ABAP 프로그래밍 Concept

ABAP Programming Concept : ABAP Syntax

ABAP 프로그램의 소스 코드는 단순하게 말하자면, 특정한 업무를 수행하기 위하여 런타임 환경에 의해 해석되어 실행되는 다양한 ABAP Statements의 집합체입니다. 개발자는 Declarative Statements를 사용하여 Data Objects를 정의하고, Modularization Statements를 사용하여 Processing Block을 정의하고, Database Statement를 사용하여 DB안에있는 DATA와 작업할 수 있습니다.

이 글을 통해 ABAP 프로그래머가 알아야할 기초 Syntax Rule 기초를 알려주고 연관된 내용을 보도록 하겠습니다.


Basic Syntax Rules


ABAP Statements를 쓰기 위해서는 특정 기초 문법 규칙(syntax rules)를 따라야 합니다.

ABAP 프로그램은 프로그램 안에 존재하는 개별적인 ABAP Statements의 집합입니다. 각 ABAP Statement는 .(period)으로 종결되고, Statement의 첫 단어는 keyword 라고 부릅니다.
ABAP Statement는 operands, operators, keyword에 대한 addition으로 구성되어 있습니다(아래 그림 예시). ABAP Statement의 첫글자는 ABAP Keyword로, 이어지는 것에는 operands, operators, 또는 addition이 올수 있습니다. Operands는 data objects, data types, procedures 등등이 올 수 있습니다. 
그림 추가다양한 Operators는 사용 가능한데, Assignment Operators는 할당의 Source와 Target에 따라 = 또는 ?= 를 사용합니다. Arithmetic Operators는 두가 혹은 그 이상의 Numeric Operands에 대해 arithmetic expression인 +, -, * 등을 사용하는 것입니다. Relational Operators는 logical Expression인 =, <, > 등을 사용하여 두 개의 operands를 연관짓는 것입니다. 각각의 ABAP Keyword는 자신만의 additions의 집합을 가지고 있습니다.

■ Statement의 각 단어는 적어도 하나의 공간으로는 구분되어야 합니다.

■ ABAP Statement는 period로 끝나고, period로 끝나기만 하면, 새 Statement를 같은 줄 또는 새로운 줄에 쓸 수 있습니다. 또한 하나의 ABAP Statement를 몇 줄 까지 확장시킬 수 있습니다.(period로 끝나기 전까지면 몇줄이어도 상관없음) 

■ ABAP은 case-sensitive하지 않습니다(대소문자를 구분두지 않습니다)

 

ABAP Statement


상기 예시를 보면, 프로그램은 세 줄의 ABAP Statement로 구성되도 있습니다. 각 Statements듸 첫 글자들(REPORT, PARAMETERS, WRITE)는 Keyword 입니다. 볼 수 있다 싶이 각 Statement는 Keyword로 시작되고 Period(.)로 종료가 됩니다. 부가적으로, 각 ABAP 단어는 SPACE로 분리됩니다.

 

개발자는 복수 이상의 Statement를 한줄에 쓸 수도 있고 또는 하나의 Statement를 다수의 줄에 쓸 수도 있습니다. 그러므로, 당신이 원한다면, 아래와 같이 코드를 쓸 수 있습니다.

ABAP Statement Example

그러나, 코드를 읽기 쉽게 유지하려면, 프로그램을 한 줄에 하나의 Statement로 제한하는 것이 좋습니다. 다만, 경우에 따라 다음과 같은 단일 명령문을 여러줄로 구분하는 것이 좋습니다. Select 문 같은 경우에는 아래 예시의 처음의 것처럼 한줄에 쓰기 보다는 아래 예시처럼 여러줄로 구분하는 것이 더 읽기 좋습니다.

ABAP Statement Example2


Chained Statements


만약 여러줄의 Statements가 같은 Keyword로 시작된다면, chain operator로서 colon( : )을 사용할 수 있고 각 Statement를 comma( , )를 사용하여 구분지을 수 있습니다. 이러한 chained statements는 각 줄에서 같은 keyword를 반복해서 사용하는 것을 피할 수 있도록 해줍니다.

예를 든다면

DATA iv_name(20) TYPE c.
DATA iv_age TYPE i.

상기 예시는 다시 하기처럼 사용할 수 있습니다.

DATA :  iv_name(20) TYPE c,
             iv_age TYPE i.

,로 연결되어 있는 chain statement에서 마지막 줄은 period( . )로 끝나야합니다. Chained Statements는 Keyword에 제한되지 않습니다. Statements 중 동일한 첫 부분을 Colon ( : ) 앞에 놓을 수 있고, 각 문장의 나머지 부분을 쉼표로 구분하여 쓸 수 있습니다.

아래는 예시입니다.

iv_total = iv_total + 1.
iv_total = iv_total + 2.
iv_total = iv_total + 3.
iv_total = iv_total + 4.

상기 예시는 아래와 같이 chained 시킬 수 있습니다.

iv_total = iv_total + : 1, 2, 3, 4.


Comments Lines


소스코드를 다른 개발자들에게 더 이해하기 쉽게 해주기 위해서, Comment를 추가할 수 있습니다. Comment Lines는 프로그램이 실행될 때 시스템에 의해 무시되기 때문에, 다양한 방법으로 사용가능합니다.

소스코드에 Comment Lines(주석)을 추가하는 방법은 두 가지 방법이 있습니다.
■ asterisk( * )을 라인 시작위치에 사용하여 라인 전체를 Comment Line(주석)으로 만들 수 있습니다.
■ double quatation mark ( " )을 사용하여 라인의 부분을 주석처리 할 수 있습니다 ( 이렇게 만든 주석은 in-line comment라 고 불리웁니다)

당신은 CTRL + < 을 사용하여 문장 전체를 주석처리할 수 있고, CTRL + > 을 사용하여 주석을 해제할 수 있습니다. 

반응형