다른 프로그래밍 언어에는 없는 ABAP에서 존재하는 몇가지 컨셉에 대해 간단히 알아보도록 하겠다.


  Transaction Code ( T-Code )  

일반 Application 프로그램이 *.EXE 형태의 실행 파일이 있듯이 SAP 환경 내에서

개발된 ABAP 프로그램들은 Transaction Code라는 실행 코드가 존재한다.

T-Code도 별도의 개발 Object로 생성 시 호출할 프로그램을 부여하면 된다.  

 

SAP GUI의 Command Field 입력란에 T-Code를 입력하여 ABP 프로그램이 실행된다.

 

< SAP GUI의 Command Field에 T-code 'VA01' ( 판매오더 생성 프로그램) 를 입력한 화면 >


  Naming Rule  

표준 프로그램이 아닌 별도 개발 되어지는 Object에 대해서는

'Z' 또는 'Y'를 앞에 붙여야 하는 Naming Rule이 존재한다.

이것은 권장사항이 아닌 필수사항이다. 이렇게 되면 개발된 Object의 이름만 봐도 스탠다드인지 CBO인지

쉽게 판별할 수 있다. 

( * CBO : Customer Bolt On 의 약자로 SAP 사에서 제공하는 표준 프로그램으로 구현이 불가할 때 별도로 개발되어지는 개발 오브젝트를 통틀어서 말한다.  ) 


  Search Help / Possible Entry  

SAP 화면에서 보이는 대부분의 입력 필드에는 입력을 도와주는 Search Help / Possible Entry 라 불리는

팝업창 기능을 제공한다. 입력 가능한 값을 검색 또는 리스트 형태로 보여주는 팝업창을 말한다.

< Order Type 입력필드 우측에 표시된 네모박스 형태의 팝업 버튼 >

 

화면과 같이 해당 입력 필드에 Search Help가 연결되어 있다면 네모박스가 보인다.

네모 박스를 클릭하거나 또는 단축키 F4 를 누르면 해당 값의 관련 팝업창이 뜬다.

 

< Possible Entry 팝업창 >

 

버튼 클릭시 다음과 같이 입력가능한 오더타입 리스트를 볼 수 있다. 

Search Help 구현 방법은 다양한 방법이 존재하므로 별도로 포스팅 해보도록 하겠다.


  Enhancement / Modification  

SAP R/3에 제공하는 표준 프로그램은 기본적으로 수정( Modification )을 금하고 있다. 

만약 변경이 불가피하다면 access key라는 것을 별도로 받아 수정이 가능하지만

그로 인한 SAP 오류는 SAP에 지원이 불가하며 향후 SAP upgrade시에도 반영되지 않는다.

 

SAP는 이런 점을 보완하고자 Enhancement라는 확장 루틴을 별도로 만들어 놓았다.

즉, 각 표준 프로그램들은 프로세스 구간 별로 확장 공간을 사전에 만들어 놓고 

필요시 할당된 확장 공간에 필요한 로직을 반영하면 된다.

 

Enhancement를 잘 활용하면 신규로 개발해야 하는 CBO를 최소화 할 수 있다. 

물론 잘못된 확장 루틴에 로직을 넣을 경우 오류가 날 수 있으므로

표준 프로그램에 대해 완벽히 숙지한 후에 개발을 진행을 해야 한다. 

Enhancement 방법으로는 Customer EXIT, BADI ,BTE, Validation 등 다양한 방법이 존재하며 

실무에서는 흔히 'EXIT' 이라고도 많이 부른다. 


  Currency / Unit   

SAP는 수량과 금액에 대한 데이터는 단위와 통화를 항상 Reference하게 되어 있다.

Reference 되는 값에 따라 화면에 표기되는 값과 데이테 베이스에 들어가는 값이 서로 다를 수 있다.

 

금액과 통화를 예를 들어보면,

통화 KRW (원화)  USD (달러)
실제 데이터 (화면에 입력값 ) 100  100 
데이터 베이스 저장되는 값 1.00 100.00

표와 같이 화면에 입력된 실제 금액이 저장되는 것이 아니라

통화에 따라 저장되는 값이 다르다.

따라서 항상 금액 필드는 통화필드를 참조하고 있어야 하며 미지정시

금액이 더 크거나 작게 보이는 오류를 범할 수 있다. 


  Conversion Exit  

앞에서 언급한 금액과 수량을 제외하고 실제 입력 값과 데이터 저장 값이

서로 다르게 저장되는 경우가 또 한가지 있다. 

Conversion Exit 에 의해 값이 자동 변환되어 지는 경우인데, 

Conversion Exit 은 항상 output과 Input 형태로 쌍을 이루고 있으며,

일반적으로 화면에 보여질 때 output. 저장시에는 Input 형태로 변환되어 진다.

 

다음은 'ISOLA' Conversion 예시 화면으로 언어키에 대한 conversion 이며

대표적인 언어키 필드인 'SPRAS' 속성에 기본으로 적용되어져 있다. 

 

< INPUT conversion 'KO' 입력시 '3' 으로 변환 >
< OUTPUT Conversion '3' 입력시 'KO' 로 변환 >

 

SAP GUI 로그인 화면에 로그인 언어 입력필드도 'SPRAS' 속성을 가진 언어키 필드로써

'KO' 로 입력하면 내부적으로는 '3'으로 변환됨을 유추해 볼 수 있다.  

 

Conversion Exit은 해당 프로그램에서 수동 변환할 수도 있고 화면 필드의 Domain 속성에

따라 자동 변환되어 질 수도 있다. 

( * Domain : ABAP Dictionary 에서 관리되는 Object로 필드의 기술적 속성을 부여한다.  ) 

+ Recent posts