본문 바로가기

SAP/ABAP

ABAP: 기본 구성요소

Report문

report문은 프로그램 이름 및 기타 속성을 정의하는 데 사용됨.

일반적으로 ABAP프로그램의 첫 번째 명령문임.

Message-ID, Line-Size, Line-count 같은 추가 옵션을 지정하여 출력 형식 및 동작을 제어할 수 있음.

 

-(예)

REPORT <program_name> [OPTIONS <options>}.

<program_name>은 ABAP 프로그램의 이름.

<options>에는 message-id, line-size, line-count 값은 추가 옵션이 포함됨.

 

 

데이터 선언

report문 다음에 DATA문을 써서 변수, 상수를 선언할 수 있음.

ABAP은 다양한 유형의 데이터를 수용하기 위해 광범위한 데이터 유형을 제공함.

 

일반적인 데이터(Complete-data 길이가 고정됨, Incomplete-data 길이가 안정해짐)유형:

숫자 유형:I(정수),F(부동 소수점),P(팩 십진수),D(날짜),T(시간),TIMESTAMP(날짜 및 시간).

문자유형: C(고정길이 문자), STRING(가변길이 문자), N(숫자 문자열), X(16진수 문자열).

복잡한 유형: TABLE(인터널 테이블), STRUCTURE(구조),REF TO(객체에 대한 참조), ANY(일반 데이터 유형)

 

Complete ABAP Standard Data Types

D 날짜, YYYYMMDD(길이8)
T 시간.HHHMMSS(길이6)
I,INT8 정수 4바이트 = 10자리 (INT8 = 8바이트)
F 부동소수점. floating point number (길이8)
STRING 글자. 알아서 길이를 조정함.
XSTRING 헥사데시말 스트링. 길이 자동으로 처리됨.
DECFLOAT16,
DECFLOAT34
type for Decimal Floating Point Numbers with Mantissa & exponents.
DECFLOAT 16 = 전체길이 8 바이트(소수점 자리 16자리로 fix)
DECFLOAT 34 = 전체길이 16 바이트 (소수점 자리 34자리로 fix)

Incomplete ABAP Standard Data Type

C for Character string. 특정길이 지정 필요함
N for Numerical Character String
X for heXadecimal String
P for packed number. 실수, 소수점 잘 사용함(뒷 4~5자리로 자주 사용)

데이터 선언에는 변수 이름, 데이터 유형, (문자유형의 경우) 길이, 선택적 초기 값이 포함될 수 있음.

예)

DATA <variable_name> [TYPE <data_type>] [LENGTH <length>][VALUE<initial_value>].

 

데이터 타입을 선언하는 데 사용되는 키워드 TYPES,DATA:

 

TYPES

TYPES는 새로운 데이터 타입을 정의할때 사용됨.

TYPES를 사용하여 정의된 데이터 타입은 기존의 데이터 타입과 독립적으로 사용할 수 있으며, 다른 변수, 구조체, 테이블

등에서 타입으로 활용될 수 있음.

예) TYPES my_number TYPE I.

=my_number라는 새로운 데이터 타입을 정수형(INT)을 기반으로 정의함.

 

DATA

DATA는 변수를 선언할때 사용됨.

DATA를 사용하여 선언된 변수는 실제 값을 저장하는 데 사용되며, 선언 시 해당 변수의 데이터 타입을 명시해야함.

예)DATA my_variable TYPE I.

=my_variable이라는 정수형(INT)변수를 선언함.

 

 

실행문(Executable Statements)

데이터 선언 후에는 특정 작업을 수행하는 실행문을 포함할 수 있음.

 

일반적으로 사용되는 실행 명령문:

할당문(Assignment Statements): MOVE, SET, ADD, SUBSTRACT 또는 기타 할당 연산자를 사용하여 변수에 값을 할당함.

제어문(Control Statements): IF, CASE, LOOP, WHILE, DO와 같은 명령문을 사용하여 프로그램의 흐름을 제어함.

데이터베이스문(Database Statements): SELECT, INSERT, UPDATE, DELETE, MODIFY 와 같은 명령문을 사용하여 데이터 베이스와 상호작용함.

 

출력문(Output Statements)

출력 또는 메세지를 ABAP에 표시하려면, WRITE,MESSAGE, FORMAT과 같은 출력문을 사용할 수 있음.

WRITE문: 일반적으로 화면에 값이나 텍스트를 표시하는 게 사용됨.

변수,표현식, 또는 리터럴 값을 출력할 수 있음.

새 줄에 대한 /, 위치 지정에 대한 AT 및 서식 지정 옵션을 사용하여 출력을 향상시킬 수 있음.

 

모듈화(Modularization)

ABAP은 모듈신 프로그래밍을 지원하여 코드 재사용성과 유지 관리성을 향상 시킴.

서브루틴(FORM), 함수모듈(FUNCTION MODULE), 메소드(METHOD)를 사용하여 재사용 가능한 코드 블록을 정의할 수 있음.

이러한 모듈식 단위를 사용하면 특정 논리를 캡슐화 하고 매개변수를 전달하고 값을 반환할 수 있음.

 

제어구조(Control Structures)

ABAP은 특정 조건에 따라 프로그램의 흐름을 제어하거나 코드의 특정 섹션을 반복하기 위해 다양한 제어구조를 제공함.

IF문 : 하나 이상의 조건에 따라 코드 블록의 조건부 실행을 허용함.

CASE 문: 변수 또는 표현식의 값에 따라 다른 작업을 수행함.

LOOP 문: 루프 조건에 따라 코드 블록을 반복적으로 실행함.

WHILE 문: 조건이 참인 한, 코드 블록은 반복적으로 실행함.

DO문: 코드 블록을 최소 한번 이상 반복 실행하고, 조건이 참인 동안 계속한다.

 

이러한 제어 구조를 통해 ABAP 프로그램 내에서 조건부 분기, 다중 분기 및 루프를 구현할 수 있음.

 

 

출처: SAP ABAP : 기본 구성요소 : 네이버 블로그 (naver.com)