ALV에 나타나는 (-)금액이 현재는 아래 처럼
2,000,000-
라고 나타납니다.
이 부호를 앞으로 보낼 수는 없나요?
어느 분은 String이나 char로 변환해서
alv테이블에 집어 넣으라고 하시는데...
그건 방법이 아닌듯 하구요..
혹시 이것에 관해서 어떻게 하는지
아시는 분 있으면 한수 가르쳐 주십시오~^^
댓글 9
-
아밥어렵네요
2009.06.19 23:11
-
정우아빠
2009.06.19 23:23
CLOI_PUT_SIGN_IN_FRONT 이거 쓰는 방법 말고 또 있는지??? -
kan145
2009.06.19 23:59
CURR필드를 쓰면서, -부호를 앞으로 보낼수는 없구요. 정우아빠님이 쓰신 펑션으로 돌리시고 받는 쪽에
CHAR로 받으세요. 그냥 돌리시면 type define안맞는다고 덤프날꺼예요.
-
쥬앙
2009.06.22 19:33
예시 올려 봅니다.
DATA GV_VALUE(5).
GV_VALUE = '1234-'.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
VALUE = GV_VALUE.
WRITE: GV_VALUE “ ‘-1234’
-
Giant
2009.06.22 21:15
쥬앙님께서 예기한 함수가 맞다고 생각 합니다. 테스트 해 보십시요. -
Will
2009.06.23 20:51
↑↑ 빙고~ -
진
2009.06.24 07:16
ALV에서는 금액 필드의 부호를 앞으로 보내시면 안됩니다. 이것이 SAP에서 표준입니다.
그렇지 않으면 ALV의 중요한 기능인 정렬, (부분)합계 등 일부 기능이 올바르게 작동하지 않습니다.
보기 편하게 바꾸면 나중에 문제가 더 발생할 수 있습니다.
파일로 Download 하거나 외부 시스템으로 전송할 경우만 변환히세요.
참고로 어느 사이트나 ALV에서 (-)금액의 부호는 뒤에 옵니다.
Download시 제가 예전부터 애용하던 구문 중 일부입니다.
DATA: l_amount TYPE c LENGTH 20.
l_amount = 금액.
IF l_amount+19(1) = '-'.
SHIFT l_amount RIGHT DELETING TRAILING space.
SHIFT l_amount RIGHT CIRCULAR.
SHIFT l_amount+1(19) LEFT DELETING LEADING space.
ELSE.
SHIFT l_amount LEFT DELETING LEADING space.
ENDIF.
-
hccpi
2009.06.25 03:35
많은 분들의 답변에 감사드립니다^^
-
간바레
2010.03.30 12:20
sap 표준을 따르는게 맞는 것 같습니다... 표준은 마이너스 부호가 뒤쪽입니다.
현업사람들에게 안된다고 말하는 게 제일 좋습니다~~
string, char 로 변환하는 방법뿐이 없는걸로 알고 있습니다
단순히 보여주는 화면이면 string, char으로 변환해서 -를 앞으로 빼면 되실것 같은데
조회성 화면이 아니면 걍 그대로 쓰시는편이 좋을것 같네요