SAP ABAP 소수점 제거 및 원화 단위 환산 (, 쉼표찍기)

SAP ABAP  C타입 숫자 KRW 단위로 바꾸기



CHAR 타입의 변수에 숫자를 넣어서 사용하기도 한다 
사용자들의 편의를 위해 한국 원화 단위로 쉼표를 표시해보자.





DATALV_VALUE TYPE DMBTR,
        LV_
VALUE1    TYPE LENGTH 30,
        LV_VALUE 2   TYPE LENGTH 30,
        LV_VALUE 3   TYPE LENGTH 30,
        LV_VAL2   TYPE P LENGTH 15 DECIMALS 2,
        LV_VAL    TYPE LENGTH 15  VALUE '12345600.55'.

LV_VAL2 LV_VAL.
LV_VALUE LV_VAL2.
LV_VALUE TRUNCLV_VALUE ).

WRITE LV_VALUE TO LV_
VALUE1.
SHIFT LV_VALUE1 RIGHT DELETING TRAILING '0 '.
LV_VALUELV_VALUE1.
SHIFT LV_VALUELEFT DELETING LEADING  SPACE.
LV_VALUELV_VALUE2.
REPLACE ALL OCCURRENCES OF '.' IN LV_VALUEWITH SPACE.


WRITE LV_Val,
        /,  LV_Val2,
        /LV_VALUE,
        /LV_
VALUE1 ,
        /LV_VALUE2,
        /LV_VALUE3.




LV_Val에 표시할 숫자를 입력넣어준다.

LV_VAL2 LV_VAL.
WRITE LV_VALUE TO LV_VALUE1.
두 구문은 같은 역할을 한다.


LV_VAL2 LV_VAL.
lv_val2는 P타입이므로 ',' 가 있는 숫자 타입으로 값을 반환한다.


write A to B 구문은
A를 B 타입으로 변환하면서 값을 넣어준다.
B는 char 타입이여야한다.





LV_VALUE TRUNCLV_VALUE ).
는 소수점 이후 값을 버리는 함수이다.
LV_VALUE변수의 타입에 맞춰 소수점 이후 값을 버린 정수만의 값을 반환한다.



SHIFT LV_VALUE1 RIGHT DELETING TRAILING '0 '.
 해당 구문은 Lv_Value의 ' . ' 이후의 0을 제거한다.  

shift A right deleting trauling B
A의 값에서 오른쪽부터 B와 같은 값이면 삭제 한다. B와 다른 값이 나올때까지


SHIFT LV_VALUELEFT DELETING LEADING  SPACE.
해당 구문은 왼쪽의 space를 제거해준다.



REPLACE ALL OCCURRENCES OF '.' IN LV_VALUEWITH SPACE.
lv_value3의 값에서 '.'을 space로 모두 바꿔준다.

REPLACE ALL OCCURRENCES OF A IN LV_VALUEWITH B.
A를 B로 바꿔준다.








다음 이전