DEC 10, 2를 참조하는 인터널 테이블을 만들어서 ALV에 뿌려주고.
이를 다시 ALV에서 값을 받아서 DB에 저장하는 로직을 만들었는데요.
이상하게 ALV에서 500을 집어넣으면 ---> 5.00이 DB에 저장됩니다.
디버깅 해보니까 DATA_CHANGED_FINISHED 메소드를 타자마자 해당 인터널 테이블의 값을 보면 5.00으로 들어가 있습니다.
뭘 잘못했을까요?
보면 프로그램 고정소숫점 연산도 체크 해놨구...
DB에서 바로 입력해보면 500집어넣으면 500.00으로 입력됩니다.
조언 부탁드려요.
댓글 5
-
요요
2009.10.01 19:36
-
꼬꼬마정수기
2009.10.01 21:59
헛~ 자체 해결했습니다~~
필드 카탈로그에 decimal = '2'. 일케 넣어주니 되네요.
조언주신 요요님 감사해요~~ ^-^
-
요요
2009.10.01 22:00
^^ 즐거운 한가위 되세요. -
서연아빠
2009.10.05 18:01
님 그것은 해결책인 아닌것 같군요
꼬꼬마정수기
요요 님을 답변처럼 처리 해야 합니다.
예전에 금액에 100을 곱하여 처리하여 그후 많은 ABAPER에게 조롱의 대상이 되었는지...ㅋㅋ
-
꼬꼬마정수기
2009.10.06 00:35
헛 서연아빠님 그게 아니라요. 지금 여기 입력 필드는 currency 필드가 아니라서요. 그렇게 하면 안되요 ㅎㅎ // 답변 감사합니다.
통화일 경우(Currency)경우에 conversion 을 탈 경우 그렇게 될 수 있습니다.
데이터 선택하실때 통화키도 같이 읽으셔서 참조키로 통화키를 주시면 해결될 거예요.
입력할 때도 물론 같이 적용해주시구요. ^^