SAP 와 타 시스템 간 인터페이스를 위해 alpha conversion 함수를 사용하는 일이 많은데
NEW ABAP 구문을 사용하면 좀 더 간결하게 코드를 작성할 수 있다.
SAP Help 내 SAP Documentation "ALPHA Conversion Routine"
https://help.sap.com/doc/saphelp_nw74/7.4.16/en-US/4a/547e956a8a1cd4e10000000a421937/frameset.htm
Example Input and output fields are each 8 characters long. A conversion from the external to the internal format takes place: External -> Internal Format '1234 ' → '00001234' 'ABCD ' → 'ABCD ' |
https://help.sap.com/doc/saphelp_nw74/7.4.16/en-US/4a/547e956a8a1cd4e10000000a421937/frameset.htm
help.sap.com
DATA : lv_0001 TYPE CHAR4 VALUE '0001'.
DATA : lv_1 TYPE CHAR4 VALUE '0'.
*------------------------------------------
*[OLD] CONVERSION EXIT ALPHA OUTPUT/INPUT
*------------------------------------------
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INTPUT = lv_0001 "0001"
IMPORTING
OUTPUT = lv_1. "1"
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INTPUT = lv_1 "1"
IMPORTING
OUTPUT = lv_0001. "0001"
*------------------------------------------
*[NEW] CONVERSION EXIT ALPHA OUTPUT/INPUT
*------------------------------------------
lv_1 = |{ lv_0001 ALPHA = OUT }|. "lv_1 = 0001"
lv_0001 = |{ lv_1 ALPHA = IN}|. "lv_0001 = 1"
코드가 더 간결하고 좀 더 명확해서 유지보수가 용이해진다는 장점이 있다.
다만 전제조건으로 SAP ABAP 7.40 버전 SP05 이상부터 사용이 가능하다는 점이 있다.
그 이전 버전 SAP 개발환경인 경우에는, 사용이 불가능하다.
처음 이 전제조건을 봤을 때는 ABAP도 버전이 있는건가 싶었고, Netweaver 버전을 의미하는 건가 싶기도 했다.
구글링 해보니 SAP_BASIS 컴포넌트의 버전을 확인하면 된다는 내용도 있었다..
SAP ABAP 언어의 사용버전을 확인하는 직접적인 방법은 찾지 못했고,
다만 alpha conversion 처럼, 특정 버전이상에서 사용이 가능한 코드를 작성하고 컴파일을 했을 때 오류가 없고 정상적으로 실행이 된다고 하면 해당 버전 이상을 사용하고 있는 것으로 추론해볼 수는 있다.
'SAP > ABAP' 카테고리의 다른 글
SAP ABAP : 사용자 계정 잠금/잠금해제, 패스워드 초기화 function (2) | 2024.02.11 |
---|