gt_disp TYPE TABLE OF t_disp.
이렇게 해서 gt_disp 를 지정해 주었어요
이녀석이 가지고 있는 BWRBTR 필드: P타입이고 Lenght:16, Decimals:2 라고 했고, Data type 은 CURR 이고요
실행새서 디버거 걸어보았더니,
Lenght:9, Decimals:2
라고 나오는 겁니다.
자세히 보아더니, t_disp 필드의 BWRBTR 가 가진 INTERNAL FORMAT 이라는 속성에
ABAP type : p
Internal legnth : 9
라고 있는 거네요..
요거 바꿀수는 없나요???
댓글 3
-
1uc1f2r 1s1and
2010.07.29 02:59
t_disp 선언한거 보여주세요. -
woong
2010.07.29 03:05
조금 귀찮지만 해당 프로그램에서만 그 필드 길이를 조정하고 싶다면 인터널 테이블 정의할때 필드를 따로따로 정의 하면서 해당필드의 데이터 타입을 바꾸는 방법도 생각해보시면 좋을거 같아요~
-
태식
2010.07.30 18:45
Packed Number 데이터 타입이란,
Internal Length 1자리(8비트)는 2*2*2*2*2*2*2*2 = 256개의 숫자를 표현 가능한데
그 1자리에 숫자형 데이터 타입이니 0~9까지 10개의 숫자만 넣으면 아깝잖아요
그래서 2*2*2*2 2*2*2*2 두개로 짤라서 각각이 숫자 하나씩을 표현하게
Packed해서 사용하는 데이터 타입입니다.
Packed Number는 Internal Length 1자리당 두자리의 수를 표현할 수 있습니다.
Internal Length가 9자리이고
결과적으로 표현상으론 16자리에 2 Decimals를 표현하는게 맞다고 보시면됩니다.
(16자리중 표현할때 -,+,소수점 자리도 차지 합니다)
제가 가용할 시스템이 없어서 제가 말한 것을 검증을 할 수 없네요..
완전히 믿으시진 마시고요,디버거에서 다르게 나오는 이유는
대중의 컨셉이 위와 같아서 9자리라고 나오는 걸 겁니다.