💻 SAP/ABAP

ABAP - 7일차

DevLevi 2024. 6. 14. 20:21

📜목차

🚩개요

 

1. Data Type

 1.1. Standard Data Types
 1.2. Complete Standard Data Types
 1.3. Incomplete Standard Data Types 

 

2. START-OF-SELECTION.

 2.1. Variable = Data

 2.2. WRITE

 2.3. WRITE variable1 TO variable2

 

3. Data Type Definition

 3.1. Local Data Types

 3.2. Global Data Types

 

4. Data Structure

 4.1. Element Data Types

 4.2. Complex Data Types

 


🚩개요

6일 동안 ABAP을 혼자서 공부하면서 한 챕터가 끝났습니다. 전체적인 복습의 시간을 가져보려고 합니다.


1. Data Type

 

 1.1 Standard Data Types

표준 데이터 타입은 SAP Dictionary에 정의되어 있습니다. 전역 타입이므로 모든 프로그램에서 사용할 수 있습니다. 종류로는 Complete형과 Incomplete형이 있습니다. 전자의 경우 데이터 유형의 길이가 고정되어 있고, 후자의 경우 데이터 타입을 선언할 때 직접 길이를 정해줘야 합니다.

 

 1.2. Complete Standard Data Types

데이터 유형의 길이 고정,

D(date) - length 8,

T(time) - length 6,

I(integer) - length 4,

F(floating point) - length 8, 

String - dynamic length character.

 

 1.3. Incomplete Standard Data Types

데이터 유형의 길이 지정,

C(character String),

N(numerical character string), 

X(byte sequence),

P(Packed Number).


2. START-OF-SELECTION .

자바의 public static void main(String args[]) { ... }처럼 ABAP의 실행문입니다. 이곳에서 변수에 값을 할당할 수 있고, 출력할수도 있습니다.

 

 2.1. Variable = Data

SY-DATUM 필드는 현재 시간을 담고 있는 시스템 필드입니다.

 

 2.2. WRITE

ABAP에서 WRITE문은 2가지 용도로 사용될 수 있습니다. 첫째, 출력용도. 둘째, 변수저장 용도입니다.

 

 2.3. WRITE variable1 TO variable2

WRITE variable1 TO variable2 구문은 variable1 변수의 값은 variable2 변수에 저장하는 역할을 합니다출력을 수행하는 것이 아니라 변수에 값을 대입하는 것입니다이렇게 저장된 variable2 변수의 값은 이후 다른 WRITE문에서 출력될 수 있습니다.


3. Data Type Definition

자바와 다르게 ABAP에서는 개발자가 직접 필요한 데이터 타입을 정의할 수 있는 유연성이 있습니다. 그리고 정의된 데이터 타입을 변수에 할당하는 것은 개발자에게 달려있습니다.

 

 3.1. Local Data Types

로컬 데이터 타입은 프로그램 내의 로컬에서 정의된 데이터 타입입니다. 이 데이터 타입은 해당 프로그램 내에서만 사용할 수 있습니다.

 

 3.2. Global Data Types

글로벌 데이터 타입은 ABAP DICTIONARY에서 등록할 수 있습니다. 이는 SAP 전체 프로그램에서 전역적으로 사용가능합니다. 위의 코드에서는 로컬 데이터 타입으로 정의한 loc_dec 타입을 operand1, 2변수에 할당하고, dictionary에 등록한 fl_price타입을 result 변수에 할당했습니다.


4. Data Structure

기본 데이터 타입은 필드가 하나만 있지만, 복합 데이터 타입은 필드가 두 개 이상 있을 수 있습니다. 즉, 구조체란 여러 개의 데이터 필드를 하나로 묶어서 관리할 수 있는 데이터 타입을 의미합니다.

 

 4.1. Element Data Structure

 

 4.2. Complex Data Structure

로컬에서 복합 데이터 타입을 정의하였습니다. 자바의 클래스를 선언하는 것과 유사하나, 메서드가 없이 필드만 있다고 생각하면 됩니다.

로컬에서 정의한 타입이 아닌 Global Data Type을 상속 받아서 사용할 수도 있습니다.