본문 바로가기

SAP-ABAP

ABAP 기초(작성 중)

ABAP에 대해 심플하게 이해할 수 있도록 설명하고자 합니다.

 

사실 SAP교육이 비싸고 마땅히 배울데가 없어서 그렇지 별거 없습니다.

 

혹시라도 개발자 출신이라면 언어적인 관점에서는 이해가 쉬울것입니다.

 

다만 ERP는 업무적인 관점에서 좀 더 중요하다고 생각합니다.

 

예를들면 회계파트의 경우 전표가 무엇인지 재무재표가 어떻게 만들어지는지에 대한 이해가 있어야 하고

 

구매,자재파트에서는 원부자재가 무엇이며 수불부가 어떻게 돌아가는지에 대한 이해가 있어야 하는 등

 

업무프로세스를 잘 알아야 ERP 내 로직을 수정할 수 있습니다. 물론 현업만큼은 아니더라도 이와같은

 

업무프로세스를 알아야 현업이랑도 원활한 커뮤니케이션이 가능합니다.

 

업무프로세스(Biz-Process)는 별도 카테고리에서 설명하기로 하고 ABAP에 대해 설명토록 하겠습니다.

 

1. T-Code란 :

 

T코드라고 하는데 SAP는 프로그램 코드를 알면 왼쪽 상단의 텍스트박스에 해당 코드를 입력하고

 

엔터를 누르면 즉시 이동이 된다. 물론 왼쪽에 트리메뉴도 있다. 즐겨찾기 기능도 있다.(아래그림 참고)

 

 

처음에는 코드를 치고 입력하는것이 불편하다고 생각할 수 있는데 사용하다보면 이게 더 편하다

 

2. 테이블 조회 T-code :

 

SE11 를 치면 테이블을 조회할 수 있는 프로그램이 뜬다. 꼭 테이블만 아니라 이것저것(도메인 등)

 

조회할 수 있는데 나는 주로 테이블을 조회한다. 사실 SAP 데이타베이스가 오라클이면 오라클에 직접 접속해서

 

볼 수 있는데 문제는 SAP에서 동작하는 프로그램들이 바라보는 테이블은 논리적인 테이블과 물리적인 테이블이 섞여있다.

 

즉, 논리적인 테이블은 여러 물리테이블을 한데 모아놓은 테이블이다. 사실 DB관점에서 보면 뷰테이블이라 볼 수 있겠지만

 

SAP는 관점이 조금 다르다. 또한, SAP의 경우는 모듈별로 담당자들이 있기때문에 DB에 직접 접속하는것은 권한이 없다면

 

불가하다. 그러므로 se11에서 들어가서 관련 테이블을 조회하면 된다. 그리고 se11이 더 편한 이유는 궁금한 컬럼 내

 

데이타 타입을 더블클릭하면 해당 구조를 쉽게 확인할 수 있다.

 

 

위 화면에 해당 테이블명을 넣고 display 버튼을 누르면 아래와 같이 확인이 가능하다.

 

그리고 아래 화면 보면 상단 우측쯤에 인덱스... 가 있는데 DB와 마찬가지로 인덱스를 구성할 수 있다.

 

 

위 화면에서 컬럼 내 Data element 가 있는데 생소할 부분일 것이다. 데이타 유형은 다들 아실꺼지만 Data Element는 뭐냐면

 

정의된 데이타 타입으로 이해하면 된다. 즉, ypernr1은 char 10 으로 정의 된 타입인것이다.

 

이렇게 기존에 정의된 데이타 타입을 사용함으로써 프로그램 개발 시 데이타 타입을 통일해서 사용할 수 있다.

 

그리고 이러한 데이타 타입은 2가지로 분류가 되는데 위와같이 이미 정의된 데이타 타입이 있고

 

domain라는 데이타 타입이 있다. 모 여러 정의들이 있는데 그냥 이정도만 알고 넘어가자

 

 

 

3. 펑션(Function) 모듈 조회 T-code :

 

se37 에 들어가면 펑션모듈을 조회할 수 있다. 펑션모듈이 뭐냐고? 그냥 C나 JAVA 등에 있는 개념과 동일하다

 

SAP의 경우는 외부 3rd 시스템과 I/F(interface) 를 하려면 RFC Function 라는 펑션모듈을 만든다.

 

그리하여 타 시스템에서 해당 펑션을 호출하면서 파라미터 넘겨주면 SAP는 이를 받아서 내부적으로 처리를 하고

 

리턴값을 던진다. 주로 SAP측에서 명세서를 주는데 se37 권한을 달라고 해봐라 -_-;;

 

집적 드가서 해당 펑션으로 테스트도 가능하고 소스도 볼 수 있어서 편하긴 한데.. 권한을 안줄것이다.

 

그냥 한사람이 다 개발하면 참 편한데 왜이렇게 나눠놓은건지.. 암튼 화면은 아래와 같다.

 

 

위와같이 펑션 모듈 입력하고 display 누르면 아래와 같이 소스를 볼 수 있다.

 

아래 상단의 툴바에 여러 아이콘들이 있는데 연필모양은 조회/편집 모드이고

 

리트머스 종이처럼 생겨서 위에 빨간색으로 칠해진 녀석은 활성버튼이다.

 

수정하면 항시 활성(active) 해줘야 한다. 그리고 아래의 소스 위 탭 중 import 와 export가 있는데

 

import 는 매개변수(던진값을 받는 변수) 이고 export는 매개변수로 나온 결과값을 저장하는 변수가 정의되어 있다.

 

요녀석이 테스트 버튼이다.

 

 

 

테스트버튼을 누르면 아래와 같이 나온다. import 매개변수에 값을 넣고 왼쪽 상단의 시계모양 버튼 누르면

 

ET_DATA 에 결과값이 나온다.

 

 

아래는 %홍길%을 검색해보았는데 export 매개변수에 해당 데이타가 없다고 나오는 화면이다.

 

일단 여기까지만 설명하고 시간 되는데로 조금식 추가설명토록 하겠다.