본문 바로가기

전체 글

(184)
2-3. Modularization Techniques - Program Structure : Events Event는 넓게는 하기와 같이 분류됩니다. Program Costructor Events Reporting Events Selection Screen Events List Events Screen Events 아래 글을 통해 각 이벤트 들에 대해 설명하겠습니다. Program Costructor Events LOAD-OF-PROGRAM이라는 Event Block은 Program Constructor로서 제공됩니다. Program Constructors는 ABAP Class에서 constructor 메소드와 같이 프로그램 변수들을 초기화하는 것과 같은 목적으로 ABAP Program에서 사용됩니다. LOAD-OF-PROGRAM은 Executable Program, Moudlule Pool, Functio..
2-2. Modularization Techniques - Program Structure : Event Blocks Event Block은 event 키워드를 통해서 프로그램에 도입됩니다. 각 Event들은 구체적인 키워드를 가지고 있는데, Event 키워드를 프로그램에서 사용하여 해당 Event에 대해 반응하도록 만들 수 있습니다. Event가 ABAP 런타임 환경에 의해 발생했을 때(triggered), Event 키워드 아래있는 코드들이 실행됩니다. Event Block은 특정한 명시적인 Keyword를 통해 끝나는 것이 아닌, 다음 Processing Block 이 시작될 때 암시적으로 종료됩니다. 그러므로, Procedure와 달리, Event Block을 명시적으로 끝내기 위하여 어떠한 END 구문도 사용할 필요가 없습니다. Event Block은 프로그램 내부에서만 사용되며, ABAP 문장을 사용하여 프로..
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문에서 실..