본문 바로가기

ABAP 프로그래밍 개념/ABAP 기초 개념

ABAP Language Overview

ABAP 이라는 언어는 SAP에서 시스템에서 필요한 다양한 어플리케이션을 개발하기 위해 사용되는 언어입니다.

Modifications, Enhanvements, Customer Developments을 하기 위하여, ABAP안에서 이루어지는 어플리케이션 개발에 대해 이해할 필요가 있습니다.


Applicitons의 유형(Types of Applications)


SAP안에서, Report 개발을 위해 초기에는 고안되었지만, ABAP은 대단히(enormously) 그 기능이 확장되어왔습니다. 현재에는 ABAP을 통해 다양한 어플리케이션을 전통적인 환경인 Sap GUI나 Web 환경에서 개발할 수 있습니다. 전형적인 개발 대상에는 Reports, Forms, Interface, Transactions 등이 있습니다.

ABAP은 하이브리드 프로그래밍 언어(hybrid programming languae)로서, 절차적인(procedural) 개발객체지향 프로그래밍(Object Oriented Programming) 기술을 지원하여 어떠한 복잡한 비지니스 요구를 수용할 수 있습니다.


RICEF Overview


Reports, Interface, Conversions, Extensions, and Forms의 앞 글자를 따서 RICEF는 ABAP으로 개발되는 다른 종류의 오브젝트(Objects)들 입니다. 각각을 살펴보도록 하겠습니다.


1. Reports


Reports(레포트)는 오직 Database에 접근하여 읽는(read-only) 것을 제공합니다. ABAP은 애초에 Allgemeiner Berichts-Aufbereitungs-Prozessor (독일어 :  general report creation processor)로 이름이 지어졌고, 현재에는 Advanced Business Application Programming으로 재 명명되기 전까지 사용되었습니다. 

최초의 이름이 제시된것처럼 ABAP은 SAP가 시작되었을 때, Reports 를 만드는 것에 주로 사용되었습니다. ABAP이 수십년동안 확장(extended)되고 구체화(matured) 됨에도 불구하고, reports(레포트)는 ABAP에서 주로 사용되는 개발입니다.

reporting process 동안, 데이터는 transactions(트랜잭션)을 통해 SAP 시스템에서 update되고, 데이터는 유저를 위해 다양한 방식의 reports를 만드는 report program에 의해 처리됩니다.(트랜잭션은 SAP 데이터 Update, 레포트는 SAP 데이터 활용).

1.1 Reports

상기 그림은 전형적인 report program을 설명합니다. 보이다 싶이, 데이터는 Business Functions( 비지니스 기능 )으로 부터 SAP Database에 데이터가 업데이트 되고, report program은 그 데이터를 처리하고 report output(결과)로 유저들에게 제시할 수 있습니다.


2. Interface Programs


Interface Programs는 다른 시스템들과의 데이터의 교환을 가능하게 해줍니. 이러한 외부 시스템은 legacy system 혹은 partner system이 있다. 개발자는 전형적으로 inbound interface program과 outbound interface program의 두 종류의 interface programs를 전형적으로 개발합니다. inbound interface program는 데이터는 외부 시스템으로부터 데이터를 받아서 SAP System을 업데이트 합니다. outbound interface program는 SAP System에서 데이터를 추출하여 외부 시스템으로 전달합니다.

1.2 Interface Programs

상기 그림은 SAP에서 inbound와 outbound interface 처리를 설명합니다. 볼 수 있듯이, inbound interface에서, 데이터는 외부 시스템에서 추출되었고, 그 추출된 file은 SAP로 전달됩니다. ABAP Program은 이 파일을 처리하고 SAP System에 데이터를 업데이터 합니다. outbound interface에서는 데이터는 SAP System에서 데이터를 추출하고, 이것을 외부로 전송합니다. 외부 프로그램(외부 시스템의 프로그램 : Web, 외부 DB 등)은 이 데이터를 처리하고 해당 시스템에 업데이트 합니다.

Interface는 key concept(키 컨셉)입니다. SAP는 외부 시스템과의 작용을 하는 다양한 기술들을 제공합니다. 이러한 Interface Technologies에 대해서 추후에 이야기 해보겠습니다.


3. Conversions


Conversion Programs은 데이터를 legacy system에서 SAP System으로 옮긴다. 종종, 이것들은 SAP System에 데이터를 최초 로드(initial load)를 위한 one-time-use program(일회성 프로그램)으로 쓰입니다.

예를 들어, 새 SAP System의 실행 후에, 기존 사용하던 legacy system에 유지되고있는 고객 혹은 자재 데이터들을 옮기고 싶을 수도 있을 것니다. 이러한 경우, 개발자는 conversion programs의 개발을 통해 SAP System안에 있는 데이터를 process, validate, update할 수 있다. 

1.3 Conversion Programs

위 그림은 SAP에서 conversion program을  설명한다. inbound interface programs와 유사하게, conversion programs에서도 data는 legacy sytstem에서 추출되어서 ABAP load programs에 인증되어 SAP System으로 전달하는 방식으로 SAP System으로 전송됩니다. 

SAP는 Legacy System Migration Workbench(LSMW)로 불리우는 호출되는 기능(tool)을 제공하여서, legacy system으로부터 SAP System으로 데이터를 migrate할 수 있는 다양한 conversion 기능을 통합합니다. LSWM도 추후 설명해보도록 하겠습니다.


4. Extensions


Extensions는 Standard SAP System(스탠다드라고 보통 불리우는) 의 기능에 확장을 가져오는 것입니다. Extension은 modification, enhancement, new development, 그리고 third-party add-on programs을 포함합니다.

1.4 Extensions

그림에서 볼 수 있듯이, SAP-delivered enhancements를 실행하면서, Standard SAP Program을 변경하면서, Customer namespace에서 custom programs을 개발하면서, third-party extensions을 사용하면서 Standard SAP Software의 기능을 확장합니다.


5. Forms


Forms은 report program과 같이 database에 접근하여 오직 데이터를 read-only(읽기만하는) 합니다. 그러나, Forms는 layout design에 더 유연성을 가지고 잇습니다. Forms는 유저가 실제 물리적으로 사용하고 싶은(즉, 실물로 출력하고 싶은 구매 오더 혹은 송장과 같은) 문서에 사용됩니다. 이 문서들은 법률상의 요구사항과 특정 형식에 적합하게 만들 수 있습니다.

 SAP는 다양한 기능을 제공하여 ABAP Workbench와 통합되어서 개발자가 법률적 혹은 고객의 요구사항에 맞는 form layout을 디자인할 수 있게 해줍니다.(다양한 기능 : SAP Scripts, smart forms, Adobe Forms 등..)

1.5 Forms

그림에서 볼 수 있듯이, 일반적인 form layout은 다양한 windows(구성 창)을 포함하여 문서에 다양한 데이터를 출력할 수 있습니다. layout은 종종 법적인 요구사항에 적합한 구체적인 형식에 맞게 데이터를 출력되는 문서로 디자인됩니다.


앞선 다섯가지 ABAP Programs 제가 앞으로 설명드릴 ABAP 개념 및 프로그램의 간략한 설명입니다. 
앞으로 각각 프로그램들에 대해서 특히 가장 많이 사용되는 Report나 Interface, Enhancement에 대해서 다뤄보도록 하겠습니다.

반응형