본문 바로가기

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

ABAP Programming Concept : ABAP 프로그램 만들기

이번 글을 통해, ABAP Editor을 사용하여 프로그램을 만드는 방법에 대해서 알아보겠스빈다. 개발자는 SAP System에 접근하기 위해서는 연관된 개발 권한과 개발자 키를 사용하는 SAP ID를 받아야 합니다. 

프로그램을 만들 때는 다음과 같은 단계를 따라야 합니다.

Step 1
SE38을 키거나 Tools ㅡ> ABAP Workbench ㅡ> Development ㅡ> ABAP Editor를 실행합니다.

Step 2
ABAP Editor : Initial Screen(ABAP 편집기 : 초기화면)에서, 프로그램 이름을 적고, Source Code(소스코드) 라디오 버튼을 입력하고, Create를 실행합니다. 이 프로그램은 respository object 이기 때문에, 이름이 Z 또는 Y로 시작하여야 합니다.

Step 3
Program Attribute 창에서 프로그램의 속성에 대해서 관리할 수 있스빈다. Program Attribute는 프로그램의 런타임 환경에 대해서 세팅을 할 수 있습니다. 이곳에서, 프로그램의 Title과 다른 속성을 관리할 수 있습니다. Tiltle과 Type는 필수 필드이며 나머지는 옵션입니다.

아래 표에서, ABAP 프로그램의 속성에 대한 설명에 대해서 설명하겠습니다.

Attribute Explanation
Type 만들고 싶은 프로그램의 유형을 선택할 수 있습니다. 이것은 가장 중요한 속성이며 프로그램이 어떻게 실행될지를 구체화 합니다. 

이것은 필수 필드입니다.

ABAP Editor안에서, Program Type은 아래와 같습니다.
1) Executable Program
2) Module Pool
3) Subroutine Pool
4) Include Program

위 프로그램 외에 모든 다른 프로그램 유형들은 ABAP Editor에서 직접 만들어 질 수 없고 Function Builder나 Class Builder와 같은 특별한 도구를 통해서 만들어야합니다.
Status 프로그램 개발의 Status(상태)를 세팅할 수 있습니다, 예를 들어 Production Program이나 Test Program일 수 있습니다.
Application 시스템이 프로그램을 FI와 같이 올바른 비즈니스에 할당할 수 있도록 프로그램 적용 영역을 설정할 수 있습니다
Authorization Group 프로그램 그룹의 이름을 입력합니다. 이것은 프로그램을 권한 체크를 위한 다른 그룹에 속하게 할 수 있습니다 
Logical Database 프로그램 타입이 Executable Program(실행가능한 프로그램)일 때 보입니다. 이 속성은 Executable Program에서 사용되는 Logical Database를 결정하고 Logical Database를 사용하여 레포트를 만들때만 사용됩니다.
논리적 데이터베이스는 데이터를 검색하고 애플리케이션 프로그램에서 사용할 수 있도록 하는 트랜잭션 SLDB을 사용하여 생성된 특별한 ABAP 프로그램입니다.
Selection Screen 프로그램 타입이 Executable Program(실행가능한 프로그램)일 때 보입니다. 이 속성은 사용될 Logical Database의 조회 화면(Selection Screen)를 구체화할 수 있게 해줍니다.
Editor Lock 만약 체크된다면, 해당 프로그램은 타 유저들은 바꾸거나, 이름을 바꾸거나, 삭제할 수 있습니다. 오직 작성자만이 프로그램과 그것의 속성, Text Element, Document, 락 설정을 변화할 수 있습니다.
Fiexed Point arithmetic 프로그램에 대해 해당 체크가 설정된 경우 시스템은 소수 자릿수에 따라 유형 p 필드를 반올림하거나 필드를 0으로 채웁니다. 이 경우 유저의 개인 세팅과 상관없이 소숫점 표시는 항상 마침표(.) 입니다. SAP 이 속성을 항상 체크하라고 권장합니다.
Unicode Checks Active Syntax Checker가 검사해야 하는지 여부를 설정할 수 있고 Syntax Checker는 유니코드와 호환되지 않는 코드의 경우 경고 메시지를 표시합니다. SAP NetWeaver 7.5에서부터, 시스템은 Non-unicode ssystem을 지원하지 않기 때문에, 이 옵션은 디폴트로 체크되어 있습니다.
Start using variant Executable Program에만 적용가능합니다. 이 속성을 체크한다면, 타 유저들은 오직 Variant를 사용하서만 프로그램을 실행할 수 있습니다. 레포트가 시작하기 전에 최소한 하나의 Variant는 만들어져 있어야합니다.

 

Step 4.
Attribute 아래에서 아래 그림과 같은 값들을 입력합니다.
- Type(속성) : Executable Program(실행가능 프로그램)
- Status(상태) : Test Program
- Application : Unknown application -> 해당 서버에는 나타나지  않음

Step 5.
Unicode Checks Active(7.50 이상은 디폴트)와 Fixed Point Arithmetic(고정소숫점연산)을 체크합니다.

Step 6.
Save(저장) 버튼을 누릅니다.

 

Step 7.
Create Object Entry 화면이 뜨며, 프로그램을 패키지에 할당할 수 있습니다. 이 패키지는 시스템간의 전달에 중요합니다. 모든 ABAP Workbench Objects들은 하나의 패키지에 할당되있으며 하나의 Transport Request(Cts)와 결합되어있습니다.
팀으로 일할 때, 프로그램을 존재하는 패키지에 할당하거나, 혹은 새로운 패키지를 생성할 것입니다. 모든 $TMP 패키지에 할당된 프로그램들은 Private objects(= local objects) 로서 타 시스템에 전송될 수 없습니다.

Step 8.
예시이므로 $TMP를 입력하거나, 하단에 로컬오브젝트 버튼을 누르고 저장을 실행합니다.

Step 9
저장을 누르면 ABAP Editor : Change Report(변경 레포트) 화면으로 넘어가서, ABAP 코드를 쓸 수 있습니다. 디폴트로, 생성되는 프로그램에 따라 프로그램 타입이 첫줄에 적혀있습니다. 예를 들어, Executable program이라면 REPORT 구문이 적혀있을 것이고, Module Pool이라면 PROGRAM 구문이 적혀있을 것입니다.

Step 10.
하기 구문을 입력하고 실행을 해봅시다.
PARAMETERS p_input TYPE c LENGTH 20.
WRITE : 'The input was:', p_input.

Step 11.
구문으로 PARAMETERS와 WRITE문을 썻기 때문에, PARAMETERS 구문은 하기와 같이 Selection Screen을 생성할 것입니다. Selection Screen의 Input Field의 이름은 P_INPUT이며 해당 필드는 C type에 20 자리의 길이를 가지고 있으므로, 20까지의 문자숫자를 적을 수 있습니다. 이 PARAMETER에 값을 입력하면, 프로그램이 자동으로 변수 P_INPUT에 값을 저장할 것이며 타 구문에서 접근가능해집니다. 그 결과로 실행한다면 WRITE 구문을 통해 Literals로 OUTPUT 화면으로 아래 그림과 같이 출력 가능합니다.

반응형