ABAP

[ABAP] ALV 금액 한국 통화로 표시하기 + 금액 100배 표기 문제 해결

ye11 2024. 5. 5. 17:04

 

ALV에서 기본적으로 금액 (돈) 은

 

이렇게 " 금액.00" 원으로 표기 된다.

우리나라에서는 소수점 단위의 화폐가 없으므로 ! 이를 제거해줘야 한다.

 

1. 통화키 설정하기

일단 테이블에 CURR 타입 필드는 REFERENCE 테이블을 꼭 넣어줘야한다.

이는 설정하지 않으면 테이블 생성시 오류가 나므로 꼭 설정해준다.

 

2. FIELD CATALOG에서 설정하기

테이블에서 REF 테이블만 설정한다고 해서 ALV 출력값이 KRW에 맞게 나오지 않는다.

필드카탈로그에서 한번 더 수정을 해줘야 한다 !

 

 

필드 카탈로그에서 한번 더 연결을 해줘야 한다!

다시 조회해보면

 

.00 은 사라졌지만.. 데이터 금액의 X100 이 되어서 나오는것을 확인할 수 있다. ㅋㅋ 

이때 사용할 수 있는 함수가 

 

BAPI_CURRENCY_CONV_TO_INTERNAL 

입니다..

 

사용방법은 이렇습니다.

DATA: EXTERNAL LIKE BAPICURR-BAPICURR.

CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_INTERNAL'
        EXPORTING
          CURRENCY                   = 'KRW'   "한국 통화로
          AMOUNT_EXTERNAL            = EXTERNAL
          MAX_NUMBER_OF_DIGITS       = 15
       IMPORTING
         AMOUNT_INTERNAL             = EXTERNAL
*         RETURN                     =
                .

 

EXTERNAL 에 넣고 싶은 값을 넣으면 됩니다 ! 

 

[코드 예시]

 

이 함수를 사용하면

 

 

정상적으로 나오는것을 확인할 수 있습니다 ^^ !