본문 바로가기

ABAP 프로그래밍 개념

(127)
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 등이 있습..
Pass by Value [vs] Pass by Reference SAP에서 Processing Block으로 대표되는 Subroutine, Function Module, Method의 경우에는 전부 Parameter Interface(매개변수를 통해 데이터를 주고받는 방식)으로 구성되어있다. 여기서 가장 중요한 개념이 Parameter를 넘겨줄 때, 데이터를 어떻게 전달(Pass)시킬 것이냐의 문제이다. 이것에는 두 가지 방식이 있다. 1. Pass by Value 2. Pass by Reference 런타임동안, Subroutine, Function Module, Method 에서 Parameter(매개변수)가 호출될 때라면, 파라미터를 Pass by Value, Pass by Reference 방식 중 한가지의 방식으로 호출하는 쪽( 호풀하는 프로그램 : Actu..
METHOD METHOD 선언 ▪인스턴스 메서드를 선언하려면 다음 구문을 사용한다. METHODS meth IMPORTING [value i1..] EXPORTING [value e1..] CHAINGING [value c1..] RETURNING VALUE (r) EXCEPTIONS exc1.... ▪Static 메서드를 선언하려면 아래와 같이 선언한다. CLASS-MEHTODS meth.... ▪메서드를 선언시 IMPORTING, EXPORTING, CHANGING, RETURNING을 이용해 파라미터 인터페이스를 정의할 수 있다. 인터페이스 파라미터의 속성을 정의하며, 파라미터의 참조 주소(Reference)와 값(value)을 선택하여 사용할 수 있다. ▪값을 매개 변수로 넘겨주려면 VALUE 구문을 선언하여..
OBJECT(객체)란? ▪Object(객체)란? 앞선 글에서 말했듯이 "객체는 클래스의 인스턴스를 의미"한다. ▪객체는 자신의 고유한 이름과 속성을 가지며 클래스가 생성할 수 있는 객체의 수는 무한하다(정해져있지 않다). 클래스 [CLASS 1] ▪속성 ▪메소드 구현 왼쪽의 [CLASS 1]을 통해 우측처럼 Class Instance를 여러개 만들 수 있다. ABAP 프로그램의 내부 선언 ▪Class Instance 1 -> 속성 / 메소드 ▪Class Instance 2 -> 속성 / 메소드 ▪Class Instance 3 -> 속성 / 메소드 Object Reference(객체참조) ▪ABAP 프로그램에서 객체에 접근하려면 “객체 참조”를 사용해야 한다. ▪객체 참조는 객체에 대한 포인터로 정의되며 ABAP에서 객체 참조는..
CLASS [2] 구성요소 CLASS 구성요소 ▪ 클래스의 모든 구성요소는 Declaration part(선언부)에서 선언 -> 구성 요소들은 클래스 내에서 객체의 속성을 정의한다. ▪ 클래스를 정의할 때, 각 항목은 3개의 접근 제한 영역(Visibility Section) 중 한 곳에서 선언되어야 한다. (접근 제한 영역은 클래스 간의 외부 인터페이스(Interface)를 정의하여야 한다.) ▪ 클래스의 모든 항목은 클래스 내부에서는 모두 보이지만, 선언 방식에 따라서 다른 클래스에서는 보이지 않을 수(인터페이스 되지 않을 수) 있다. ▪ 클래스의 모든 항목은 Namespace에 존재하게 되며, 이것은 각 클래스 항목마다 유일한 이름을 가지게 된다는 것을 의미한다. 클래스의 두 가지 구성요소 ▪ 클래스에는 두가지 종류의 구성 ..
CLASS [1] 클래스란 클래스는 객체의 Template(골격) 또는 객체의 타입을 정의. 즉 클래스는 객체의 추상화된 명세서 또는 객체를 만드는 설계서 객체의 속성은 클래스 객체의 상태와 행위를 묘사하는 구성요소(Component)에 의해 정의됨. 클래스 - Global / Local CLASS ABAP Object에서 클래스는 전역(Global), 지역(Local) 변수로 선언할 수가 있음. 1.전역(Global) 변수 ABAP Workbench에서 T-CODE(SE24) 트랜잭션(Class Builder)을 이용해 전역 클래스와 전역 인터페이스를 정의할 수 있다. 이렇게 정의된 클래스들은 Class Pools(Class Library in the Repository)에 저장되며, 모든 ABAP 프로그램은 전역 클래..
클래스와 객체의 관계 & 클래스와 인스턴스 클래스와 객체의 관계 ▪객체와 클래스의 구별은 절차적인 ABAP 프로그래밍 언어에서 변수에 대한 선언을 예로 들면 이해하기 쉽다. DATA object_1 위 구문은 CHAR 1 자릿수 변수를 생성하는 기능을 수행한다. ▪이것을 객체 지향 개념으로 적용한다면, 위 구문에서 DATA는 객체를 생성하는 클래스이며, DATA라는 클래스를 이용해 무한한 객체(변수)를 생성할 수 있다. ▪“즉 DATA 라는 문법 자체가 객체를 만드는 클래스”라고 생각하면 된다. ▪OBJECT_1는 DATA라는 클래스를 통해 생성된 객체에 해당하며, 프로그램이 실행되면 데이터를 저장할 수 있는 메모리 공간을 점유하게 된다. ▪즉, 프로그래밍 언어에서의 객체는 어떠한 정보를 표현하기 위해 할당한 기억 장소를 의미하며 클래스는 그 기..