[SAP] ABAP 개발자와 컨설턴트
본문 바로가기
IT/SAP S4 HANA

[SAP] ABAP 개발자와 컨설턴트

by DHan- 2020. 4. 21.
728x90

 

 

개발자 영역


개발자 영역은 데이터베이스(DB)의 TABLE을 활용하여 

기업환경에 필요한 인터페이스를 만드는 작업이라고 볼 수 있다. ( ABAP은 COBOL에서 파생된 언어이다 )

ERP의 개발과정은 일반적으로 2~3중으로 구성된 복수의 서버로 구성하여 진행된다. 

( 1단계: 개발(DEV) -> 2단계: 테스트(QA) -> 3단계: 상용화(PRD) CTS)

프로그램의 개발은 커맨드창(T-CODE: SE80)입력을 통해 접속가능하며 T-CODE: SE38로도 생성 가능하다.

ABAP언어를 통한 개발과정은 실행화면(데이터선언) -> 데이터 조회 -> 데이터가공 -> 출력의 형태로 구성된다.



1. 데이터선언은 일반적으로 DATA등을 통하여 데이터 공간을 확보하고 데이터 가공을 위한 준비를 한다. 

INTERNAL TABLE을 작업하기 위해서는 HEADER LINE  혹은 WORK AREA이 작성되어야하는데 

BEGIN OF구문을 사용하면 HEADER LINE이 자동으로 생성되기 때문에 따로 지정할 필요없이 

OCCURS 0.을 입력하여 INTERNAL TABLE으로 선언 한다.



2. 데이터의 가공과 조회를 위해 실행화면을 설정해야하며 이때 사용하는 구문은 

(PARAMETERS, SELECT-OPTIONS )를 상황에 따라 사용한다.   

PARAMETERS는 단일의 입력상자를 생성하며 SELECT-OPTIONS은 2개의 입력상자를 생성하여 범위값 설정이 가능하다.

3. 데이터 조회는 DB의 데이터를 가져와야한다. 이 과정을 SQL이라고 하며 일반적으로 SELECT구문을 사용 작업한다.

SELECT ( 가져올 필드명 ) INTO ( 받아올 변수 ) FROM ( 가져올 테이블 ) WHERE ( 조건문 )
 
데이터 조회에서 테이블을 합쳐야하면 INNER JOIN 구문을 사용, 변수명의 값이 동일한 변수명으로 옯길 때는

CORRESPONDING FIELDS OF TABLE의 구문을 사용하며 데이터 조회 간에도 작업에 따라 다양한 구문이 사용된다. 

( 여러 라인을 조회할 때 SELECT 결과가 내부테이블에 저장되며 이것을 인터널 테이블이라한다. 

인터널테이블은 ABAP 메모리에 생성되는 데이터를 저장할 수 있는 가상의 테이블이다. )



4. 데이터 가공은 반복문(LOOP, DO, ~), 제어문(IF, CASE, ~)등의 구문을 통해 유저가 원하는 환경으로

 데이터를 가공(프로그래밍)한다



5. 출력은 WRITE문(ULINE, ~)을 활용하여 보여주거나, 모듈풀등을 통해 출력한다.

 

컨설턴트 영역 


컨설런트 영역은 데이터베이스(DB)의 구성을 의미한다. 


데이터베이스(DB)는 SAP솔루션 자체적으로 작성된 정적데이터(수정X)인 마스터데이터(스텐다드)와

유저에 의해 작성된 유동적데이터인 트랜젝션데이터(CBO)로 구분된다. 

마스터데이터는 기본제공환경으로 보면 되며, 트랜젝션데이터는 기업환경(수출입등)이 필요로 하는 

시스템 환경에 따라 작성되는 데이터를 말한다. (개발자 환경)  

데이터베이스(DB)의 최종적인 형태는 TABLE라고 말할 수 있으며, 

TABLE을 작성하는 단계(과정)를 ABAP DICTIONARY라고 말한다.


ABAP DICTIONARY는 쉽게 말해 DB의 생성과 조회 수정을 하는 공간이며 

ABAP DICTIONARY는 커멘드창(T-CODE: SE11)입력을 통해 접속 할 수 있다.

TABLE은 필드(항목) 레코드(항목별내용)으로 구성되며 일반적으로 

DOMAIN -> DATA ELEMENT -> TABLE의 단계로 작성된다. 


TABLE는 데이터가 중복되지 않도록 구분하는 구분값인 프라이머리 키(KEY)가 반드시 존재해야한다. 

(키는 하나가 아닌 다수로 구성 될 수 있다.)


1. DOMAIN은 데이터 값의 속성 및 범위지정과 데이터의 성격(타입, 길이, 소숫자리, 내역)등을 지정하는 것을 의미한다. 
(EX- 배송수령에 관한 테이블을 생성할 때 [1.예 2.아니오]를 담당하는 A라는 DOMAIN을 생성한다면, 
거래가 발생할 때마다 배송수령 여부를 표시하는 DOMAIN을 생성하지 않아도 이미 생성된 A라는 DOMAIN을 활용하여 TABLE을 작성할 수 있다.) 


2. DOMAIN을 활용하여 DATA ELEMENT를 작성하고 TABLE을 생성하였을 때, 데이터에 관한 수정요소가 발생한다면 해당 DOMAIN만 수정하여도 이를 활용하여 작성된 
다수의 DATA ELEMENT를 일일이 찾아가 수정하지 않아도 같은 DOMAIN을 사용한 TABLE은 자동적으로 수정이 된다.

경우에 따라 DOMAIN과 DATA ELEMENT 없이 TABLE을 작성하기도 하며, 이 경우 일부기능이 제한된다. 
1. DOMAIN없이 DATA ELEMENT만으로 TABLE을 작성한 경우 -> 벨류에 대한 제한 및 통제 불가능 (벨류?)
2. DATA ELEMENT없이 TABLE를 작성한 경우 -> 필드를 생성할 때 마다 데이터성격을 입력해야한다.(한번만 생성해도 되는 테이블의 경우 ELEMENT 작성X)

Currency/ Quantity Fields TABLE의 생성시 통화단위와 수량단위에 관한 필드를 생성하는 경우는 

반드시 참조테이블과 참조필드가 생성되어야한다. ( 글로벌한 통화단위, 수량단위 )


1. (항목: Dtype)에서 QUAN(자재수량)은 UNIT, MEINS(단위)를 통해 확인이 가능하다. (수량)
2. (항목: Dtype)에서 CURR(통화수량)은 CUKY, WAERS(단위)를 통해 확인이 가능하다. (통화)

 

728x90

'IT > SAP S4 HANA' 카테고리의 다른 글

[SAP] ABAP - Message Type  (0) 2020.04.21
[SAP] ABAP - System Field  (0) 2020.04.21
[SAP] SAP GUI 단축키 및 트랜잭션  (1) 2020.04.21
[SAP] ABAP GRID ALV  (0) 2020.01.10
[SAP] ABAP Development Tip 03  (0) 2019.11.25

댓글