본문 바로가기

ABAP 프로그래밍 개념

(127)
2-1. Modularization Techniques - Program Structure : Processing Blocks 일반적으로, Processing Block은 넓게 Event Block, Dialog Module, Procedure로 분류됩니다. 이 Processing Block 각각에 알아보도록 합시다. Declaration Area 각 ABAP Program은 전역 선언 영역과 여러 처리 블록으로 구성됩니다. 전역 선언 영역에서 정의된 Objects들은 ABAP Program에서 접근가능(Accessible & Visibile) 합니다. 몇몇의 Processing Block에서. 데이터 선언은 지역적(해당 Processing 안에서만 접근 & 가시성)입니다. *프로그램의 전역선언 DATA : f1 TYPE c VALUE 'A', f2 TYPE c VALUE 'B'. END-OF-SELECTION. PERFORM ..
2. Modularization Techniques - Program Structure Program Structure ABAP은 Database로 부터의 데이터를 처리하는 어플리케이션의 개발을 위해 고안되었고, 사용자들은 SAP GUI 화면을 통해 어플리케이션을 사용하였습니다. 트랜잭션을 필요로 하는 화면(Screen)에 근거한 전통적인 프로그래밍 방법에서는, Presentation Layer와 Application Layer 사이에서 컨트롤이 앞뒤로 전달됩니다. 예를 들어, 사용자가 선택화면(Selection Screen)에서 값을 입력할 때, 화면은 Presentation Layer에서 활성화되고고, 이 시점에서는 Application Layer에서는 아무런 활동이 없습니다. 유저가 Execute 버튼을 클릭한 이후로, Selection Screen이 아직 화면에 떠있다고 하더라도, ..
1. Modularization Techniques Modularization(이하 모듈화)는 프로그램을 하나의 분할할 수 없는 단위로 처리하는 것이 아니라 프로그램의 코드를 모듈적인 구조로 분해 및 구성하는 것입니다. 모듈화에는 다양한 장점이 있는데, 코드의 중복을 줄이는 데 도움이 될 코드의 가독성과 ABAP 프로그램 유지보수에 도움이 될 프로그램 코드의 조직화에 장점이 있습니다. 이번 카테고리를 통해서, 이벤트(Event)와 프로시져(Procedure)를 통한 ABAP 프로그램 흐름과 런타인 환경 제어 프로그램에 대해 알아볼 것입니다. 더불어서, Processing Block의 개념과 그것의 특징, 정의 방법. 호출 방법, Processing Block이 로컬 데이터를유지할 수 있는지와 Processing Block이 정의될 수 있는 ABAP 프로그..
7. ABAP 동적 프로그래밍 : Dynamic Program Generation 앞서서 1번부터 6번글에서 논의한 ABAP 프로그램안에서 사용되는 동적 프로그래밍 개념에 따르면, ABAP 프로그램도 동적으로 실행할 수 있습니다. 프로그램을 동적으로 생성하는 것은 다른 동적 프로그래밍 기술이 요구 사항을 충족하지 않는 경우에서 최후의 수단으로 사용해야 합니다. Dynmaic Program Generation은 숙력된 개발자를 위한 것이며, 정확히 무엇을 하는지 이해를 못할 때 심각한 문제를 일으킬 수 있다는 주의와 함께 사용됩니다. 동적으로 생성되는 프로그램의 단점들은 보통의 프로그램처럼 테스트할 수 없다는것과 심각한 보한 위험에 관여될 수 있다는 것입니다. 동저으로 생성될 프로그램에는 두 가지 종류가 있습니다. 1. Trasient Program Trasient Program은 In..
6. ABAP 동적 프로그래밍 : Dynamic Procedure Calls Procedures 은 Dynamic Token을 사용하여 동적으로 호출될 수 있습니다. 예를 들어, 만약 런타임 시에 호출될 필요성이 있는 서브루틴을 결정할 수 있다면, 서브루틴의 이름을 Dynamic Token을 통해 전달할 수 있습니다. 외부의 서브루틴을 호출할 때는, 외부의 프로그램의 이름을 동적으로 전달 할 수 있습니다. PERFORM (subroutine_name) IN PROGRAM (program_name) IF FOUND. 서브루틴을 동적으로 호출할 때, 만약 서브루틴과 프로그램이 발견되지 않는다면, 런타임 에러가 발생할 것입니다. 런타임 에러를 피하기 위하여 IF FOUND라는 addition을 사용하는 것이 좋습니다. 메소드들은 클래스 이름과 메소드 이름을 Dynamic Token을 ..
5. ABAP 동적 프로그래밍 : Dynamic Token Specification 다양한 ABAP 구문과 함께, 괄호안에 Data Object를 사용하여 동적으로 Token으로 개별 Operand들을 구체화할 수 있습니다. Token이란, ABAP 구문의 구성요소들로, 구문을 나눴을 때의 대상입니다. 예를 들어 Operands, Operators, ABAP Words등이 있습니다. https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abentoken_glosry.htm token - ABAP Keyword Documentation help.sap.com Data Object의 데이터(내용)은 구문의 Operand로서 사용됩니다. 예를 들어, PERFORM (data_object), 에서 data_object는 PERFORM문에서 실..
4. ABAP 동적 프로그래밍 : Runtime Type Services(런타임 유형 서비스) ABAP Runtime Type services(RTTS)는 객체지향 프레임워크(Object-oriented Framework)로서 다음 두 가지 구성요소로 이루어져 있습니다. 1) Runtime Type Information(RTTI) -> RTTI를 사용해서, 프로그램 실행 동안 data objects 또는 런 타임시의 클래스의 인스턴스의 유형 정보를 결정합니다. 2) Runtime Type Creation(RTTC) -> RTTC은 프로그램 실행동안 새로운 데이터 유형을 정의하는 것을 허락해줍니다. RTTS 프레임워크는 아래 그림과 같이 클래스의 위계 질서를 결정하는데, 런타임 시 Data Object의 유형 정보를 결정하고 새 데이터 유형을 정의할 수 있습니다. 이러한 유형 클래스(Type Cla..
3.ABAP 동적 프로그래밍 : Data References 객체 참조(Object Referece)와 마찬가지로, Data Reference(이하 데이터 참조) 또한, 메모리의 Data Object를 가르키고 있다. 데이터 참조는핌드 심볼과 유사하게 기존 Data Object에 대한 대체 액서스 참조(altenate access reference)로 사용할 수 있습니다. 그러나, 데이터 참조를 사용하면, 익명의 Data Object를 정의하는 것이 가능합니다. 데이터 참조는 DATA 구문을 사용하고 TYPE REF TO 라는 addition을 사용하여 정의된 데이터 참조 변수에 저장됩니다. 참조 변수 정의 데이터 참조 변수를 정의하는 문법은 아래와 같습니다. DATA data_ref1 TYPE REF TO dtype. "Data Type" DATA data_re..