본문 바로가기

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

ABAP Programming Concept : General Program Strucutre(일반적 프로그램 구조)

모든 ABAP 프로그램은 1) global declaration area(전역선언 영역)와 procedural area(절차적 영역)로 구성됩니다.
global declaration area(전역선언 영역)은 전형적으로 abap objects라고 불리는 메모리 저장소로 사용되며, 이 메모리 저장소는 프로그램 안에서 procedural area(절차적 영역)에서 쓰여진 ABAP statement로 의해 처리될 데이터를 저장하는데 사용됩니다. 그러므로, 어떠한 ABAP 프로그램들도 크게 보면 두 가지 영역으로 나눌 수 있습니다.

■ Global Declaration
=> 프로그램을 위한 전역 데이터는 프로그램 어디에서도 접근될수 있도록 정의

■ Procedural
=> 프로그램의 Procedural 부분은 dialog modules, event block, procedures와 같은 Processing blocks(프로세싱 블락)으로 구성됩니다. 이 Processing blocks안의 Statements는 Global Declarations안에서 정의된 Global data에 접근 가능


Global Declarations


ABAP 프로그램의 global declaration part(전역 선언부)는 메모리 저장소(memory location)을 정의하는 선언 구문(declarative statements)을 사용합니다. 이 메모리 저장소는 data objects라고 불리우며 프로그램에서 사용하는 데이터를 저장합니다. ABAP 구문은 오직 프로그램에서 Data Object의 콘텐츠로서 사용가능한 데이터와 함께 작동합니다. 그래서 데이터는 ABAP 프로그램에 의해 처리되기 전에  Data Object에 저장되는 것이 필수적(imperative)입니다.  

Data Object는 프로그램의 local 합니다(즉 프로그램 안에서만 유효합니다).  Data Objects 들은 같은 프로그램안에서 ABAP Statements를 통해접근될 수 있습니다. 아래 그림과 같이 Global Declarations Area는 프로그램 상단에 위치합니다. 
SAP 에서는 global이라는 용어를 프로그램 각각에 적용합니다 : 이 영역에서 정의된 data objects들은 ABAP 프로그램 전체에서 보여지고(Visibile) 유효(valid)합니다. 또한 ABAP Statments를 사용한 소스코드 안에서 어디에서도 접근 가능합니다.

Program Structure

ABAP은 물론 local declaration도 사용합니다. local declaration은 프로그램의 부분으로서 접근이 가능합니다. 이 부분은 보통 Processing Block( Subroutine, Function Module, Method ) 안에서 선언하여 그 안에서만 사용하는 data objects 들입니다.


Procedural Area


Declarative Area 이후가 프로그램의 Procedural Portion(절차적 영역) 입니다. 여기서 ABAP 프로그램의 프로세싱 로직이 정의 됩니다. ABAP 프로그램의 이 영역 안에서, 개발자는 다양한 ABAP Statements를 사용해서 외부로부터 데이터를 가져오고 처리할 수 있습니다.

Procedural Area는 프로그램의 로직이 실현되는 장소라고 생각하면 됩니다. Procedural Area는 비지니스 요구사항을 실행하기 위한 ABAP 구문을 포함하는 다양한 Processing Block를 사용합니다. 예를 들어, 전형적인 보고서에서, Procedural Area는 Selection Screen을 처리하고 Selction Screen에서 유저가 입력한 값을 유요화하는 Event Block을 포함합니다. 또한 다른 Event Block을 사용하여 사용자가 입력한 값에 근거하여 Database로부터 데이터를 가져오고, 유저에게 결과를 보여주기 위하여 Procedure을 호출합니다.

반응형