SAP ABAP C타입 숫자 KRW 단위로 바꾸기
WRITE : / , LV_Val,
/, LV_Val2,
/, LV_VALUE,
/, LV_VALUE1 ,
CHAR 타입의 변수에 숫자를 넣어서 사용하기도 한다
사용자들의 편의를 위해 한국 원화 단위로 쉼표를 표시해보자.
DATA: LV_VALUE TYPE DMBTR,
LV_VALUE1 TYPE C LENGTH 30,
LV_VALUE1 TYPE C LENGTH 30,
LV_VALUE 2 TYPE C LENGTH 30,
LV_VALUE 3 TYPE C LENGTH 30,
LV_VAL2 TYPE P LENGTH 15 DECIMALS 2,
LV_VAL TYPE C LENGTH 15 VALUE '12345600.55'.
LV_VAL2 = LV_VAL.
LV_VALUE = LV_VAL2.
LV_VALUE = TRUNC( LV_VALUE ).
WRITE LV_VALUE TO LV_VALUE1.
LV_VAL TYPE C LENGTH 15 VALUE '12345600.55'.
LV_VAL2 = LV_VAL.
LV_VALUE = LV_VAL2.
LV_VALUE = TRUNC( LV_VALUE ).
WRITE LV_VALUE TO LV_VALUE1.
SHIFT LV_VALUE1 RIGHT DELETING TRAILING '0 '.
LV_VALUE2 = LV_VALUE1.
SHIFT LV_VALUE2 LEFT DELETING LEADING SPACE.
LV_VALUE3 = LV_VALUE2.
REPLACE ALL OCCURRENCES OF '.' IN LV_VALUE3 WITH 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 = TRUNC( LV_VALUE ).
는 소수점 이후 값을 버리는 함수이다.
LV_VALUE변수의 타입에 맞춰 소수점 이후 값을 버린 정수만의 값을 반환한다.
SHIFT LV_VALUE1 RIGHT DELETING TRAILING '0 '.
해당 구문은 Lv_Value의 ' . ' 이후의 0을 제거한다.
shift A right deleting trauling B
A의 값에서 오른쪽부터 B와 같은 값이면 삭제 한다. B와 다른 값이 나올때까지
SHIFT LV_VALUE2 LEFT DELETING LEADING SPACE.
해당 구문은 왼쪽의 space를 제거해준다.
REPLACE ALL OCCURRENCES OF '.' IN LV_VALUE3 WITH SPACE.
lv_value3의 값에서 '.'을 space로 모두 바꿔준다.
REPLACE ALL OCCURRENCES OF A IN LV_VALUE3 WITH B.
A를 B로 바꿔준다.
Tags:
SAP ABAP